build version 4.1.4
diff --git a/History.md b/History.md
index db06ebe..cfe84ce 100644
--- a/History.md
+++ b/History.md
@@ -1,3 +1,6 @@
+## V 4.1.4
+- last hold keyframe fix
+
 ## V 4.1.3
 - Unary expressions
 - svg compositions opacity fix
diff --git a/README.md b/README.md
index ef24695..203f813 100644
--- a/README.md
+++ b/README.md
@@ -1,20 +1,15 @@
 # bodymovin
 After Effects plugin for exporting animations to svg/canvas/html + js
 
+## V 4.1.4
+- last hold keyframe fix
+
 ## V 4.1.3
 - Unary expressions
 - svg compositions opacity fix
 - data-bm-renderer tag fix
 - evaluating expression slider values before returning
 
-## V 4.1.1
-- UMD fix
-
-## V 4.1.0
-- UMD compatible
-- more expressions
-- improved bezier interpolation
-- fixes
 
 ## Installing extension: Finally the plugin is on the Adobe add-ons.
 **Get it directly from the store!**
diff --git a/build/player/bodymovin.js b/build/player/bodymovin.js
index 09d6fc2..86c7a4b 100644
--- a/build/player/bodymovin.js
+++ b/build/player/bodymovin.js
@@ -5,4 +5,4 @@
 else if(2==this.data.td){var t=document.createElementNS(svgNS,"mask");t.setAttribute("id",this.layerId),t.setAttribute("mask-type","alpha");var e=document.createElementNS(svgNS,"g");t.appendChild(e),this.layerElement=document.createElementNS(svgNS,"g");var s=document.createElementNS(svgNS,"filter"),i=randomString(10);s.setAttribute("id",i),s.setAttribute("filterUnits","objectBoundingBox"),s.setAttribute("x","0%"),s.setAttribute("y","0%"),s.setAttribute("width","100%"),s.setAttribute("height","100%");var a=document.createElementNS(svgNS,"feComponentTransfer");a.setAttribute("in","SourceGraphic"),s.appendChild(a);var r=document.createElementNS(svgNS,"feFuncA");r.setAttribute("type","table"),r.setAttribute("tableValues","1.0 0.0"),a.appendChild(r),this.globalData.defs.appendChild(s);var n=document.createElementNS(svgNS,"rect");n.setAttribute("width","100%"),n.setAttribute("height","100%"),n.setAttribute("x","0"),n.setAttribute("y","0"),n.setAttribute("fill","#ffffff"),n.setAttribute("opacity","0"),e.setAttribute("filter","url(#"+i+")"),e.appendChild(n),e.appendChild(this.layerElement),this.globalData.defs.appendChild(t)}else{this.layerElement=document.createElementNS(svgNS,"g");var o=document.createElementNS(svgNS,"mask");o.setAttribute("id",this.layerId),o.setAttribute("mask-type","alpha"),o.appendChild(this.layerElement),this.globalData.defs.appendChild(o)}this.data.hasMask&&(this.maskedElement=this.layerElement)}else this.data.hasMask?(this.layerElement=document.createElementNS(svgNS,"g"),this.data.tt?(this.matteElement=document.createElementNS(svgNS,"g"),this.matteElement.appendChild(this.layerElement),this.appendNodeToParent(this.matteElement)):this.appendNodeToParent(this.layerElement),this.maskedElement=this.layerElement):this.data.tt?(this.matteElement=document.createElementNS(svgNS,"g"),this.matteElement.setAttribute("id",this.layerId),this.appendNodeToParent(this.matteElement),this.layerElement=this.matteElement):this.layerElement=this.parentContainer;!this.data.ln||4!==this.data.ty&&0!==this.data.ty||(this.layerElement===this.parentContainer&&(this.layerElement=document.createElementNS(svgNS,"g"),this.appendNodeToParent(this.layerElement)),this.layerElement.setAttribute("id",this.data.ln)),0!==this.data.ty||!this.finalTransform.op.k&&1===this.finalTransform.op.p||this.layerElement!==this.parentContainer||(this.layerElement=document.createElementNS(svgNS,"g"),this.appendNodeToParent(this.layerElement)),this.layerElement!==this.parentContainer&&(this.placeholder=null)},SVGBaseElement.prototype.renderFrame=function(t){if(3===this.data.ty)return!1;if(this.currentFrameNum===this.lastNum||!this.isVisible)return this.isVisible;this.lastNum=this.currentFrameNum,this.data.hasMask&&this.maskManager.renderFrame(),this.finalTransform.opMdf=this.finalTransform.op.mdf,this.finalTransform.matMdf=this.finalTransform.mProp.mdf,this.finalTransform.opacity=this.finalTransform.op.v,this.firstFrame&&(this.finalTransform.opMdf=!0,this.finalTransform.matMdf=!0);var e,s=this.finalTransform.mat;if(this.hierarchy){var i,a=this.hierarchy.length;for(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e),i=0;a>i;i+=1)this.finalTransform.matMdf=this.hierarchy[i].finalTransform.mProp.mdf?!0:this.finalTransform.matMdf,e=this.hierarchy[i].finalTransform.mProp.v.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}else this.isVisible&&(t?(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e)):s.cloneFromProps(this.finalTransform.mProp.v.props));return t&&(e=t.mat.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]),this.finalTransform.opacity*=t.opacity,this.finalTransform.opMdf=t.opMdf?!0:this.finalTransform.opMdf,this.finalTransform.matMdf=t.matMdf?!0:this.finalTransform.matMdf),this.data.hasMask?(this.finalTransform.matMdf&&this.layerElement.setAttribute("transform",s.to2dCSS()),this.finalTransform.opMdf&&this.layerElement.setAttribute("opacity",this.finalTransform.opacity)):0===this.data.ty&&this.finalTransform.opMdf&&(this.finalTransform.op.k||1!==this.finalTransform.op.p)&&(this.layerElement.setAttribute("opacity",this.finalTransform.opacity),this.finalTransform.opacity=1),this.isVisible},SVGBaseElement.prototype.destroy=function(){this.layerElement=null,this.parentContainer=null,this.matteElement&&(this.matteElement=null),this.maskManager&&this.maskManager.destroy()},SVGBaseElement.prototype.getDomElement=function(){return this.layerElement},SVGBaseElement.prototype.addMasks=function(t){this.maskManager=new MaskElement(t,this,this.globalData)},SVGBaseElement.prototype.setMatte=function(t){this.matteElement&&this.matteElement.setAttribute("mask","url(#"+t+")")},SVGBaseElement.prototype.hide=function(){},ITextElement.prototype.init=function(){this.parent.init.call(this),this.lettersChangedFlag=!1;var t=this.data;this.renderedLetters=Array.apply(null,{length:t.t.d.l.length}),this.viewData={m:{a:PropertyFactory.getProp(this,t.t.m.a,1,0,this.dynamicProperties)}};var e=this.data.t;if(e.a.length){this.viewData.a=Array.apply(null,{length:e.a.length});var s,i,a,r=e.a.length;for(s=0;r>s;s+=1)a=e.a[s],i={a:{},s:{}},"r"in a.a&&(i.a.r=PropertyFactory.getProp(this,a.a.r,0,degToRads,this.dynamicProperties)),"rx"in a.a&&(i.a.rx=PropertyFactory.getProp(this,a.a.rx,0,degToRads,this.dynamicProperties)),"ry"in a.a&&(i.a.ry=PropertyFactory.getProp(this,a.a.ry,0,degToRads,this.dynamicProperties)),"sk"in a.a&&(i.a.sk=PropertyFactory.getProp(this,a.a.sk,0,degToRads,this.dynamicProperties)),"sa"in a.a&&(i.a.sa=PropertyFactory.getProp(this,a.a.sa,0,degToRads,this.dynamicProperties)),"s"in a.a&&(i.a.s=PropertyFactory.getProp(this,a.a.s,1,.01,this.dynamicProperties)),"a"in a.a&&(i.a.a=PropertyFactory.getProp(this,a.a.a,1,0,this.dynamicProperties)),"o"in a.a&&(i.a.o=PropertyFactory.getProp(this,a.a.o,0,.01,this.dynamicProperties)),"p"in a.a&&(i.a.p=PropertyFactory.getProp(this,a.a.p,1,0,this.dynamicProperties)),"sw"in a.a&&(i.a.sw=PropertyFactory.getProp(this,a.a.sw,0,0,this.dynamicProperties)),"sc"in a.a&&(i.a.sc=PropertyFactory.getProp(this,a.a.sc,1,0,this.dynamicProperties)),"fc"in a.a&&(i.a.fc=PropertyFactory.getProp(this,a.a.fc,1,0,this.dynamicProperties)),"fh"in a.a&&(i.a.fh=PropertyFactory.getProp(this,a.a.fh,0,0,this.dynamicProperties)),"fs"in a.a&&(i.a.fs=PropertyFactory.getProp(this,a.a.fs,0,.01,this.dynamicProperties)),"fb"in a.a&&(i.a.fb=PropertyFactory.getProp(this,a.a.fb,0,.01,this.dynamicProperties)),"t"in a.a&&(i.a.t=PropertyFactory.getProp(this,a.a.t,0,0,this.dynamicProperties)),i.s=PropertyFactory.getTextSelectorProp(this,a.s,this.dynamicProperties),i.s.t=a.s.t,this.viewData.a[s]=i}else this.viewData.a=[];e.p&&"m"in e.p?(this.viewData.p={f:PropertyFactory.getProp(this,e.p.f,0,0,this.dynamicProperties),l:PropertyFactory.getProp(this,e.p.l,0,0,this.dynamicProperties),r:e.p.r,m:this.maskManager.getMaskProperty(e.p.m)},this.maskPath=!0):this.maskPath=!1},ITextElement.prototype.createPathShape=function(t,e){var s,i,a,r,n=e.length,o="";for(s=0;n>s;s+=1){for(a=e[s].ks.k.i.length,r=e[s].ks.k,i=1;a>i;i+=1)1==i&&(o+=" M"+t.applyToPointStringified(r.v[0][0],r.v[0][1])),o+=" C"+t.applyToPointStringified(r.o[i-1][0],r.o[i-1][1])+" "+t.applyToPointStringified(r.i[i][0],r.i[i][1])+" "+t.applyToPointStringified(r.v[i][0],r.v[i][1]);o+=" C"+t.applyToPointStringified(r.o[i-1][0],r.o[i-1][1])+" "+t.applyToPointStringified(r.i[0][0],r.i[0][1])+" "+t.applyToPointStringified(r.v[0][0],r.v[0][1]),o+="z"}return o},ITextElement.prototype.getMeasures=function(){var t,e,s,i,a=this.mHelper,r=this.renderType,n=this.data,o=n.t.d,h=o.l;if(this.maskPath){var l=this.viewData.p.m;if(!this.viewData.p.n||this.viewData.p.mdf){var p=l.v;this.viewData.p.r&&(p=reversePath(p,l.closed));var m={tLength:0,segments:[]};i=p.v.length-1;var f,d=0;for(s=0;i>s;s+=1)f={s:p.v[s],e:p.v[s+1],to:[p.o[s][0]-p.v[s][0],p.o[s][1]-p.v[s][1]],ti:[p.i[s+1][0]-p.v[s+1][0],p.i[s+1][1]-p.v[s+1][1]]},bez.buildBezierData(f),m.tLength+=f.bezierData.segmentLength,m.segments.push(f),d+=f.bezierData.segmentLength;s=i,l.closed&&(f={s:p.v[s],e:p.v[0],to:[p.o[s][0]-p.v[s][0],p.o[s][1]-p.v[s][1]],ti:[p.i[0][0]-p.v[0][0],p.i[0][1]-p.v[0][1]]},bez.buildBezierData(f),m.tLength+=f.bezierData.segmentLength,m.segments.push(f),d+=f.bezierData.segmentLength),this.viewData.p.pi=m}var c,u,y,m=this.viewData.p.pi,v=this.viewData.p.f.v,g=0,b=1,E=0,P=!0,k=m.segments;if(0>v&&l.closed)for(m.tLength<Math.abs(v)&&(v=-Math.abs(v)%m.tLength),g=k.length-1,y=k[g].bezierData.points,b=y.length-1;0>v;)v+=y[b].partialLength,b-=1,0>b&&(g-=1,y=k[g].bezierData.points,b=y.length-1);y=k[g].bezierData.points,u=y[b-1],c=y[b];var S,C,x=c.partialLength}i=h.length,t=0,e=0;var w,D,T,M,I,F=1.2*n.t.d.s*.714,A=!0,V=this.viewData,N=Array.apply(null,{length:i});this.lettersChangedFlag=!1,M=V.a.length;var L,B,_,H,R,z,O,j,G,W,X,q,Y,Z,J,U,K=-1,Q=v,$=g,tt=b,et=-1,st=0;for(s=0;i>s;s+=1)if(a.reset(),z=1,h[s].n)t=0,e+=o.yOffset,e+=A?1:0,v=Q,A=!1,st=0,this.maskPath&&(g=$,b=tt,y=k[g].bezierData.points,u=y[b-1],c=y[b],x=c.partialLength,E=0),N[s]=this.emptyProp;else{if(this.maskPath){if(et!==h[s].line){switch(o.j){case 1:v+=d-o.lineWidths[h[s].line];break;case 2:v+=(d-o.lineWidths[h[s].line])/2}et=h[s].line}K!==h[s].ind&&(h[K]&&(v+=h[K].extra),v+=h[s].an/2,K=h[s].ind),v+=V.m.a.v[0]*h[s].an/200;var it=0;for(T=0;M>T;T+=1)w=V.a[T].a,"p"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),it+=B.length?w.p.v[0]*B[0]:w.p.v[0]*B);for(P=!0;P;)E+x>=v+it||!y?(S=(v+it-E)/c.partialLength,H=u.point[0]+(c.point[0]-u.point[0])*S,R=u.point[1]+(c.point[1]-u.point[1])*S,a.translate(0,-(V.m.a.v[1]*F/100)+e),P=!1):y&&(E+=c.partialLength,b+=1,b>=y.length&&(b=0,g+=1,k[g]?y=k[g].bezierData.points:l.closed?(b=0,g=0,y=k[g].bezierData.points):(E-=c.partialLength,y=null)),y&&(u=c,c=y[b],x=c.partialLength));_=h[s].an/2-h[s].add,a.translate(-_,0,0)}else _=h[s].an/2-h[s].add,a.translate(-_,0,0),a.translate(-V.m.a.v[0]*h[s].an/200,-V.m.a.v[1]*F/100,0);for(st+=h[s].l/2,T=0;M>T;T+=1)w=V.a[T].a,"t"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),this.maskPath?v+=B.length?w.t*B[0]:w.t*B:t+=B.length?w.t.v*B[0]:w.t.v*B);for(st+=h[s].l/2,o.strokeWidthAnim&&(j=n.t.d.sw||0),o.strokeColorAnim&&(O=n.t.d.sc?[n.t.d.sc[0],n.t.d.sc[1],n.t.d.sc[2]]:[0,0,0]),o.fillColorAnim&&(G=[n.t.d.fc[0],n.t.d.fc[1],n.t.d.fc[2]]),T=0;M>T;T+=1)w=V.a[T].a,"a"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),B.length?a.translate(-w.a.v[0]*B[0],-w.a.v[1]*B[1],w.a.v[2]*B[2]):a.translate(-w.a.v[0]*B,-w.a.v[1]*B,w.a.v[2]*B));for(T=0;M>T;T+=1)w=V.a[T].a,"s"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),B.length?a.scale(1+(w.s.v[0]-1)*B[0],1+(w.s.v[1]-1)*B[1],1):a.scale(1+(w.s.v[0]-1)*B,1+(w.s.v[1]-1)*B,1));for(T=0;M>T;T+=1){if(w=V.a[T].a,D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),"sk"in w&&(B.length?a.skewFromAxis(-w.sk.v*B[0],w.sa.v*B[1]):a.skewFromAxis(-w.sk.v*B,w.sa.v*B)),"r"in w&&a.rotateZ(B.length?-w.r.v*B[2]:-w.r.v*B),"ry"in w&&a.rotateY(B.length?w.ry.v*B[1]:w.ry.v*B),"rx"in w&&a.rotateX(B.length?w.rx.v*B[0]:w.rx.v*B),"o"in w&&(z+=B.length?(w.o.v*B[0]-z)*B[0]:(w.o.v*B-z)*B),o.strokeWidthAnim&&"sw"in w&&(j+=B.length?w.sw.v*B[0]:w.sw.v*B),o.strokeColorAnim&&"sc"in w)for(W=0;3>W;W+=1)O[W]=Math.round(B.length?O[W]+(w.sc.v[W]-O[W])*B[0]:O[W]+(w.sc.v[W]-O[W])*B);if(o.fillColorAnim){if("fc"in w)for(W=0;3>W;W+=1)G[W]=Math.round(B.length?G[W]+(w.fc.v[W]-G[W])*B[0]:G[W]+(w.fc.v[W]-G[W])*B);"fh"in w&&(G=B.length?addHueToRGB(G,w.fh.v*B[0]):addHueToRGB(G,w.fh.v*B)),"fs"in w&&(G=B.length?addSaturationToRGB(G,w.fs.v*B[0]):addSaturationToRGB(G,w.fs.v*B)),"fb"in w&&(G=B.length?addBrightnessToRGB(G,w.fb.v*B[0]):addBrightnessToRGB(G,w.fb.v*B))}}for(T=0;M>T;T+=1)w=V.a[T].a,"p"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),this.maskPath?B.length?a.translate(0,w.p.v[1]*B[0],-w.p.v[2]*B[1]):a.translate(0,w.p.v[1]*B,-w.p.v[2]*B):B.length?a.translate(w.p.v[0]*B[0],w.p.v[1]*B[1],-w.p.v[2]*B[2]):a.translate(w.p.v[0]*B,w.p.v[1]*B,-w.p.v[2]*B));if(o.strokeWidthAnim&&(X=0>j?0:j),o.strokeColorAnim&&(q="rgb("+O[0]+","+O[1]+","+O[2]+")"),o.fillColorAnim&&(Y="rgb("+G[0]+","+G[1]+","+G[2]+")"),this.maskPath){if(n.t.p.p){C=(c.point[1]-u.point[1])/(c.point[0]-u.point[0]);var at=180*Math.atan(C)/Math.PI;c.point[0]<u.point[0]&&(at+=180),a.rotate(-at*Math.PI/180)}a.translate(H,R,0),a.translate(V.m.a.v[0]*h[s].an/200,V.m.a.v[1]*F/100,0),v-=V.m.a.v[0]*h[s].an/200,h[s+1]&&K!==h[s+1].ind&&(v+=h[s].an/2,v+=o.tr/1e3*n.t.d.s)}else{switch(a.translate(t,e,0),o.ps&&a.translate(o.ps[0],o.ps[1]+o.ascent,0),o.j){case 1:a.translate(o.justifyOffset+(o.boxWidth-o.lineWidths[h[s].line]),0,0);break;case 2:a.translate(o.justifyOffset+(o.boxWidth-o.lineWidths[h[s].line])/2,0,0)}a.translate(_,0,0),a.translate(V.m.a.v[0]*h[s].an/200,V.m.a.v[1]*F/100,0),t+=h[s].l+o.tr/1e3*n.t.d.s}"html"===r?Z=a.toCSS():"svg"===r?Z=a.to2dCSS():J=[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]],U=z,L=this.renderedLetters[s],!L||L.o===U&&L.sw===X&&L.sc===q&&L.fc===Y?"svg"!==r&&"html"!==r||L&&L.m===Z?"canvas"!==r||L&&L.props[0]===J[0]&&L.props[1]===J[1]&&L.props[4]===J[4]&&L.props[5]===J[5]&&L.props[12]===J[12]&&L.props[13]===J[13]?I=L:(this.lettersChangedFlag=!0,I=new LetterProps(U,X,q,Y,null,J)):(this.lettersChangedFlag=!0,I=new LetterProps(U,X,q,Y,Z)):(this.lettersChangedFlag=!0,I=new LetterProps(U,X,q,Y,Z,J)),this.renderedLetters[s]=I}},ITextElement.prototype.emptyProp=new LetterProps,createElement(SVGBaseElement,SVGTextElement),SVGTextElement.prototype.init=ITextElement.prototype.init,SVGTextElement.prototype.createPathShape=ITextElement.prototype.createPathShape,SVGTextElement.prototype.getMeasures=ITextElement.prototype.getMeasures,SVGTextElement.prototype.createElements=function(){this.parent.createElements.call(this);var t=this.data.t.d;this.innerElem=document.createElementNS(svgNS,"g"),t.fc?this.innerElem.setAttribute("fill","rgb("+t.fc[0]+","+t.fc[1]+","+t.fc[2]+")"):this.innerElem.setAttribute("fill","rgba(0,0,0,0)"),t.sc&&(this.innerElem.setAttribute("stroke","rgb("+t.sc[0]+","+t.sc[1]+","+t.sc[2]+")"),this.innerElem.setAttribute("stroke-width",t.sw)),this.innerElem.setAttribute("font-size",t.s);var e=this.globalData.fontManager.getFontByName(t.f);if(e.fClass)this.innerElem.setAttribute("class",e.fClass);else{this.innerElem.setAttribute("font-family",e.fFamily);var s=t.fWeight,i=t.fStyle;this.innerElem.setAttribute("font-style",i),this.innerElem.setAttribute("font-weight",s)}var a,r;this.layerElement===this.parentContainer?this.appendNodeToParent(this.innerElem):this.layerElement.appendChild(this.innerElem);var n=t.l;if(r=n.length){var o,h,l=this.mHelper,p="",m=this.data.singleShape;if(m)var f=0,d=0,c=t.lineWidths,u=t.boxWidth,y=!0;for(a=0;r>a;a+=1){if(this.globalData.fontManager.chars?m&&0!==a||(o=document.createElementNS(svgNS,"path")):o=document.createElementNS(svgNS,"text"),o.setAttribute("stroke-linecap","butt"),o.setAttribute("stroke-linejoin","round"),o.setAttribute("stroke-miterlimit","4"),m&&n[a].n&&(f=0,d+=t.yOffset,d+=y?1:0,y=!1),l.reset(),this.globalData.fontManager.chars&&l.scale(t.s/100,t.s/100),m){switch(t.ps&&l.translate(t.ps[0],t.ps[1]+t.ascent,0),t.j){case 1:l.translate(t.justifyOffset+(u-c[n[a].line]),0,0);break;case 2:l.translate(t.justifyOffset+(u-c[n[a].line])/2,0,0)}l.translate(f,d,0)}if(this.globalData.fontManager.chars){var v,g=this.globalData.fontManager.getCharData(t.t.charAt(a),e.fStyle,this.globalData.fontManager.getFontByName(t.f).fFamily);v=g?g.data:null,v&&v.shapes&&(h=v.shapes[0].it,m||(p=""),p+=this.createPathShape(l,h),m||o.setAttribute("d",p)),m||this.innerElem.appendChild(o)}else o.textContent=n[a].val,o.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),this.innerElem.appendChild(o),m&&o.setAttribute("transform",l.to2dCSS());m&&(f+=n[a].l),this.textSpans.push(o)}m&&this.globalData.fontManager.chars&&(o.setAttribute("d",p),this.innerElem.appendChild(o))}},SVGTextElement.prototype.hide=function(){this.hidden||(this.innerElem.style.display="none",this.hidden=!0)},SVGTextElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);if(e===!1)return void this.hide();if(this.hidden&&(this.hidden=!1,this.innerElem.style.display="block"),this.data.hasMask||(this.finalTransform.matMdf&&this.innerElem.setAttribute("transform",this.finalTransform.mat.to2dCSS()),this.finalTransform.opMdf&&this.innerElem.setAttribute("opacity",this.finalTransform.opacity)),!this.data.singleShape&&(this.getMeasures(),this.lettersChangedFlag)){var s,i,a=this.renderedLetters,r=this.data.t.d.l;i=r.length;var n;for(s=0;i>s;s+=1)r[s].n||(n=a[s],this.textSpans[s].setAttribute("transform",n.m),this.textSpans[s].setAttribute("opacity",n.o),n.sw&&this.textSpans[s].setAttribute("stroke-width",n.sw),n.sc&&this.textSpans[s].setAttribute("stroke",n.sc),n.fc&&this.textSpans[s].setAttribute("fill",n.fc));this.firstFrame&&(this.firstFrame=!1)}},SVGTextElement.prototype.destroy=function(){this.parent.destroy.call(),this.innerElem=null};var PlaceHolderElement=function(t,e,s){if(this.data=t,this.globalData=s,e){this.parentContainer=e;var i=document.createElementNS(svgNS,"g");i.setAttribute("id",this.data.id),e.appendChild(i),this.phElement=i}this.layerId="ly_"+randomString(10)};PlaceHolderElement.prototype.prepareFrame=function(){},PlaceHolderElement.prototype.renderFrame=function(){},PlaceHolderElement.prototype.draw=function(){},createElement(SVGBaseElement,ICompElement),extendPrototype(ExpressionComp,ICompElement),ICompElement.prototype.getComposingElement=function(){return this.layerElement},ICompElement.prototype.hide=function(){if(!this.hidden){var t,e=this.elements.length;for(t=0;e>t;t+=1)this.elements[t].hide();this.hidden=!0}},ICompElement.prototype.prepareFrame=function(t){if(this.parent.prepareFrame.call(this,t),this.isVisible!==!1){var e=t;this.tm&&(e=this.tm.v,e===this.data.op&&(e=this.data.op-1)),this.renderedFrame=e;var s,i=this.elements.length;for(s=0;i>s;s+=1)this.elements[s].prepareFrame(e-this.layers[s].st)}},ICompElement.prototype.renderFrame=function(t){var e,s=this.parent.renderFrame.call(this,t),i=this.layers.length;if(s===!1)return void this.hide();for(this.hidden=!1,e=0;i>e;e+=1)this.data.hasMask?this.elements[e].renderFrame():this.elements[e].renderFrame(this.finalTransform);this.firstFrame&&(this.firstFrame=!1)},ICompElement.prototype.setElements=function(t){this.elements=t},ICompElement.prototype.getElements=function(){return this.elements},ICompElement.prototype.destroy=function(){this.parent.destroy.call();var t,e=this.layers.length;for(t=0;e>t;t+=1)this.elements[t].destroy()},createElement(SVGBaseElement,IImageElement),IImageElement.prototype.createElements=function(){var t=this,e=function(){t.innerElem.setAttributeNS("http://www.w3.org/1999/xlink","href",t.path+t.assetData.p),t.maskedElement=t.innerElem},s=new Image;s.addEventListener("load",e,!1),s.addEventListener("error",e,!1),s.src=this.path+this.assetData.p,this.parent.createElements.call(this),this.innerElem=document.createElementNS(svgNS,"image"),this.innerElem.setAttribute("width",this.assetData.w+"px"),this.innerElem.setAttribute("height",this.assetData.h+"px"),this.layerElement===this.parentContainer?this.appendNodeToParent(this.innerElem):this.layerElement.appendChild(this.innerElem),this.data.ln&&this.innerElem.setAttribute("id",this.data.ln)},IImageElement.prototype.hide=function(){this.hidden||(this.innerElem.setAttribute("visibility","hidden"),this.hidden=!0)},IImageElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden&&(this.hidden=!1,this.innerElem.setAttribute("visibility","visible")),this.data.hasMask||((this.finalTransform.matMdf||this.firstFrame)&&this.innerElem.setAttribute("transform",this.finalTransform.mat.to2dCSS()),(this.finalTransform.opMdf||this.firstFrame)&&this.innerElem.setAttribute("opacity",this.finalTransform.opacity)),void(this.firstFrame&&(this.firstFrame=!1)))},IImageElement.prototype.destroy=function(){this.parent.destroy.call(),this.innerElem=null},createElement(SVGBaseElement,IShapeElement),IShapeElement.prototype.lcEnum={1:"butt",2:"round",3:"butt"},IShapeElement.prototype.ljEnum={1:"miter",2:"round",3:"butt"},IShapeElement.prototype.transformHelper={opacity:1,mat:new Matrix,matMdf:!1,opMdf:!1},IShapeElement.prototype.createElements=function(){this.parent.createElements.call(this),this.searchShapes(this.shapesData,this.viewData,this.dynamicProperties,[]),this.layerElement.appendChild(this.shapesContainer),styleUnselectableDiv(this.layerElement),styleUnselectableDiv(this.shapesContainer),this.buildExpressionInterface()},IShapeElement.prototype.searchShapes=function(t,e,s,i){var a,r,n,o=t.length-1,h=[],l=[];for(a=o;a>=0;a-=1)if("fl"==t[a].ty||"st"==t[a].ty){e[a]={};var p;if(e[a].c=PropertyFactory.getProp(this,t[a].c,1,null,s),e[a].o=PropertyFactory.getProp(this,t[a].o,0,.01,s),"st"==t[a].ty){if(p=document.createElementNS(svgNS,"g"),p.style.strokeLinecap=this.lcEnum[t[a].lc]||"round",p.style.strokeLinejoin=this.ljEnum[t[a].lj]||"round",p.style.fillOpacity=0,1==t[a].lj&&(p.style.strokeMiterlimit=t[a].ml),e[a].c.k||(p.style.stroke="rgb("+e[a].c.v[0]+","+e[a].c.v[1]+","+e[a].c.v[2]+")"),e[a].o.k||(p.style.strokeOpacity=e[a].o.v),e[a].w=PropertyFactory.getProp(this,t[a].w,0,null,s),e[a].w.k||(p.style.strokeWidth=e[a].w.v),t[a].d){var m=PropertyFactory.getDashProp(this,t[a].d,"svg",s);m.k||(p.style.strokeDasharray=m.dasharray,p.style.strokeDashoffset=m.dashoffset),e[a].d=m}}else p=document.createElementNS(svgNS,"path"),e[a].c.k||(p.style.fill="rgb("+e[a].c.v[0]+","+e[a].c.v[1]+","+e[a].c.v[2]+")"),e[a].o.k||(p.style.fillOpacity=e[a].o.v);this.shapesContainer.appendChild(p),this.stylesList.push({pathElement:p,type:t[a].ty,d:"",ld:"",mdf:!1}),e[a].style=this.stylesList[this.stylesList.length-1],h.push(e[a].style)}else if("gr"==t[a].ty)e[a]={it:[]},this.searchShapes(t[a].it,e[a].it,s,i);else if("tr"==t[a].ty)e[a]={transform:{mat:new Matrix,opacity:1,matMdf:!1,opMdf:!1,op:PropertyFactory.getProp(this,t[a].o,0,.01,s),mProps:PropertyFactory.getProp(this,t[a],2,null,s)},elements:[]};else if("sh"==t[a].ty||"rc"==t[a].ty||"el"==t[a].ty||"sr"==t[a].ty){e[a]={elements:[],styles:[],lStr:""};var f=4;"rc"==t[a].ty?f=5:"el"==t[a].ty?f=6:"sr"==t[a].ty&&(f=7),i.length&&(t[a].trimmed=!0),e[a].sh=PropertyFactory.getShapeProp(this,t[a],f,s,i),n=this.stylesList.length;var d,c=!1,u=!1;for(r=0;n>r;r+=1)this.stylesList[r].closed||("st"===this.stylesList[r].type?(c=!0,d=document.createElementNS(svgNS,"path"),this.stylesList[r].pathElement.appendChild(d),e[a].elements.push({ty:this.stylesList[r].type,el:d})):(u=!0,e[a].elements.push({ty:this.stylesList[r].type,st:this.stylesList[r]})));e[a].st=c,e[a].fl=u}else if("tm"==t[a].ty){var y={closed:!1,trimProp:PropertyFactory.getProp(this,t[a],7,null,s)};e[a]={tr:y.trimProp},i.push(y),l.push(y)}for(o=h.length,a=0;o>a;a+=1)h[a].closed=!0;for(o=l.length,a=0;o>a;a+=1)l[a].closed=!0},IShapeElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden=!1,this.finalTransform.matMdf&&!this.data.hasMask&&this.shapesContainer.setAttribute("transform",this.finalTransform.mat.to2dCSS()),this.transformHelper.opacity=this.finalTransform.opacity,this.transformHelper.matMdf=!1,this.transformHelper.opMdf=this.finalTransform.opMdf,void this.renderShape(this.transformHelper,null,null,!0))},IShapeElement.prototype.hide=function(){if(!this.hidden){var t,e=this.stylesList.length;for(t=e-1;t>=0;t-=1)"0"!==this.stylesList[t].ld&&(this.stylesList[t].ld="0",this.stylesList[t].pathElement.style.display="none",this.stylesList[t].pathElement.parentNode&&(this.stylesList[t].parent=this.stylesList[t].pathElement.parentNode));this.hidden=!0}},IShapeElement.prototype.renderShape=function(t,e,s,i){var a,r;if(!e)for(e=this.shapesData,r=this.stylesList.length,a=0;r>a;a+=1)this.stylesList[a].d="",this.stylesList[a].mdf=!1;s||(s=this.viewData),r=e.length-1;var n,o;for(n=t,a=r;a>=0;a-=1)if("tr"==e[a].ty){n=s[a].transform;var h=s[a].transform.mProps.v.props;if(n.matMdf=n.mProps.mdf,n.opMdf=n.op.mdf,o=n.mat,o.cloneFromProps(h),t){var l=t.mat.props;n.opacity=t.opacity,n.opacity*=s[a].transform.op.v,n.matMdf=t.matMdf?!0:n.matMdf,n.opMdf=t.opMdf?!0:n.opMdf,o.transform(l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9],l[10],l[11],l[12],l[13],l[14],l[15])}else n.opacity=n.op.o}else"sh"==e[a].ty||"el"==e[a].ty||"rc"==e[a].ty||"sr"==e[a].ty?this.renderPath(e[a],s[a],n):"fl"==e[a].ty?this.renderFill(e[a],s[a],n):"st"==e[a].ty?this.renderStroke(e[a],s[a],n):"gr"==e[a].ty?this.renderShape(n,e[a].it,s[a].it):"tm"==e[a].ty;if(i){for(r=this.stylesList.length,a=0;r>a;a+=1)"0"===this.stylesList[a].ld&&(this.stylesList[a].ld="1",this.stylesList[a].pathElement.style.display="block"),"fl"===this.stylesList[a].type&&(this.stylesList[a].mdf||this.firstFrame)&&this.stylesList[a].pathElement.setAttribute("d",this.stylesList[a].d);this.firstFrame&&(this.firstFrame=!1)}},IShapeElement.prototype.renderPath=function(t,e,s){var i,a,r=e.sh.v,n="";if(r.v){i=r.v.length;var o=s.matMdf||e.sh.mdf||this.firstFrame;if(o){var h=r.s?r.s:[];for(a=1;i>a;a+=1)h[a-1]?n+=" M"+s.mat.applyToPointStringified(h[a-1][0],h[a-1][1]):1==a&&(n+=" M"+s.mat.applyToPointStringified(r.v[0][0],r.v[0][1])),n+=" C"+s.mat.applyToPointStringified(r.o[a-1][0],r.o[a-1][1])+" "+s.mat.applyToPointStringified(r.i[a][0],r.i[a][1])+" "+s.mat.applyToPointStringified(r.v[a][0],r.v[a][1]);1==i&&(n+=h[0]?" M"+s.mat.applyToPointStringified(h[0][0],h[0][1]):" M"+s.mat.applyToPointStringified(r.v[0][0],r.v[0][1])),i&&t.closed&&(!t.trimmed||r.c)&&(n+=" C"+s.mat.applyToPointStringified(r.o[a-1][0],r.o[a-1][1])+" "+s.mat.applyToPointStringified(r.i[0][0],r.i[0][1])+" "+s.mat.applyToPointStringified(r.v[0][0],r.v[0][1]),n+="z"),e.lStr=n}else n=e.lStr;for(i=e.elements.length,a=0;i>a;a+=1)"st"===e.elements[a].ty?(e.sh.mdf||this.firstFrame)&&e.elements[a].el.setAttribute("d",n):(e.elements[a].st.mdf=o?!0:e.elements[a].st.mdf,e.elements[a].st.d+=n)}},IShapeElement.prototype.renderFill=function(t,e,s){var i=e.style;(e.c.mdf||this.firstFrame)&&(i.pathElement.style.fill="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.pathElement.style.fillOpacity=e.o.v*s.opacity)},IShapeElement.prototype.renderStroke=function(t,e,s){var i=e.style,a=e.d;a&&a.k&&(a.mdf||this.firstFrame)&&(i.pathElement.style.strokeDasharray=a.dasharray,i.pathElement.style.strokeDashoffset=a.dashoffset),(e.c.mdf||this.firstFrame)&&(i.pathElement.style.stroke="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.pathElement.style.strokeOpacity=e.o.v*s.opacity),(e.w.mdf||this.firstFrame)&&(i.pathElement.style.strokeWidth=e.w.v)},IShapeElement.prototype.destroy=function(){this.parent.destroy.call(),this.shapeData=null,this.viewData=null,this.parentContainer=null,this.placeholder=null},extendPrototype(ShapeInterface,IShapeElement),createElement(SVGBaseElement,ISolidElement),ISolidElement.prototype.createElements=function(){this.parent.createElements.call(this);var t=document.createElementNS(svgNS,"rect");t.setAttribute("width",this.data.sw),t.setAttribute("height",this.data.sh),t.setAttribute("fill",this.data.sc),this.layerElement===this.parentContainer?this.appendNodeToParent(t):this.layerElement.appendChild(t),this.data.ln&&this.innerElem.setAttribute("id",this.data.ln),this.innerElem=t},ISolidElement.prototype.hide=IImageElement.prototype.hide,ISolidElement.prototype.renderFrame=IImageElement.prototype.renderFrame,ISolidElement.prototype.destroy=IImageElement.prototype.destroy,createElement(BaseElement,CVBaseElement),CVBaseElement.prototype.createElements=function(){},CVBaseElement.prototype.renderFrame=function(t){if(3===this.data.ty)return!1;if(!this.isVisible)return this.isVisible;this.finalTransform.opMdf=this.finalTransform.op.mdf,this.finalTransform.matMdf=this.finalTransform.mProp.mdf,this.finalTransform.opacity=this.finalTransform.op.v;var e,s=this.finalTransform.mat;if(this.hierarchy){var i,a=this.hierarchy.length;for(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e),i=0;a>i;i+=1)this.finalTransform.matMdf=this.hierarchy[i].finalTransform.mProp.mdf?!0:this.finalTransform.matMdf,e=this.hierarchy[i].finalTransform.mProp.v.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}else t?(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e)):s.cloneFromProps(this.finalTransform.mProp.v.props);return t&&(e=t.mat.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]),this.finalTransform.opacity*=t.opacity,this.finalTransform.opMdf=t.opMdf?!0:this.finalTransform.opMdf,this.finalTransform.matMdf=t.matMdf?!0:this.finalTransform.matMdf),this.data.hasMask&&(this.globalData.renderer.save(!0),this.maskManager.renderFrame(s)),this.isVisible},CVBaseElement.prototype.getCurrentAnimData=function(){return this.currentAnimData},CVBaseElement.prototype.addMasks=function(t){this.maskManager=new CVMaskElement(t,this,this.globalData)},CVBaseElement.prototype.destroy=function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager&&this.maskManager.destroy()},CVBaseElement.prototype.mHelper=new Matrix,createElement(CVBaseElement,CVCompElement),CVCompElement.prototype.prepareFrame=function(t){if(this.parent.prepareFrame.call(this,t),this.isVisible!==!1){var e=t;this.tm&&(e=this.tm.v,e===this.data.op&&(e=this.data.op-1)),this.renderedFrame=e;var s,i=this.elements.length;for(s=0;i>s;s+=1)this.elements[s].prepareFrame(e-this.layers[s].st)}},CVCompElement.prototype.renderFrame=function(t){if(this.parent.renderFrame.call(this,t)!==!1){var e,s=this.layers.length;for(e=s-1;e>=0;e-=1)this.elements[e].renderFrame(this.finalTransform);this.data.hasMask&&this.globalData.renderer.restore(!0),this.firstFrame&&(this.firstFrame=!1)}},CVCompElement.prototype.setElements=function(t){this.elements=t},CVCompElement.prototype.getElements=function(){return this.elements},CVCompElement.prototype.destroy=function(){var t,e=this.layers.length;for(t=e-1;t>=0;t-=1)this.elements[t].destroy();this.layers=null,this.elements=null,this.parent.destroy.call()},createElement(CVBaseElement,CVImageElement),CVImageElement.prototype.createElements=function(){var t=this,e=function(){t.animationItem.elementLoaded()},s=function(){t.failed=!0,t.animationItem.elementLoaded()};this.img=new Image,this.img.addEventListener("load",e,!1),this.img.addEventListener("error",s,!1),this.img.src=this.path+this.assetData.p,this.parent.createElements.call(this)},CVImageElement.prototype.renderFrame=function(t){if(!this.failed&&this.parent.renderFrame.call(this,t)!==!1){var e=this.canvasContext;this.globalData.renderer.save();var s=this.finalTransform.mat.props;this.globalData.renderer.ctxTransform(s),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.drawImage(this.img,0,0),this.globalData.renderer.restore(this.data.hasMask),this.firstFrame&&(this.firstFrame=!1)}},CVImageElement.prototype.destroy=function(){this.img=null,this.animationItem=null,this.parent.destroy.call()},CVMaskElement.prototype.getMaskProperty=function(t){return this.viewData[t]},CVMaskElement.prototype.prepareFrame=function(t){var e,s=this.dynamicProperties.length;for(e=0;s>e;e+=1)this.dynamicProperties[e].getValue(t)},CVMaskElement.prototype.renderFrame=function(t){var e,s,i,a,r,n=this.ctx,o=this.data.masksProperties.length,h=!1;for(e=0;o>e;e++)if("n"!==this.masksProperties[e].mode){h===!1&&(n.beginPath(),h=!0),this.masksProperties[e].inv&&(n.moveTo(0,0),n.lineTo(this.globalData.compWidth,0),n.lineTo(this.globalData.compWidth,this.globalData.compHeight),n.lineTo(0,this.globalData.compHeight),n.lineTo(0,0)),r=this.viewData[e].v,s=t.applyToPointArray(r.v[0][0],r.v[0][1],0),n.moveTo(s[0],s[1]);var l,p=r.v.length;for(l=1;p>l;l++)s=t.applyToPointArray(r.o[l-1][0],r.o[l-1][1],0),
 i=t.applyToPointArray(r.i[l][0],r.i[l][1],0),a=t.applyToPointArray(r.v[l][0],r.v[l][1],0),n.bezierCurveTo(s[0],s[1],i[0],i[1],a[0],a[1]);s=t.applyToPointArray(r.o[l-1][0],r.o[l-1][1],0),i=t.applyToPointArray(r.i[0][0],r.i[0][1],0),a=t.applyToPointArray(r.v[0][0],r.v[0][1],0),n.bezierCurveTo(s[0],s[1],i[0],i[1],a[0],a[1])}h&&n.clip()},CVMaskElement.prototype.getMask=function(t){for(var e=0,s=this.masksProperties.length;s>e;){if(this.masksProperties[e].nm===t)return{maskPath:this.viewData[e].pv};e+=1}},CVMaskElement.prototype.destroy=function(){this.ctx=null},createElement(CVBaseElement,CVShapeElement),CVShapeElement.prototype.lcEnum={1:"butt",2:"round",3:"butt"},CVShapeElement.prototype.ljEnum={1:"miter",2:"round",3:"butt"},CVShapeElement.prototype.transformHelper={opacity:1,mat:new Matrix,matMdf:!1,opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createElements=function(){this.parent.createElements.call(this),this.searchShapes(this.shapesData,this.viewData,this.dynamicProperties,[]),this.buildExpressionInterface()},CVShapeElement.prototype.searchShapes=function(t,e,s,i){var a,r,n,o,h=t.length-1,l=[],p=[];for(a=h;a>=0;a-=1)if("fl"==t[a].ty||"st"==t[a].ty){if(o={type:t[a].ty,elements:[]},e[a]={},e[a].c=PropertyFactory.getProp(this,t[a].c,1,null,s),e[a].c.k||(o.co="rgb("+bm_floor(e[a].c.v[0])+","+bm_floor(e[a].c.v[1])+","+bm_floor(e[a].c.v[2])+")"),e[a].o=PropertyFactory.getProp(this,t[a].o,0,.01,s),"st"==t[a].ty&&(o.lc=this.lcEnum[t[a].lc]||"round",o.lj=this.ljEnum[t[a].lj]||"round",1==t[a].lj&&(o.ml=t[a].ml),e[a].w=PropertyFactory.getProp(this,t[a].w,0,null,s),e[a].w.k||(o.wi=e[a].w.v),t[a].d)){var m=PropertyFactory.getDashProp(this,t[a].d,"canvas",s);e[a].d=m,e[a].d.k||(o.da=e[a].d.dasharray,o["do"]=e[a].d.dashoffset)}this.stylesList.push(o),e[a].style=o,l.push(e[a].style)}else if("gr"==t[a].ty)e[a]={it:[]},this.searchShapes(t[a].it,e[a].it,s,i);else if("tr"==t[a].ty)e[a]={transform:{mat:new Matrix,opacity:1,matMdf:!1,opMdf:!1,op:PropertyFactory.getProp(this,t[a].o,0,.01,s),mProps:PropertyFactory.getProp(this,t[a],2,null,s)},elements:[]};else if("sh"==t[a].ty||"rc"==t[a].ty||"el"==t[a].ty||"sr"==t[a].ty){e[a]={nodes:[],trNodes:[],tr:[0,0,0,0,0,0]};var f=4;"rc"==t[a].ty?f=5:"el"==t[a].ty?f=6:"sr"==t[a].ty&&(f=7),i.length&&(t[a].trimmed=!0),e[a].sh=PropertyFactory.getShapeProp(this,t[a],f,s,i),n=this.stylesList.length;var d=!1,c=!1;for(r=0;n>r;r+=1)this.stylesList[r].closed||(this.stylesList[r].elements.push(e[a]),"st"===this.stylesList[r].type?d=!0:c=!0);e[a].st=d,e[a].fl=c}else if("tm"==t[a].ty){var u={closed:!1,trimProp:PropertyFactory.getProp(this,t[a],7,null,s)};i.push(u),p.push(u)}for(h=l.length,a=0;h>a;a+=1)l[a].closed=!0;for(h=p.length,a=0;h>a;a+=1)p[a].closed=!0},CVShapeElement.prototype.renderFrame=function(t){this.parent.renderFrame.call(this,t)!==!1&&(this.transformHelper.mat.reset(),this.transformHelper.opacity=this.finalTransform.opacity,this.transformHelper.matMdf=!1,this.transformHelper.opMdf=this.finalTransform.opMdf,this.renderShape(this.transformHelper,null,null,!0),this.data.hasMask&&this.globalData.renderer.restore(!0))},CVShapeElement.prototype.renderShape=function(t,e,s,i){var a,r;if(!e)for(e=this.shapesData,r=this.stylesList.length,a=0;r>a;a+=1)this.stylesList[a].d="",this.stylesList[a].mdf=!1;s||(s=this.viewData),r=e.length-1;var n,o;for(n=t,a=r;a>=0;a-=1)if("tr"==e[a].ty){n=s[a].transform;var h=s[a].transform.mProps.v.props;if(n.matMdf=n.mProps.mdf,n.opMdf=n.op.mdf,o=n.mat,o.cloneFromProps(h),t){var l=t.mat.props;n.opacity=t.opacity,n.opacity*=s[a].transform.op.v,n.matMdf=t.matMdf?!0:n.matMdf,n.opMdf=t.opMdf?!0:n.opMdf,o.transform(l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9],l[10],l[11],l[12],l[13],l[14],l[15])}else n.opacity=n.op.o}else"sh"==e[a].ty||"el"==e[a].ty||"rc"==e[a].ty||"sr"==e[a].ty?this.renderPath(e[a],s[a],n):"fl"==e[a].ty?this.renderFill(e[a],s[a],n):"st"==e[a].ty?this.renderStroke(e[a],s[a],n):"gr"==e[a].ty?this.renderShape(n,e[a].it,s[a].it):"tm"==e[a].ty;if(i){r=this.stylesList.length;var p,m,f,d,c,u,y,v=this.globalData.renderer,g=this.globalData.canvasContext;for(v.save(),v.ctxTransform(this.finalTransform.mat.props),a=0;r>a;a+=1)if(y=this.stylesList[a].type,"st"!==y||0!==this.stylesList[a].wi){for(v.save(),c=this.stylesList[a].elements,m=c.length,"st"===y?(g.strokeStyle=this.stylesList[a].co,g.lineWidth=this.stylesList[a].wi,g.lineCap=this.stylesList[a].lc,g.lineJoin=this.stylesList[a].lj,g.miterLimit=this.stylesList[a].ml||0):g.fillStyle=this.stylesList[a].co,v.ctxOpacity(this.stylesList[a].coOp),"st"!==y&&g.beginPath(),p=0;m>p;p+=1){for("st"===y&&(g.beginPath(),this.stylesList[a].da?(g.setLineDash(this.stylesList[a].da),g.lineDashOffset=this.stylesList[a]["do"],this.globalData.isDashed=!0):this.globalData.isDashed&&(g.setLineDash(this.dashResetter),this.globalData.isDashed=!1)),u=c[p].trNodes,d=u.length,f=0;d>f;f+=1)"m"==u[f].t?g.moveTo(u[f].p[0],u[f].p[1]):"c"==u[f].t?g.bezierCurveTo(u[f].p1[0],u[f].p1[1],u[f].p2[0],u[f].p2[1],u[f].p3[0],u[f].p3[1]):g.closePath();"st"===y&&g.stroke()}"st"!==y&&g.fill(),v.restore()}v.restore(),this.firstFrame&&(this.firstFrame=!1)}},CVShapeElement.prototype.renderPath=function(t,e,s){var i,a,r=e.sh.v;if(r.v){i=r.v.length;var n=s.matMdf||e.sh.mdf||this.firstFrame;if(n){var o=e.trNodes;o.length=0;var h=r.s?r.s:[];for(a=1;i>a;a+=1)h[a-1]?o.push({t:"m",p:s.mat.applyToPointArray(h[a-1][0],h[a-1][1],0)}):1==a&&o.push({t:"m",p:s.mat.applyToPointArray(r.v[0][0],r.v[0][1],0)}),o.push({t:"c",p1:s.mat.applyToPointArray(r.o[a-1][0],r.o[a-1][1],0),p2:s.mat.applyToPointArray(r.i[a][0],r.i[a][1],0),p3:s.mat.applyToPointArray(r.v[a][0],r.v[a][1],0)});if(1==i&&o.push(h[0]?{t:"m",p:s.mat.applyToPointArray(h[0][0],h[0][1],0)}:{t:"m",p:s.mat.applyToPointArray(r.v[0][0],r.v[0][1],0)}),i&&t.closed&&(!t.trimmed||r.c)&&(o.push({t:"c",p1:s.mat.applyToPointArray(r.o[a-1][0],r.o[a-1][1],0),p2:s.mat.applyToPointArray(r.i[0][0],r.i[0][1],0),p3:s.mat.applyToPointArray(r.v[0][0],r.v[0][1],0)}),o.push({t:"z"})),e.st)for(a=0;16>a;a+=1)e.tr[a]=s.mat.props[a];e.trNodes=o}}},CVShapeElement.prototype.renderFill=function(t,e,s){var i=e.style;(e.c.mdf||this.firstFrame)&&(i.co="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.coOp=e.o.v*s.opacity)},CVShapeElement.prototype.renderStroke=function(t,e,s){var i=e.style,a=e.d;a&&(a.mdf||this.firstFrame)&&(i.da=a.dasharray,i["do"]=a.dashoffset),(e.c.mdf||this.firstFrame)&&(i.co="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.coOp=e.o.v*s.opacity),(e.w.mdf||this.firstFrame)&&(i.wi=e.w.v)},CVShapeElement.prototype.destroy=function(){this.shapesData=null,this.globalData=null,this.canvasContext=null,this.stylesList.length=0,this.viewData.length=0,this.parent.destroy.call()},extendPrototype(ShapeInterface,CVShapeElement),createElement(CVBaseElement,CVSolidElement),CVSolidElement.prototype.renderFrame=function(t){if(this.parent.renderFrame.call(this,t)!==!1){var e=this.canvasContext;this.globalData.renderer.save();var s=this.finalTransform.mat.props;this.globalData.renderer.ctxTransform(s),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.fillStyle=this.data.sc,e.fillRect(0,0,this.data.sw,this.data.sh),this.globalData.renderer.restore(this.data.hasMask),this.firstFrame&&(this.firstFrame=!1)}},createElement(CVBaseElement,CVTextElement),CVTextElement.prototype.init=ITextElement.prototype.init,CVTextElement.prototype.getMeasures=ITextElement.prototype.getMeasures,CVTextElement.prototype.getMult=ITextElement.prototype.getMult,CVTextElement.prototype.tHelper=document.createElement("canvas").getContext("2d"),CVTextElement.prototype.createElements=function(){this.parent.createElements.call(this);var t=this.data.t.d,e=!1;t.fc?(e=!0,this.values.fill="rgb("+t.fc[0]+","+t.fc[1]+","+t.fc[2]+")"):this.values.fill="rgba(0,0,0,0)",this.fill=e;var s=!1;t.sc&&(s=!0,this.values.stroke="rgb("+t.sc[0]+","+t.sc[1]+","+t.sc[2]+")",this.values.sWidth=t.sw);var i,a,r=this.globalData.fontManager.getFontByName(t.f),n=t.l,o=this.mHelper;this.stroke=s,this.values.fValue=t.s+"px "+this.globalData.fontManager.getFontByName(t.f).fFamily,a=t.t.length,this.tHelper.font=this.values.fValue;var h,l,p,m,f,d,c,u,y,v,g=this.data.singleShape;if(g)var b=0,E=0,P=t.lineWidths,k=t.boxWidth,S=!0;for(i=0;a>i;i+=1){h=this.globalData.fontManager.getCharData(t.t.charAt(i),r.fStyle,this.globalData.fontManager.getFontByName(t.f).fFamily);var l;if(l=h?h.data:null,o.reset(),g&&n[i].n&&(b=0,E+=t.yOffset,E+=S?1:0,S=!1),l&&l.shapes){if(f=l.shapes[0].it,c=f.length,o.scale(t.s/100,t.s/100),g){switch(t.ps&&o.translate(t.ps[0],t.ps[1]+t.ascent,0),t.j){case 1:o.translate(t.justifyOffset+(k-P[n[i].line]),0,0);break;case 2:o.translate(t.justifyOffset+(k-P[n[i].line])/2,0,0)}o.translate(b,E,0)}for(y=new Array(c),d=0;c>d;d+=1){for(m=f[d].ks.k.i.length,u=f[d].ks.k,v=[],p=1;m>p;p+=1)1==p&&v.push(o.applyToX(u.v[0][0],u.v[0][1],0),o.applyToY(u.v[0][0],u.v[0][1],0)),v.push(o.applyToX(u.o[p-1][0],u.o[p-1][1],0),o.applyToY(u.o[p-1][0],u.o[p-1][1],0),o.applyToX(u.i[p][0],u.i[p][1],0),o.applyToY(u.i[p][0],u.i[p][1],0),o.applyToX(u.v[p][0],u.v[p][1],0),o.applyToY(u.v[p][0],u.v[p][1],0));v.push(o.applyToX(u.o[p-1][0],u.o[p-1][1],0),o.applyToY(u.o[p-1][0],u.o[p-1][1],0),o.applyToX(u.i[0][0],u.i[0][1],0),o.applyToY(u.i[0][0],u.i[0][1],0),o.applyToX(u.v[0][0],u.v[0][1],0),o.applyToY(u.v[0][0],u.v[0][1],0)),y[d]=v}}else y=[];g&&(b+=n[i].l),this.textSpans.push({elem:y})}},CVTextElement.prototype.renderFrame=function(t){if(this.parent.renderFrame.call(this,t)!==!1){var e=this.canvasContext,s=this.finalTransform.mat.props;this.globalData.renderer.save(),this.globalData.renderer.ctxTransform(s),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.font=this.values.fValue,e.lineCap="butt",e.lineJoin="miter",e.miterLimit=4,this.data.singleShape||this.getMeasures();var i,a,r,n,o,h,l=this.renderedLetters,p=this.data.t.d.l;a=p.length;var m,f,d,c=null,u=null,y=null;for(i=0;a>i;i+=1)if(!p[i].n){if(m=l[i],m&&(this.globalData.renderer.save(),this.globalData.renderer.ctxTransform(m.props),this.globalData.renderer.ctxOpacity(m.o)),this.fill){for(m&&m.fc?c!==m.fc&&(c=m.fc,e.fillStyle=m.fc):c!==this.values.fill&&(c=this.values.fill,e.fillStyle=this.values.fill),f=this.textSpans[i].elem,n=f.length,this.globalData.canvasContext.beginPath(),r=0;n>r;r+=1)for(d=f[r],h=d.length,this.globalData.canvasContext.moveTo(d[0],d[1]),o=2;h>o;o+=6)this.globalData.canvasContext.bezierCurveTo(d[o],d[o+1],d[o+2],d[o+3],d[o+4],d[o+5]);this.globalData.canvasContext.closePath(),this.globalData.canvasContext.fill()}if(this.stroke){for(m&&m.sw?y!==m.sw&&(y=m.sw,e.lineWidth=m.sw):y!==this.values.sWidth&&(y=this.values.sWidth,e.lineWidth=this.values.sWidth),m&&m.sc?u!==m.sc&&(u=m.sc,e.strokeStyle=m.sc):u!==this.values.stroke&&(u=this.values.stroke,e.strokeStyle=this.values.stroke),f=this.textSpans[i].elem,n=f.length,this.globalData.canvasContext.beginPath(),r=0;n>r;r+=1)for(d=f[r],h=d.length,this.globalData.canvasContext.moveTo(d[0],d[1]),o=2;h>o;o+=6)this.globalData.canvasContext.bezierCurveTo(d[o],d[o+1],d[o+2],d[o+3],d[o+4],d[o+5]);this.globalData.canvasContext.closePath(),this.globalData.canvasContext.stroke()}m&&this.globalData.renderer.restore()}this.globalData.renderer.restore(this.data.hasMask),this.firstFrame&&(this.firstFrame=!1)}},createElement(BaseElement,HBaseElement),HBaseElement.prototype.appendNodeToParent=function(t){if(this.placeholder){var e=this.placeholder.phElement;e.parentNode.insertBefore(t,e)}else this.parentContainer.appendChild(t)},HBaseElement.prototype.createElements=function(){this.data.hasMask?(this.layerElement=document.createElementNS(svgNS,"svg"),this.appendNodeToParent(this.layerElement),this.maskedElement=this.layerElement):this.layerElement=this.parentContainer,!this.data.ln||4!==this.data.ty&&0!==this.data.ty||(this.layerElement===this.parentContainer&&(this.layerElement=document.createElementNS(svgNS,"g"),this.appendNodeToParent(this.layerElement)),this.layerElement.setAttribute("id",this.data.ln)),this.layerElement!==this.parentContainer&&(this.placeholder=null)},HBaseElement.prototype.renderFrame=function(t){if(3===this.data.ty)return!1;if(this.currentFrameNum===this.lastNum||!this.isVisible)return this.isVisible;this.lastNum=this.currentFrameNum,this.data.hasMask&&this.maskManager.renderFrame(),this.finalTransform.opMdf=this.finalTransform.op.mdf,this.finalTransform.matMdf=this.finalTransform.mProp.mdf,this.finalTransform.opacity=this.finalTransform.op.v,this.firstFrame&&(this.finalTransform.opMdf=!0,this.finalTransform.matMdf=!0);var e,s=this.finalTransform.mat;if(this.hierarchy){var i,a=this.hierarchy.length;for(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e),i=0;a>i;i+=1)this.finalTransform.matMdf=this.hierarchy[i].finalTransform.mProp.mdf?!0:this.finalTransform.matMdf,e=this.hierarchy[i].finalTransform.mProp.v.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}else this.isVisible&&this.finalTransform.matMdf&&(t?(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e)):s.cloneFromProps(this.finalTransform.mProp.v.props));return t&&(e=t.mat.props,s.cloneFromProps(e),this.finalTransform.opacity*=t.opacity,this.finalTransform.opMdf=t.opMdf?!0:this.finalTransform.opMdf,this.finalTransform.matMdf=t.matMdf?!0:this.finalTransform.matMdf),this.finalTransform.matMdf&&(this.layerElement.style.transform=this.layerElement.style.webkitTransform=s.toCSS()),this.finalTransform.opMdf&&(this.layerElement.style.opacity=this.finalTransform.opacity),this.isVisible},HBaseElement.prototype.destroy=function(){this.layerElement=null,this.parentContainer=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},HBaseElement.prototype.getDomElement=function(){return this.layerElement},HBaseElement.prototype.addMasks=function(t){this.maskManager=new MaskElement(t,this,this.globalData)},HBaseElement.prototype.hide=function(){},HBaseElement.prototype.setMatte=function(){},createElement(HBaseElement,HSolidElement),HSolidElement.prototype.createElements=function(){var t=document.createElement("div");styleDiv(t);var e=document.createElementNS(svgNS,"svg");e.setAttribute("width",this.data.sw),e.setAttribute("height",this.data.sh),t.appendChild(e),this.layerElement=t,this.parentContainer.appendChild(t),this.innerElem=t,this.data.ln&&this.innerElem.setAttribute("id",this.data.ln);var s=document.createElementNS(svgNS,"rect");s.setAttribute("width",this.data.sw),s.setAttribute("height",this.data.sh),s.setAttribute("fill",this.data.sc),e.appendChild(s),this.data.hasMask&&(this.maskedElement=s)},HSolidElement.prototype.hide=function(){this.hidden||(this.innerElem.style.display="none",this.hidden=!0)},HSolidElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden&&(this.hidden=!1,this.innerElem.style.display="block"),void(this.firstFrame&&(this.firstFrame=!1)))},HSolidElement.prototype.destroy=function(){this.parent.destroy.call(),this.innerElem=null},createElement(HBaseElement,HCompElement),extendPrototype(ExpressionComp,HCompElement),HCompElement.prototype.getDomElement=function(){return this.composingElement},HCompElement.prototype.getComposingElement=function(){return this.layerElement},HCompElement.prototype.createElements=function(){if(this.layerElement=document.createElement("div"),styleDiv(this.layerElement),this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.layerElement.style.clip="rect(0px, "+this.data.w+"px, "+this.data.h+"px, 0px)",this.layerElement!==this.parentContainer&&(this.placeholder=null),this.data.hasMask){var t=document.createElementNS(svgNS,"svg");t.setAttribute("width",this.data.w),t.setAttribute("height",this.data.h);var e=document.createElementNS(svgNS,"g");t.appendChild(e),this.layerElement.appendChild(t),this.maskedElement=e,this.composingElement=e}else this.composingElement=this.layerElement;this.appendNodeToParent(this.layerElement)},HCompElement.prototype.hide=ICompElement.prototype.hide,HCompElement.prototype.prepareFrame=ICompElement.prototype.prepareFrame,HCompElement.prototype.setElements=ICompElement.prototype.setElements,HCompElement.prototype.getElements=ICompElement.prototype.getElements,HCompElement.prototype.destroy=ICompElement.prototype.destroy,HCompElement.prototype.renderFrame=function(t){var e,s=this.parent.renderFrame.call(this,t),i=this.layers.length;if(s===!1)return void this.hide();for(this.hidden=!1,e=0;i>e;e+=1)this.elements[e].renderFrame();this.firstFrame&&(this.firstFrame=!1)},createElement(HBaseElement,HShapeElement);var parent=HShapeElement.prototype.parent;extendPrototype(IShapeElement,HShapeElement),HShapeElement.prototype.parent=parent,HShapeElement.prototype.createElements=function(){var t=document.createElement("div");styleDiv(t);var e=document.createElementNS(svgNS,"svg");if(999999===this.data.bounds.l,e.setAttribute("width",this.data.bounds.r-this.data.bounds.l),e.setAttribute("height",this.data.bounds.b-this.data.bounds.t),e.setAttribute("viewBox",this.data.bounds.l+" "+this.data.bounds.t+" "+(this.data.bounds.r-this.data.bounds.l)+" "+(this.data.bounds.b-this.data.bounds.t)),e.style.transform=e.style.webkitTransform="translate("+this.data.bounds.l+"px,"+this.data.bounds.t+"px)",this.data.hasMask){var s=document.createElementNS(svgNS,"g");t.appendChild(e),e.appendChild(s),this.maskedElement=s,this.layerElement=s,this.shapesContainer=s}else t.appendChild(e),this.layerElement=e,this.shapesContainer=document.createElementNS(svgNS,"g"),this.layerElement.appendChild(this.shapesContainer);this.parentContainer.appendChild(t),this.innerElem=t,this.data.ln&&this.innerElem.setAttribute("id",this.data.ln),this.searchShapes(this.shapesData,this.viewData,this.dynamicProperties,[]),this.buildExpressionInterface(),this.layerElement=t},HShapeElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden=!1,this.transformHelper.opacity=this.finalTransform.opacity,this.transformHelper.matMdf=!1,this.transformHelper.opMdf=this.finalTransform.opMdf,void this.renderShape(this.transformHelper,null,null,!0))},createElement(HBaseElement,HTextElement),HTextElement.prototype.init=ITextElement.prototype.init,HTextElement.prototype.getMeasures=ITextElement.prototype.getMeasures,HTextElement.prototype.createPathShape=ITextElement.prototype.createPathShape,HTextElement.prototype.createElements=function(){this.isMasked=this.checkMasks();var t=this.data.t.d,e=document.createElement("div");if(styleDiv(e),this.layerElement=e,this.isMasked){this.renderType="svg";var s=document.createElementNS(svgNS,"svg");this.cont=s,this.compW=this.comp.data?this.comp.data.w:this.globalData.compSize.w,this.compH=this.comp.data?this.comp.data.h:this.globalData.compSize.h,s.setAttribute("width",this.compW),s.setAttribute("height",this.compH);var i=document.createElementNS(svgNS,"g");s.appendChild(i),e.appendChild(s),this.maskedElement=i,this.innerElem=i}else this.renderType="html",this.innerElem=e;this.parentContainer.appendChild(e),this.innerElem.style.color=this.innerElem.style.fill=t.fc?"rgb("+t.fc[0]+","+t.fc[1]+","+t.fc[2]+")":"rgba(0,0,0,0)",t.sc&&(this.innerElem.style.stroke="rgb("+t.sc[0]+","+t.sc[1]+","+t.sc[2]+")",this.innerElem.style.strokeWidth=t.sw+"px");var a=this.globalData.fontManager.getFontByName(t.f);if(!this.globalData.fontManager.chars)if(this.innerElem.style.fontSize=t.s+"px",this.innerElem.style.lineHeight=t.s+"px",a.fClass)this.innerElem.className=a.fClass;else{this.innerElem.style.fontFamily=a.fFamily;var r=t.fWeight,n=t.fStyle;this.innerElem.style.fontStyle=n,this.innerElem.style.fontWeight=r}var o,h,l=t.l;h=l.length;var p,m,f,d,c=this.mHelper,u="";for(o=0;h>o;o+=1){if(this.globalData.fontManager.chars?(p=document.createElementNS(svgNS,"path"),this.isMasked||(m=document.createElement("div"),f=document.createElementNS(svgNS,"svg"),m.appendChild(f),f.appendChild(p),styleDiv(m)),p.setAttribute("stroke-linecap","butt"),p.setAttribute("stroke-linejoin","round"),p.setAttribute("stroke-miterlimit","4")):this.isMasked?p=document.createElementNS(svgNS,"text"):(m=document.createElement("span"),styleDiv(m),p=document.createElement("span"),styleDiv(p),m.appendChild(p)),this.globalData.fontManager.chars){var y,v=this.globalData.fontManager.getCharData(t.t.charAt(o),a.fStyle,this.globalData.fontManager.getFontByName(t.f).fFamily);if(y=v?v.data:null,c.reset(),y&&y.shapes&&(d=y.shapes[0].it,c.scale(t.s/100,t.s/100),u=this.createPathShape(c,d),p.setAttribute("d",u)),this.isMasked)this.innerElem.appendChild(p);else{this.innerElem.appendChild(m);var g=t.s/100;if(y&&y.shapes){var b=Math.ceil(y.bounds.r*g),E=Math.floor(y.bounds.t*g),P=Math.floor(y.bounds.l*g),k=Math.ceil(y.bounds.b*g);f.setAttribute("width",b-P),f.setAttribute("height",k-E),f.setAttribute("viewBox",P+" "+E+" "+(b-P)+" "+(k-E)),f.style.transform=f.style.webkitTransform="translate("+P+"px,"+E+"px)",l[o].yOffset=E}else f.setAttribute("width",1),f.setAttribute("height",1)}}else p.textContent=l[o].val,p.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),this.isMasked?this.innerElem.appendChild(p):(this.innerElem.appendChild(m),p.style.transform=p.style.webkitTransform="translate3d(0,"+-t.s/1.2+"px,0)");this.textSpans.push(this.isMasked?p:m),this.textPaths.push(p)}},HTextElement.prototype.hide=SVGTextElement.prototype.hide,HTextElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);if(e===!1)return void this.hide();if(this.hidden&&(this.hidden=!1,this.innerElem.style.display="block"),this.data.singleShape){if(!this.firstFrame)return;this.isMasked&&this.finalTransform.matMdf&&(this.cont.setAttribute("viewBox",-this.finalTransform.mProp.p.v[0]+" "+-this.finalTransform.mProp.p.v[1]+" "+this.compW+" "+this.compH),this.cont.style.transform=this.cont.style.webkitTransform="translate("+-this.finalTransform.mProp.p.v[0]+"px,"+-this.finalTransform.mProp.p.v[1]+"px)")}if(this.getMeasures(),this.lettersChangedFlag){var s,i,a=this.renderedLetters,r=this.data.t.d.l;i=r.length;var n;for(s=0;i>s;s+=1)r[s].n||(n=a[s],this.isMasked?this.textSpans[s].setAttribute("transform",n.m):this.textSpans[s].style.transform=this.textSpans[s].style.webkitTransform=n.m,this.textSpans[s].style.opacity=n.o,n.sw&&this.textPaths[s].setAttribute("stroke-width",n.sw),n.sc&&this.textPaths[s].setAttribute("stroke",n.sc),n.fc&&(this.textPaths[s].setAttribute("fill",n.fc),this.textPaths[s].style.color=n.fc));if(this.isMasked){var o=this.innerElem.getBBox();this.currentBBox.w!==o.width&&(this.currentBBox.w=o.width,this.cont.setAttribute("width",o.width)),this.currentBBox.h!==o.height&&(this.currentBBox.h=o.height,this.cont.setAttribute("height",o.height)),(this.currentBBox.w!==o.width||this.currentBBox.h!==o.height||this.currentBBox.x!==o.x||this.currentBBox.y!==o.y)&&(this.currentBBox.w=o.width,this.currentBBox.h=o.height,this.currentBBox.x=o.x,this.currentBBox.y=o.y,this.cont.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h),this.cont.style.transform=this.cont.style.webkitTransform="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)")}this.firstFrame&&(this.firstFrame=!1)}},HTextElement.prototype.destroy=SVGTextElement.prototype.destroy,createElement(HBaseElement,HImageElement),HImageElement.prototype.createElements=function(){var t,e=function(){this.imageElem.setAttributeNS("http://www.w3.org/1999/xlink","href",this.path+this.assetData.p)},s=new Image;if(this.data.hasMask){var t=document.createElement("div");styleDiv(t);var i=document.createElementNS(svgNS,"svg");i.setAttribute("width",this.assetData.w),i.setAttribute("height",this.assetData.h),t.appendChild(i),this.imageElem=document.createElementNS(svgNS,"image"),this.imageElem.setAttribute("width",this.assetData.w+"px"),this.imageElem.setAttribute("height",this.assetData.h+"px"),i.appendChild(this.imageElem),this.layerElement=t,this.parentContainer.appendChild(t),this.innerElem=t,this.maskedElement=this.imageElem,s.addEventListener("load",e.bind(this),!1),s.addEventListener("error",e.bind(this),!1)}else styleDiv(s),this.layerElement=s,this.parentContainer.appendChild(s),this.innerElem=s;s.src=this.path+this.assetData.p,this.data.ln&&this.innerElem.setAttribute("id",this.data.ln)},HImageElement.prototype.hide=HSolidElement.prototype.hide,HImageElement.prototype.renderFrame=HSolidElement.prototype.renderFrame,HImageElement.prototype.destroy=HSolidElement.prototype.destroy,createElement(HBaseElement,HCameraElement),HCameraElement.prototype.setup=function(){var t,e,s=this.comp.threeDElements.length;for(t=0;s>t;t+=1)e=this.comp.threeDElements[t],e[0].style.perspective=e[0].style.webkitPerspective=this.pe.v+"px",e[1].style.transformOrigin=e[1].style.mozTransformOrigin=e[1].style.webkitTransformOrigin="0px 0px 0px",e[0].style.transform=e[0].style.webkitTransform="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)"},HCameraElement.prototype.createElements=function(){},HCameraElement.prototype.hide=function(){},HCameraElement.prototype.renderFrame=function(){var t,e,s=this.firstFrame;if(this.hierarchy)for(e=this.hierarchy.length,t=0;e>t;t+=1)s=this.hierarchy[t].finalTransform.mProp.mdf?!0:s;if(s||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){if(this.mat.reset(),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){var i=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]],a=Math.sqrt(Math.pow(i[0],2)+Math.pow(i[1],2)+Math.pow(i[2],2)),r=[i[0]/a,i[1]/a,i[2]/a],n=Math.sqrt(r[2]*r[2]+r[0]*r[0]),o=Math.atan2(r[1],n),h=Math.atan2(r[0],-r[2]);this.mat.rotateY(h).rotateX(-o)}if(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),this.hierarchy){var l;for(e=this.hierarchy.length,t=0;e>t;t+=1)l=this.hierarchy[t].finalTransform.mProp.iv.props,this.mat.transform(l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9],l[10],l[11],-l[12],-l[13],l[14],l[15])}e=this.comp.threeDElements.length;var p;for(t=0;e>t;t+=1)p=this.comp.threeDElements[t],p[1].style.transform=p[1].style.webkitTransform=this.mat.toCSS()}this.firstFrame=!1},HCameraElement.prototype.destroy=function(){};var animationManager=function(){function t(e){var s=0,i=e.target;for(i.removeEventListener("destroy",t);P>s;)g[s].animation===i&&(g.splice(s,1),s-=1,P-=1),s+=1}function e(e,s){if(!e)return null;for(var i=0;P>i;){if(g[i].elem==e&&null!==g[i].elem)return g[i].animation;i+=1}var a=new AnimationItem;return a.setData(e,s),a.addEventListener("destroy",t),g.push({elem:e,animation:a}),P+=1,a}function s(e){var s=new AnimationItem;return s.setParams(e),s.addEventListener("destroy",t),g.push({elem:null,animation:s}),P+=1,s}function i(t,e){var s;for(s=0;P>s;s+=1)g[s].animation.setSpeed(t,e)}function a(t,e){var s;for(s=0;P>s;s+=1)g[s].animation.setDirection(t,e)}function r(t){var e;for(e=0;P>e;e+=1)g[e].animation.play(t)}function n(t,e){E=!1,b=Date.now();var s;for(s=0;P>s;s+=1)g[s].animation.moveFrame(t,e)}function o(t){var e,s=t-b;for(e=0;P>e;e+=1)g[e].animation.advanceTime(s);b=t,requestAnimationFrame(o)}function h(t){b=t,requestAnimationFrame(o)}function l(t){var e;for(e=0;P>e;e+=1)g[e].animation.pause(t)}function p(t,e,s){var i;for(i=0;P>i;i+=1)g[i].animation.goToAndStop(t,e,s)}function m(t){var e;for(e=0;P>e;e+=1)g[e].animation.stop(t)}function f(t){var e;for(e=0;P>e;e+=1)g[e].animation.togglePause(t)}function d(t){var e;for(e=0;P>e;e+=1)g[e].animation.destroy(t)}function c(t,s,i){var a,r=document.getElementsByClassName("bodymovin"),n=r.length;for(a=0;n>a;a+=1)i&&r[a].setAttribute("data-bm-type",i),e(r[a],t);if(s&&0===n){i||(i="svg");var o=document.getElementsByTagName("body")[0];o.innerHTML="";var h=document.createElement("div");h.style.width="100%",h.style.height="100%",h.setAttribute("data-bm-type",i),o.appendChild(h),e(h,t)}}function u(){var t;for(t=0;P>t;t+=1)g[t].animation.resize()}function y(){requestAnimationFrame(h)}var v={},g=[],b=0,E=!0,P=0;return setTimeout(y,0),v.registerAnimation=e,v.loadAnimation=s,v.setSpeed=i,v.setDirection=a,v.play=r,v.moveFrame=n,v.pause=l,v.stop=m,v.togglePause=f,v.searchAnimations=c,v.resize=u,v.start=y,v.goToAndStop=p,v.destroy=d,v}(),AnimationItem=function(){this._cbs=[],this.name="",this.path="",this.isLoaded=!1,this.currentFrame=0,this.currentRawFrame=0,this.totalFrames=0,this.frameRate=0,this.frameMult=0,this.playSpeed=1,this.playDirection=1,this.pendingElements=0,this.playCount=0,this.prerenderFramesFlag=!0,this.repeat="indefinite",this.animationData={},this.layers=[],this.assets=[],this.isPaused=!0,this.isScrolling=!1,this.autoplay=!1,this.loop=!0,this.renderer=null,this.animationID=randomString(10),this.renderedFrameCount=0,this.scaleMode="fit",this.math=Math,this.removed=!1,this.timeCompleted=0,this.segmentPos=0,this.segments=[]};AnimationItem.prototype.setParams=function(t){var e=this;t.context&&(this.context=t.context),(t.wrapper||t.container)&&(this.wrapper=t.wrapper||t.container);var s=t.animType?t.animType:t.renderer?t.renderer:"canvas";switch(s){case"canvas":this.renderer=new CanvasRenderer(this,t.rendererSettings);break;case"svg":this.renderer=new SVGRenderer(this,t.rendererSettings);break;case"hybrid":case"html":default:this.renderer=new HybridRenderer(this,t.rendererSettings)}if(this.animType=s,""===t.loop||null===t.loop||(this.loop=t.loop===!1?!1:t.loop===!0?!0:parseInt(t.loop)),this.autoplay="autoplay"in t?t.autoplay:!0,this.name=t.name?t.name:"",this.prerenderFramesFlag="prerender"in t?t.prerender:!0,this.autoloadSegments=t.hasOwnProperty("autoloadSegments")?t.autoloadSegments:!0,t.animationData)e.configAnimation(t.animationData);else if(t.path){"json"!=t.path.substr(-4)&&("/"!=t.path.substr(-1,1)&&(t.path+="/"),t.path+="data.json");var i=new XMLHttpRequest;this.path=-1!=t.path.lastIndexOf("\\")?t.path.substr(0,t.path.lastIndexOf("\\")+1):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")),i.open("GET",t.path,!0),i.send(),i.onreadystatechange=function(){if(4==i.readyState)if(200==i.status)e.configAnimation(JSON.parse(i.responseText));else try{var t=JSON.parse(i.responseText);e.configAnimation(t)}catch(s){}}}},AnimationItem.prototype.setData=function(t,e){var s={wrapper:t,animationData:e?"object"==typeof e?e:JSON.parse(e):null},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:"";""===a||(s.loop="false"===a?!1:"true"===a?!0:parseInt(a)),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:"";var r=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:"";
 
-"false"===r&&(s.prerender=!1),this.setParams(s)},AnimationItem.prototype.includeLayers=function(t){t.op>this.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip),this.animationData.tf=this.totalFrames);var e,s,i=this.animationData.layers,a=i.length,r=t.layers,n=r.length;for(s=0;n>s;s+=1)for(e=0;a>e;){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;a>e;e+=1)this.animationData.assets.push(t.assets[e]);dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.includeLayers(t.layers),this.renderer.buildStage(this.container,this.layers),this.renderer.renderFrame(null),this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var t=this.animationData.segments;if(!t||0===t.length||!this.autoloadSegments)return this.trigger("data_ready"),void(this.timeCompleted=this.animationData.tf);var e=t.shift();this.timeCompleted=e.time*this.frameRate;var s=new XMLHttpRequest,i=this,a=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,s.open("GET",a,!0),s.send(),s.onreadystatechange=function(){if(4==s.readyState)if(200==s.status)i.includeLayers(JSON.parse(s.responseText));else try{var t=JSON.parse(s.responseText);i.includeLayers(t)}catch(e){}}},AnimationItem.prototype.loadSegments=function(){var t=this.animationData.segments;t||(this.timeCompleted=this.animationData.tf),this.loadNextSegment()},AnimationItem.prototype.configAnimation=function(t){this.animationData=t,this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.animationData.tf=this.totalFrames,this.renderer.configAnimation(t),t.assets||(t.assets=[]),t.comps&&(t.assets=t.assets.concat(t.comps),t.comps=null),this.animationData._id=this.animationID,this.animationData._animType=this.animType,this.layers=this.animationData.layers,this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.firstFrame=Math.round(this.animationData.ip),this.frameMult=this.animationData.fr/1e3,this.trigger("config_ready"),this.loadSegments(),this.updaFrameModifier(),this.renderer.globalData.fontManager?this.waitForFontsLoaded():(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.checkLoaded())},AnimationItem.prototype.waitForFontsLoaded=function(){function t(){this.renderer.globalData.fontManager.loaded?(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.buildItems(this.animationData.layers),this.checkLoaded()):setTimeout(t.bind(this),20)}return function(){t.bind(this)()}}(),AnimationItem.prototype.elementLoaded=function(){this.pendingElements--,this.checkLoaded()},AnimationItem.prototype.checkLoaded=function(){0===this.pendingElements&&(this.renderer.buildStage(this.container,this.layers),this.trigger("DOMLoaded"),this.isLoaded=!0,this.gotoFrame(),this.autoplay&&this.play())},AnimationItem.prototype.resize=function(){this.renderer.updateContainerSize()},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=subframeEnabled?this.currentRawFrame:this.math.floor(this.currentRawFrame),this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame()},AnimationItem.prototype.renderFrame=function(){this.isLoaded!==!1&&this.renderer.renderFrame(this.currentFrame+this.firstFrame)},AnimationItem.prototype.play=function(t){t&&this.name!=t||this.isPaused===!0&&(this.isPaused=!1)},AnimationItem.prototype.pause=function(t){t&&this.name!=t||this.isPaused===!1&&(this.isPaused=!0)},AnimationItem.prototype.togglePause=function(t){t&&this.name!=t||(this.isPaused===!0?(this.isPaused=!1,this.play()):(this.isPaused=!0,this.pause()))},AnimationItem.prototype.stop=function(t){t&&this.name!=t||(this.isPaused=!0,this.currentFrame=this.currentRawFrame=0,this.playCount=0,this.gotoFrame())},AnimationItem.prototype.goToAndStop=function(t,e,s){s&&this.name!=s||(this.setCurrentRawFrameValue(e?t:t*this.frameModifier),this.isPaused=!0)},AnimationItem.prototype.advanceTime=function(t){this.isPaused!==!0&&this.isScrolling!==!0&&this.isLoaded!==!1&&this.setCurrentRawFrameValue(this.currentRawFrame+t*this.frameModifier)},AnimationItem.prototype.updateAnimation=function(t){this.setCurrentRawFrameValue(this.totalFrames*t)},AnimationItem.prototype.moveFrame=function(t,e){e&&this.name!=e||this.setCurrentRawFrameValue(this.currentRawFrame+t)},AnimationItem.prototype.adjustSegment=function(t){this.totalFrames=t[1]-t[0],this.firstFrame=t[0],this.trigger("segmentStart")},AnimationItem.prototype.playSegments=function(t,e){if("object"==typeof t[0]){var s,i=t.length;for(s=0;i>s;s+=1)this.segments.push(t[s])}else this.segments.push(t);e&&(this.adjustSegment(this.segments.shift()),this.setCurrentRawFrameValue(0)),this.isPaused&&this.play()},AnimationItem.prototype.resetSegments=function(t){this.segments.length=0,this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op-this.animationData.ip+this.animationData.ip*this.frameRate)]),t&&this.adjustSegment(this.segments.shift())},AnimationItem.prototype.remove=function(t){t&&this.name!=t||this.renderer.destroy()},AnimationItem.prototype.destroy=function(t){t&&this.name!=t||this.renderer&&this.renderer.destroyed||(this.renderer.destroy(),this.trigger("destroy"),this._cbs=null)},AnimationItem.prototype.setCurrentRawFrameValue=function(t){this.currentRawFrame=t;var e=!1;if(this.currentRawFrame>=this.totalFrames){if(this.segments.length&&(e=!0),this.loop===!1)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete");if(this.trigger("loopComplete"),this.playCount+=1,this.loop!==!0&&this.playCount==this.loop)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete")}else if(this.currentRawFrame<0)return this.playCount-=1,this.playCount<0&&(this.playCount=0),this.loop===!1?(this.currentRawFrame=0,this.gotoFrame(),this.pause(),void this.trigger("complete")):(this.trigger("loopComplete"),this.currentRawFrame=this.totalFrames+this.currentRawFrame,void this.gotoFrame());if(e){var s=this.currentRawFrame%this.totalFrames;this.adjustSegment(this.segments.shift()),this.currentRawFrame=s}else this.currentRawFrame=this.currentRawFrame%this.totalFrames;this.gotoFrame()},AnimationItem.prototype.setSpeed=function(t){this.playSpeed=t,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(t){this.playDirection=0>t?-1:1,this.updaFrameModifier()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetData=function(t){for(var e=0,s=this.assets.length;s>e;){if(t==this.assets[e].id)return this.assets[e];e+=1}},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getAssets=function(){return this.assets},AnimationItem.prototype.trigger=function(t){if(this._cbs[t])switch(t){case"enterFrame":this.triggerEvent(t,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult));break;case"loopComplete":this.triggerEvent(t,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(t,new BMCompleteEvent(t,this.frameMult));break;case"segmentStart":this.triggerEvent(t,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(t,new BMDestroyEvent(t,this));break;default:this.triggerEvent(t)}"enterFrame"===t&&this.onEnterFrame&&this.onEnterFrame.call(this,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult)),"loopComplete"===t&&this.onLoopComplete&&this.onLoopComplete.call(this,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult)),"complete"===t&&this.onComplete&&this.onComplete.call(this,new BMCompleteEvent(t,this.frameMult)),"segmentStart"===t&&this.onSegmentStart&&this.onSegmentStart.call(this,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames)),"destroy"===t&&this.onDestroy&&this.onDestroy.call(this,new BMDestroyEvent(t,this))},AnimationItem.prototype.addEventListener=_addEventListener,AnimationItem.prototype.removeEventListener=_removeEventListener,AnimationItem.prototype.triggerEvent=_triggerEvent;var bodymovinjs = {}; function play(animation){ animationManager.play(animation); } function pause(animation){ animationManager.pause(animation); } function togglePause(animation){ animationManager.togglePause(animation); } function setSpeed(value,animation){ animationManager.setSpeed(value, animation); } function setDirection(value,animation){ animationManager.setDirection(value, animation); } function stop(animation){ animationManager.stop(animation); } function moveFrame(value){ animationManager.moveFrame(value); } function searchAnimations(){ if(standalone === true){ animationManager.searchAnimations(animationData,standalone, renderer); }else{ animationManager.searchAnimations(); } } function registerAnimation(elem){ return animationManager.registerAnimation(elem); } function resize(){ animationManager.resize(); } function start(){ animationManager.start(); } function goToAndStop(val,isFrame, animation){ animationManager.goToAndStop(val,isFrame, animation); } function setSubframeRendering(flag){ subframeEnabled = flag; } function loadAnimation(params){ if(standalone === true){ params.animationData = JSON.parse(animationData); } return animationManager.loadAnimation(params); } function destroy(animation){ return animationManager.destroy(animation); } function setQuality(value){ if(typeof value === 'string'){ switch(value){ case 'high': defaultCurveSegments = 200; break; case 'medium': defaultCurveSegments = 50; break; case 'low': defaultCurveSegments = 10; break; } }else if(!isNaN(value) && value > 1){ defaultCurveSegments = value; } if(defaultCurveSegments >= 50){ roundValues(false); }else{ roundValues(true); } } bodymovinjs.play = play; bodymovinjs.pause = pause; bodymovinjs.togglePause = togglePause; bodymovinjs.setSpeed = setSpeed; bodymovinjs.setDirection = setDirection; bodymovinjs.stop = stop; bodymovinjs.moveFrame = moveFrame; bodymovinjs.searchAnimations = searchAnimations; bodymovinjs.registerAnimation = registerAnimation; bodymovinjs.loadAnimation = loadAnimation; bodymovinjs.setSubframeRendering = setSubframeRendering; bodymovinjs.resize = resize; bodymovinjs.start = start; bodymovinjs.goToAndStop = goToAndStop; bodymovinjs.destroy = destroy; bodymovinjs.setQuality = setQuality; bodymovinjs.version = '4.1.3'; function checkReady(){ if (document.readyState === "complete") { clearInterval(readyStateCheckInterval); searchAnimations(); } } function getQueryVariable(variable) { var vars = queryString.split('&'); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split('='); if (decodeURIComponent(pair[0]) == variable) { return decodeURIComponent(pair[1]); } } } var standalone = '__[STANDALONE]__'; var animationData = '__[ANIMATIONDATA]__'; var renderer = ''; if(standalone) { var scripts = document.getElementsByTagName('script'); var index = scripts.length - 1; var myScript = scripts[index]; var queryString = myScript.src.replace(/^[^\?]+\??/,''); renderer = getQueryVariable('renderer'); } var readyStateCheckInterval = setInterval(checkReady, 100); return bodymovinjs; })); 
\ No newline at end of file
+"false"===r&&(s.prerender=!1),this.setParams(s)},AnimationItem.prototype.includeLayers=function(t){t.op>this.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip),this.animationData.tf=this.totalFrames);var e,s,i=this.animationData.layers,a=i.length,r=t.layers,n=r.length;for(s=0;n>s;s+=1)for(e=0;a>e;){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;a>e;e+=1)this.animationData.assets.push(t.assets[e]);dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.includeLayers(t.layers),this.renderer.buildStage(this.container,this.layers),this.renderer.renderFrame(null),this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var t=this.animationData.segments;if(!t||0===t.length||!this.autoloadSegments)return this.trigger("data_ready"),void(this.timeCompleted=this.animationData.tf);var e=t.shift();this.timeCompleted=e.time*this.frameRate;var s=new XMLHttpRequest,i=this,a=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,s.open("GET",a,!0),s.send(),s.onreadystatechange=function(){if(4==s.readyState)if(200==s.status)i.includeLayers(JSON.parse(s.responseText));else try{var t=JSON.parse(s.responseText);i.includeLayers(t)}catch(e){}}},AnimationItem.prototype.loadSegments=function(){var t=this.animationData.segments;t||(this.timeCompleted=this.animationData.tf),this.loadNextSegment()},AnimationItem.prototype.configAnimation=function(t){this.animationData=t,this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.animationData.tf=this.totalFrames,this.renderer.configAnimation(t),t.assets||(t.assets=[]),t.comps&&(t.assets=t.assets.concat(t.comps),t.comps=null),this.animationData._id=this.animationID,this.animationData._animType=this.animType,this.layers=this.animationData.layers,this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.firstFrame=Math.round(this.animationData.ip),this.frameMult=this.animationData.fr/1e3,this.trigger("config_ready"),this.loadSegments(),this.updaFrameModifier(),this.renderer.globalData.fontManager?this.waitForFontsLoaded():(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.checkLoaded())},AnimationItem.prototype.waitForFontsLoaded=function(){function t(){this.renderer.globalData.fontManager.loaded?(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.buildItems(this.animationData.layers),this.checkLoaded()):setTimeout(t.bind(this),20)}return function(){t.bind(this)()}}(),AnimationItem.prototype.elementLoaded=function(){this.pendingElements--,this.checkLoaded()},AnimationItem.prototype.checkLoaded=function(){0===this.pendingElements&&(this.renderer.buildStage(this.container,this.layers),this.trigger("DOMLoaded"),this.isLoaded=!0,this.gotoFrame(),this.autoplay&&this.play())},AnimationItem.prototype.resize=function(){this.renderer.updateContainerSize()},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=subframeEnabled?this.currentRawFrame:this.math.floor(this.currentRawFrame),this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame()},AnimationItem.prototype.renderFrame=function(){this.isLoaded!==!1&&this.renderer.renderFrame(this.currentFrame+this.firstFrame)},AnimationItem.prototype.play=function(t){t&&this.name!=t||this.isPaused===!0&&(this.isPaused=!1)},AnimationItem.prototype.pause=function(t){t&&this.name!=t||this.isPaused===!1&&(this.isPaused=!0)},AnimationItem.prototype.togglePause=function(t){t&&this.name!=t||(this.isPaused===!0?(this.isPaused=!1,this.play()):(this.isPaused=!0,this.pause()))},AnimationItem.prototype.stop=function(t){t&&this.name!=t||(this.isPaused=!0,this.currentFrame=this.currentRawFrame=0,this.playCount=0,this.gotoFrame())},AnimationItem.prototype.goToAndStop=function(t,e,s){s&&this.name!=s||(this.setCurrentRawFrameValue(e?t:t*this.frameModifier),this.isPaused=!0)},AnimationItem.prototype.advanceTime=function(t){this.isPaused!==!0&&this.isScrolling!==!0&&this.isLoaded!==!1&&this.setCurrentRawFrameValue(this.currentRawFrame+t*this.frameModifier)},AnimationItem.prototype.updateAnimation=function(t){this.setCurrentRawFrameValue(this.totalFrames*t)},AnimationItem.prototype.moveFrame=function(t,e){e&&this.name!=e||this.setCurrentRawFrameValue(this.currentRawFrame+t)},AnimationItem.prototype.adjustSegment=function(t){this.totalFrames=t[1]-t[0],this.firstFrame=t[0],this.trigger("segmentStart")},AnimationItem.prototype.playSegments=function(t,e){if("object"==typeof t[0]){var s,i=t.length;for(s=0;i>s;s+=1)this.segments.push(t[s])}else this.segments.push(t);e&&(this.adjustSegment(this.segments.shift()),this.setCurrentRawFrameValue(0)),this.isPaused&&this.play()},AnimationItem.prototype.resetSegments=function(t){this.segments.length=0,this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op-this.animationData.ip+this.animationData.ip*this.frameRate)]),t&&this.adjustSegment(this.segments.shift())},AnimationItem.prototype.remove=function(t){t&&this.name!=t||this.renderer.destroy()},AnimationItem.prototype.destroy=function(t){t&&this.name!=t||this.renderer&&this.renderer.destroyed||(this.renderer.destroy(),this.trigger("destroy"),this._cbs=null)},AnimationItem.prototype.setCurrentRawFrameValue=function(t){this.currentRawFrame=t;var e=!1;if(this.currentRawFrame>=this.totalFrames){if(this.segments.length&&(e=!0),this.loop===!1)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete");if(this.trigger("loopComplete"),this.playCount+=1,this.loop!==!0&&this.playCount==this.loop)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete")}else if(this.currentRawFrame<0)return this.playCount-=1,this.playCount<0&&(this.playCount=0),this.loop===!1?(this.currentRawFrame=0,this.gotoFrame(),this.pause(),void this.trigger("complete")):(this.trigger("loopComplete"),this.currentRawFrame=this.totalFrames+this.currentRawFrame,void this.gotoFrame());if(e){var s=this.currentRawFrame%this.totalFrames;this.adjustSegment(this.segments.shift()),this.currentRawFrame=s}else this.currentRawFrame=this.currentRawFrame%this.totalFrames;this.gotoFrame()},AnimationItem.prototype.setSpeed=function(t){this.playSpeed=t,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(t){this.playDirection=0>t?-1:1,this.updaFrameModifier()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetData=function(t){for(var e=0,s=this.assets.length;s>e;){if(t==this.assets[e].id)return this.assets[e];e+=1}},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getAssets=function(){return this.assets},AnimationItem.prototype.trigger=function(t){if(this._cbs[t])switch(t){case"enterFrame":this.triggerEvent(t,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult));break;case"loopComplete":this.triggerEvent(t,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(t,new BMCompleteEvent(t,this.frameMult));break;case"segmentStart":this.triggerEvent(t,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(t,new BMDestroyEvent(t,this));break;default:this.triggerEvent(t)}"enterFrame"===t&&this.onEnterFrame&&this.onEnterFrame.call(this,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult)),"loopComplete"===t&&this.onLoopComplete&&this.onLoopComplete.call(this,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult)),"complete"===t&&this.onComplete&&this.onComplete.call(this,new BMCompleteEvent(t,this.frameMult)),"segmentStart"===t&&this.onSegmentStart&&this.onSegmentStart.call(this,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames)),"destroy"===t&&this.onDestroy&&this.onDestroy.call(this,new BMDestroyEvent(t,this))},AnimationItem.prototype.addEventListener=_addEventListener,AnimationItem.prototype.removeEventListener=_removeEventListener,AnimationItem.prototype.triggerEvent=_triggerEvent;var bodymovinjs = {}; function play(animation){ animationManager.play(animation); } function pause(animation){ animationManager.pause(animation); } function togglePause(animation){ animationManager.togglePause(animation); } function setSpeed(value,animation){ animationManager.setSpeed(value, animation); } function setDirection(value,animation){ animationManager.setDirection(value, animation); } function stop(animation){ animationManager.stop(animation); } function moveFrame(value){ animationManager.moveFrame(value); } function searchAnimations(){ if(standalone === true){ animationManager.searchAnimations(animationData,standalone, renderer); }else{ animationManager.searchAnimations(); } } function registerAnimation(elem){ return animationManager.registerAnimation(elem); } function resize(){ animationManager.resize(); } function start(){ animationManager.start(); } function goToAndStop(val,isFrame, animation){ animationManager.goToAndStop(val,isFrame, animation); } function setSubframeRendering(flag){ subframeEnabled = flag; } function loadAnimation(params){ if(standalone === true){ params.animationData = JSON.parse(animationData); } return animationManager.loadAnimation(params); } function destroy(animation){ return animationManager.destroy(animation); } function setQuality(value){ if(typeof value === 'string'){ switch(value){ case 'high': defaultCurveSegments = 200; break; case 'medium': defaultCurveSegments = 50; break; case 'low': defaultCurveSegments = 10; break; } }else if(!isNaN(value) && value > 1){ defaultCurveSegments = value; } if(defaultCurveSegments >= 50){ roundValues(false); }else{ roundValues(true); } } bodymovinjs.play = play; bodymovinjs.pause = pause; bodymovinjs.togglePause = togglePause; bodymovinjs.setSpeed = setSpeed; bodymovinjs.setDirection = setDirection; bodymovinjs.stop = stop; bodymovinjs.moveFrame = moveFrame; bodymovinjs.searchAnimations = searchAnimations; bodymovinjs.registerAnimation = registerAnimation; bodymovinjs.loadAnimation = loadAnimation; bodymovinjs.setSubframeRendering = setSubframeRendering; bodymovinjs.resize = resize; bodymovinjs.start = start; bodymovinjs.goToAndStop = goToAndStop; bodymovinjs.destroy = destroy; bodymovinjs.setQuality = setQuality; bodymovinjs.version = '4.1.4'; function checkReady(){ if (document.readyState === "complete") { clearInterval(readyStateCheckInterval); searchAnimations(); } } function getQueryVariable(variable) { var vars = queryString.split('&'); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split('='); if (decodeURIComponent(pair[0]) == variable) { return decodeURIComponent(pair[1]); } } } var standalone = '__[STANDALONE]__'; var animationData = '__[ANIMATIONDATA]__'; var renderer = ''; if(standalone) { var scripts = document.getElementsByTagName('script'); var index = scripts.length - 1; var myScript = scripts[index]; var queryString = myScript.src.replace(/^[^\?]+\??/,''); renderer = getQueryVariable('renderer'); } var readyStateCheckInterval = setInterval(checkReady, 100); return bodymovinjs; })); 
\ No newline at end of file
diff --git a/extension/CSXS/manifest.xml b/extension/CSXS/manifest.xml
index 2d51c4e..84dec5c 100644
--- a/extension/CSXS/manifest.xml
+++ b/extension/CSXS/manifest.xml
@@ -2,7 +2,7 @@
 <ExtensionManifest Version="5.0" ExtensionBundleId="com.bodymovin.bodymovin" ExtensionBundleVersion="4.1.3"
 		ExtensionBundleName="bodymovin" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<ExtensionList>
-		<Extension Id="com.bodymovin.bodymovin" Version="4.1.3" />
+		<Extension Id="com.bodymovin.bodymovin" Version="4.1.4" />
 	</ExtensionList>
 	<ExecutionEnvironment>
 		<HostList>
diff --git a/extension/assets/player/bm.js b/extension/assets/player/bm.js
index 09d6fc2..86c7a4b 100644
--- a/extension/assets/player/bm.js
+++ b/extension/assets/player/bm.js
@@ -5,4 +5,4 @@
 else if(2==this.data.td){var t=document.createElementNS(svgNS,"mask");t.setAttribute("id",this.layerId),t.setAttribute("mask-type","alpha");var e=document.createElementNS(svgNS,"g");t.appendChild(e),this.layerElement=document.createElementNS(svgNS,"g");var s=document.createElementNS(svgNS,"filter"),i=randomString(10);s.setAttribute("id",i),s.setAttribute("filterUnits","objectBoundingBox"),s.setAttribute("x","0%"),s.setAttribute("y","0%"),s.setAttribute("width","100%"),s.setAttribute("height","100%");var a=document.createElementNS(svgNS,"feComponentTransfer");a.setAttribute("in","SourceGraphic"),s.appendChild(a);var r=document.createElementNS(svgNS,"feFuncA");r.setAttribute("type","table"),r.setAttribute("tableValues","1.0 0.0"),a.appendChild(r),this.globalData.defs.appendChild(s);var n=document.createElementNS(svgNS,"rect");n.setAttribute("width","100%"),n.setAttribute("height","100%"),n.setAttribute("x","0"),n.setAttribute("y","0"),n.setAttribute("fill","#ffffff"),n.setAttribute("opacity","0"),e.setAttribute("filter","url(#"+i+")"),e.appendChild(n),e.appendChild(this.layerElement),this.globalData.defs.appendChild(t)}else{this.layerElement=document.createElementNS(svgNS,"g");var o=document.createElementNS(svgNS,"mask");o.setAttribute("id",this.layerId),o.setAttribute("mask-type","alpha"),o.appendChild(this.layerElement),this.globalData.defs.appendChild(o)}this.data.hasMask&&(this.maskedElement=this.layerElement)}else this.data.hasMask?(this.layerElement=document.createElementNS(svgNS,"g"),this.data.tt?(this.matteElement=document.createElementNS(svgNS,"g"),this.matteElement.appendChild(this.layerElement),this.appendNodeToParent(this.matteElement)):this.appendNodeToParent(this.layerElement),this.maskedElement=this.layerElement):this.data.tt?(this.matteElement=document.createElementNS(svgNS,"g"),this.matteElement.setAttribute("id",this.layerId),this.appendNodeToParent(this.matteElement),this.layerElement=this.matteElement):this.layerElement=this.parentContainer;!this.data.ln||4!==this.data.ty&&0!==this.data.ty||(this.layerElement===this.parentContainer&&(this.layerElement=document.createElementNS(svgNS,"g"),this.appendNodeToParent(this.layerElement)),this.layerElement.setAttribute("id",this.data.ln)),0!==this.data.ty||!this.finalTransform.op.k&&1===this.finalTransform.op.p||this.layerElement!==this.parentContainer||(this.layerElement=document.createElementNS(svgNS,"g"),this.appendNodeToParent(this.layerElement)),this.layerElement!==this.parentContainer&&(this.placeholder=null)},SVGBaseElement.prototype.renderFrame=function(t){if(3===this.data.ty)return!1;if(this.currentFrameNum===this.lastNum||!this.isVisible)return this.isVisible;this.lastNum=this.currentFrameNum,this.data.hasMask&&this.maskManager.renderFrame(),this.finalTransform.opMdf=this.finalTransform.op.mdf,this.finalTransform.matMdf=this.finalTransform.mProp.mdf,this.finalTransform.opacity=this.finalTransform.op.v,this.firstFrame&&(this.finalTransform.opMdf=!0,this.finalTransform.matMdf=!0);var e,s=this.finalTransform.mat;if(this.hierarchy){var i,a=this.hierarchy.length;for(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e),i=0;a>i;i+=1)this.finalTransform.matMdf=this.hierarchy[i].finalTransform.mProp.mdf?!0:this.finalTransform.matMdf,e=this.hierarchy[i].finalTransform.mProp.v.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}else this.isVisible&&(t?(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e)):s.cloneFromProps(this.finalTransform.mProp.v.props));return t&&(e=t.mat.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]),this.finalTransform.opacity*=t.opacity,this.finalTransform.opMdf=t.opMdf?!0:this.finalTransform.opMdf,this.finalTransform.matMdf=t.matMdf?!0:this.finalTransform.matMdf),this.data.hasMask?(this.finalTransform.matMdf&&this.layerElement.setAttribute("transform",s.to2dCSS()),this.finalTransform.opMdf&&this.layerElement.setAttribute("opacity",this.finalTransform.opacity)):0===this.data.ty&&this.finalTransform.opMdf&&(this.finalTransform.op.k||1!==this.finalTransform.op.p)&&(this.layerElement.setAttribute("opacity",this.finalTransform.opacity),this.finalTransform.opacity=1),this.isVisible},SVGBaseElement.prototype.destroy=function(){this.layerElement=null,this.parentContainer=null,this.matteElement&&(this.matteElement=null),this.maskManager&&this.maskManager.destroy()},SVGBaseElement.prototype.getDomElement=function(){return this.layerElement},SVGBaseElement.prototype.addMasks=function(t){this.maskManager=new MaskElement(t,this,this.globalData)},SVGBaseElement.prototype.setMatte=function(t){this.matteElement&&this.matteElement.setAttribute("mask","url(#"+t+")")},SVGBaseElement.prototype.hide=function(){},ITextElement.prototype.init=function(){this.parent.init.call(this),this.lettersChangedFlag=!1;var t=this.data;this.renderedLetters=Array.apply(null,{length:t.t.d.l.length}),this.viewData={m:{a:PropertyFactory.getProp(this,t.t.m.a,1,0,this.dynamicProperties)}};var e=this.data.t;if(e.a.length){this.viewData.a=Array.apply(null,{length:e.a.length});var s,i,a,r=e.a.length;for(s=0;r>s;s+=1)a=e.a[s],i={a:{},s:{}},"r"in a.a&&(i.a.r=PropertyFactory.getProp(this,a.a.r,0,degToRads,this.dynamicProperties)),"rx"in a.a&&(i.a.rx=PropertyFactory.getProp(this,a.a.rx,0,degToRads,this.dynamicProperties)),"ry"in a.a&&(i.a.ry=PropertyFactory.getProp(this,a.a.ry,0,degToRads,this.dynamicProperties)),"sk"in a.a&&(i.a.sk=PropertyFactory.getProp(this,a.a.sk,0,degToRads,this.dynamicProperties)),"sa"in a.a&&(i.a.sa=PropertyFactory.getProp(this,a.a.sa,0,degToRads,this.dynamicProperties)),"s"in a.a&&(i.a.s=PropertyFactory.getProp(this,a.a.s,1,.01,this.dynamicProperties)),"a"in a.a&&(i.a.a=PropertyFactory.getProp(this,a.a.a,1,0,this.dynamicProperties)),"o"in a.a&&(i.a.o=PropertyFactory.getProp(this,a.a.o,0,.01,this.dynamicProperties)),"p"in a.a&&(i.a.p=PropertyFactory.getProp(this,a.a.p,1,0,this.dynamicProperties)),"sw"in a.a&&(i.a.sw=PropertyFactory.getProp(this,a.a.sw,0,0,this.dynamicProperties)),"sc"in a.a&&(i.a.sc=PropertyFactory.getProp(this,a.a.sc,1,0,this.dynamicProperties)),"fc"in a.a&&(i.a.fc=PropertyFactory.getProp(this,a.a.fc,1,0,this.dynamicProperties)),"fh"in a.a&&(i.a.fh=PropertyFactory.getProp(this,a.a.fh,0,0,this.dynamicProperties)),"fs"in a.a&&(i.a.fs=PropertyFactory.getProp(this,a.a.fs,0,.01,this.dynamicProperties)),"fb"in a.a&&(i.a.fb=PropertyFactory.getProp(this,a.a.fb,0,.01,this.dynamicProperties)),"t"in a.a&&(i.a.t=PropertyFactory.getProp(this,a.a.t,0,0,this.dynamicProperties)),i.s=PropertyFactory.getTextSelectorProp(this,a.s,this.dynamicProperties),i.s.t=a.s.t,this.viewData.a[s]=i}else this.viewData.a=[];e.p&&"m"in e.p?(this.viewData.p={f:PropertyFactory.getProp(this,e.p.f,0,0,this.dynamicProperties),l:PropertyFactory.getProp(this,e.p.l,0,0,this.dynamicProperties),r:e.p.r,m:this.maskManager.getMaskProperty(e.p.m)},this.maskPath=!0):this.maskPath=!1},ITextElement.prototype.createPathShape=function(t,e){var s,i,a,r,n=e.length,o="";for(s=0;n>s;s+=1){for(a=e[s].ks.k.i.length,r=e[s].ks.k,i=1;a>i;i+=1)1==i&&(o+=" M"+t.applyToPointStringified(r.v[0][0],r.v[0][1])),o+=" C"+t.applyToPointStringified(r.o[i-1][0],r.o[i-1][1])+" "+t.applyToPointStringified(r.i[i][0],r.i[i][1])+" "+t.applyToPointStringified(r.v[i][0],r.v[i][1]);o+=" C"+t.applyToPointStringified(r.o[i-1][0],r.o[i-1][1])+" "+t.applyToPointStringified(r.i[0][0],r.i[0][1])+" "+t.applyToPointStringified(r.v[0][0],r.v[0][1]),o+="z"}return o},ITextElement.prototype.getMeasures=function(){var t,e,s,i,a=this.mHelper,r=this.renderType,n=this.data,o=n.t.d,h=o.l;if(this.maskPath){var l=this.viewData.p.m;if(!this.viewData.p.n||this.viewData.p.mdf){var p=l.v;this.viewData.p.r&&(p=reversePath(p,l.closed));var m={tLength:0,segments:[]};i=p.v.length-1;var f,d=0;for(s=0;i>s;s+=1)f={s:p.v[s],e:p.v[s+1],to:[p.o[s][0]-p.v[s][0],p.o[s][1]-p.v[s][1]],ti:[p.i[s+1][0]-p.v[s+1][0],p.i[s+1][1]-p.v[s+1][1]]},bez.buildBezierData(f),m.tLength+=f.bezierData.segmentLength,m.segments.push(f),d+=f.bezierData.segmentLength;s=i,l.closed&&(f={s:p.v[s],e:p.v[0],to:[p.o[s][0]-p.v[s][0],p.o[s][1]-p.v[s][1]],ti:[p.i[0][0]-p.v[0][0],p.i[0][1]-p.v[0][1]]},bez.buildBezierData(f),m.tLength+=f.bezierData.segmentLength,m.segments.push(f),d+=f.bezierData.segmentLength),this.viewData.p.pi=m}var c,u,y,m=this.viewData.p.pi,v=this.viewData.p.f.v,g=0,b=1,E=0,P=!0,k=m.segments;if(0>v&&l.closed)for(m.tLength<Math.abs(v)&&(v=-Math.abs(v)%m.tLength),g=k.length-1,y=k[g].bezierData.points,b=y.length-1;0>v;)v+=y[b].partialLength,b-=1,0>b&&(g-=1,y=k[g].bezierData.points,b=y.length-1);y=k[g].bezierData.points,u=y[b-1],c=y[b];var S,C,x=c.partialLength}i=h.length,t=0,e=0;var w,D,T,M,I,F=1.2*n.t.d.s*.714,A=!0,V=this.viewData,N=Array.apply(null,{length:i});this.lettersChangedFlag=!1,M=V.a.length;var L,B,_,H,R,z,O,j,G,W,X,q,Y,Z,J,U,K=-1,Q=v,$=g,tt=b,et=-1,st=0;for(s=0;i>s;s+=1)if(a.reset(),z=1,h[s].n)t=0,e+=o.yOffset,e+=A?1:0,v=Q,A=!1,st=0,this.maskPath&&(g=$,b=tt,y=k[g].bezierData.points,u=y[b-1],c=y[b],x=c.partialLength,E=0),N[s]=this.emptyProp;else{if(this.maskPath){if(et!==h[s].line){switch(o.j){case 1:v+=d-o.lineWidths[h[s].line];break;case 2:v+=(d-o.lineWidths[h[s].line])/2}et=h[s].line}K!==h[s].ind&&(h[K]&&(v+=h[K].extra),v+=h[s].an/2,K=h[s].ind),v+=V.m.a.v[0]*h[s].an/200;var it=0;for(T=0;M>T;T+=1)w=V.a[T].a,"p"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),it+=B.length?w.p.v[0]*B[0]:w.p.v[0]*B);for(P=!0;P;)E+x>=v+it||!y?(S=(v+it-E)/c.partialLength,H=u.point[0]+(c.point[0]-u.point[0])*S,R=u.point[1]+(c.point[1]-u.point[1])*S,a.translate(0,-(V.m.a.v[1]*F/100)+e),P=!1):y&&(E+=c.partialLength,b+=1,b>=y.length&&(b=0,g+=1,k[g]?y=k[g].bezierData.points:l.closed?(b=0,g=0,y=k[g].bezierData.points):(E-=c.partialLength,y=null)),y&&(u=c,c=y[b],x=c.partialLength));_=h[s].an/2-h[s].add,a.translate(-_,0,0)}else _=h[s].an/2-h[s].add,a.translate(-_,0,0),a.translate(-V.m.a.v[0]*h[s].an/200,-V.m.a.v[1]*F/100,0);for(st+=h[s].l/2,T=0;M>T;T+=1)w=V.a[T].a,"t"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),this.maskPath?v+=B.length?w.t*B[0]:w.t*B:t+=B.length?w.t.v*B[0]:w.t.v*B);for(st+=h[s].l/2,o.strokeWidthAnim&&(j=n.t.d.sw||0),o.strokeColorAnim&&(O=n.t.d.sc?[n.t.d.sc[0],n.t.d.sc[1],n.t.d.sc[2]]:[0,0,0]),o.fillColorAnim&&(G=[n.t.d.fc[0],n.t.d.fc[1],n.t.d.fc[2]]),T=0;M>T;T+=1)w=V.a[T].a,"a"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),B.length?a.translate(-w.a.v[0]*B[0],-w.a.v[1]*B[1],w.a.v[2]*B[2]):a.translate(-w.a.v[0]*B,-w.a.v[1]*B,w.a.v[2]*B));for(T=0;M>T;T+=1)w=V.a[T].a,"s"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),B.length?a.scale(1+(w.s.v[0]-1)*B[0],1+(w.s.v[1]-1)*B[1],1):a.scale(1+(w.s.v[0]-1)*B,1+(w.s.v[1]-1)*B,1));for(T=0;M>T;T+=1){if(w=V.a[T].a,D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),"sk"in w&&(B.length?a.skewFromAxis(-w.sk.v*B[0],w.sa.v*B[1]):a.skewFromAxis(-w.sk.v*B,w.sa.v*B)),"r"in w&&a.rotateZ(B.length?-w.r.v*B[2]:-w.r.v*B),"ry"in w&&a.rotateY(B.length?w.ry.v*B[1]:w.ry.v*B),"rx"in w&&a.rotateX(B.length?w.rx.v*B[0]:w.rx.v*B),"o"in w&&(z+=B.length?(w.o.v*B[0]-z)*B[0]:(w.o.v*B-z)*B),o.strokeWidthAnim&&"sw"in w&&(j+=B.length?w.sw.v*B[0]:w.sw.v*B),o.strokeColorAnim&&"sc"in w)for(W=0;3>W;W+=1)O[W]=Math.round(B.length?O[W]+(w.sc.v[W]-O[W])*B[0]:O[W]+(w.sc.v[W]-O[W])*B);if(o.fillColorAnim){if("fc"in w)for(W=0;3>W;W+=1)G[W]=Math.round(B.length?G[W]+(w.fc.v[W]-G[W])*B[0]:G[W]+(w.fc.v[W]-G[W])*B);"fh"in w&&(G=B.length?addHueToRGB(G,w.fh.v*B[0]):addHueToRGB(G,w.fh.v*B)),"fs"in w&&(G=B.length?addSaturationToRGB(G,w.fs.v*B[0]):addSaturationToRGB(G,w.fs.v*B)),"fb"in w&&(G=B.length?addBrightnessToRGB(G,w.fb.v*B[0]):addBrightnessToRGB(G,w.fb.v*B))}}for(T=0;M>T;T+=1)w=V.a[T].a,"p"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),this.maskPath?B.length?a.translate(0,w.p.v[1]*B[0],-w.p.v[2]*B[1]):a.translate(0,w.p.v[1]*B,-w.p.v[2]*B):B.length?a.translate(w.p.v[0]*B[0],w.p.v[1]*B[1],-w.p.v[2]*B[2]):a.translate(w.p.v[0]*B,w.p.v[1]*B,-w.p.v[2]*B));if(o.strokeWidthAnim&&(X=0>j?0:j),o.strokeColorAnim&&(q="rgb("+O[0]+","+O[1]+","+O[2]+")"),o.fillColorAnim&&(Y="rgb("+G[0]+","+G[1]+","+G[2]+")"),this.maskPath){if(n.t.p.p){C=(c.point[1]-u.point[1])/(c.point[0]-u.point[0]);var at=180*Math.atan(C)/Math.PI;c.point[0]<u.point[0]&&(at+=180),a.rotate(-at*Math.PI/180)}a.translate(H,R,0),a.translate(V.m.a.v[0]*h[s].an/200,V.m.a.v[1]*F/100,0),v-=V.m.a.v[0]*h[s].an/200,h[s+1]&&K!==h[s+1].ind&&(v+=h[s].an/2,v+=o.tr/1e3*n.t.d.s)}else{switch(a.translate(t,e,0),o.ps&&a.translate(o.ps[0],o.ps[1]+o.ascent,0),o.j){case 1:a.translate(o.justifyOffset+(o.boxWidth-o.lineWidths[h[s].line]),0,0);break;case 2:a.translate(o.justifyOffset+(o.boxWidth-o.lineWidths[h[s].line])/2,0,0)}a.translate(_,0,0),a.translate(V.m.a.v[0]*h[s].an/200,V.m.a.v[1]*F/100,0),t+=h[s].l+o.tr/1e3*n.t.d.s}"html"===r?Z=a.toCSS():"svg"===r?Z=a.to2dCSS():J=[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]],U=z,L=this.renderedLetters[s],!L||L.o===U&&L.sw===X&&L.sc===q&&L.fc===Y?"svg"!==r&&"html"!==r||L&&L.m===Z?"canvas"!==r||L&&L.props[0]===J[0]&&L.props[1]===J[1]&&L.props[4]===J[4]&&L.props[5]===J[5]&&L.props[12]===J[12]&&L.props[13]===J[13]?I=L:(this.lettersChangedFlag=!0,I=new LetterProps(U,X,q,Y,null,J)):(this.lettersChangedFlag=!0,I=new LetterProps(U,X,q,Y,Z)):(this.lettersChangedFlag=!0,I=new LetterProps(U,X,q,Y,Z,J)),this.renderedLetters[s]=I}},ITextElement.prototype.emptyProp=new LetterProps,createElement(SVGBaseElement,SVGTextElement),SVGTextElement.prototype.init=ITextElement.prototype.init,SVGTextElement.prototype.createPathShape=ITextElement.prototype.createPathShape,SVGTextElement.prototype.getMeasures=ITextElement.prototype.getMeasures,SVGTextElement.prototype.createElements=function(){this.parent.createElements.call(this);var t=this.data.t.d;this.innerElem=document.createElementNS(svgNS,"g"),t.fc?this.innerElem.setAttribute("fill","rgb("+t.fc[0]+","+t.fc[1]+","+t.fc[2]+")"):this.innerElem.setAttribute("fill","rgba(0,0,0,0)"),t.sc&&(this.innerElem.setAttribute("stroke","rgb("+t.sc[0]+","+t.sc[1]+","+t.sc[2]+")"),this.innerElem.setAttribute("stroke-width",t.sw)),this.innerElem.setAttribute("font-size",t.s);var e=this.globalData.fontManager.getFontByName(t.f);if(e.fClass)this.innerElem.setAttribute("class",e.fClass);else{this.innerElem.setAttribute("font-family",e.fFamily);var s=t.fWeight,i=t.fStyle;this.innerElem.setAttribute("font-style",i),this.innerElem.setAttribute("font-weight",s)}var a,r;this.layerElement===this.parentContainer?this.appendNodeToParent(this.innerElem):this.layerElement.appendChild(this.innerElem);var n=t.l;if(r=n.length){var o,h,l=this.mHelper,p="",m=this.data.singleShape;if(m)var f=0,d=0,c=t.lineWidths,u=t.boxWidth,y=!0;for(a=0;r>a;a+=1){if(this.globalData.fontManager.chars?m&&0!==a||(o=document.createElementNS(svgNS,"path")):o=document.createElementNS(svgNS,"text"),o.setAttribute("stroke-linecap","butt"),o.setAttribute("stroke-linejoin","round"),o.setAttribute("stroke-miterlimit","4"),m&&n[a].n&&(f=0,d+=t.yOffset,d+=y?1:0,y=!1),l.reset(),this.globalData.fontManager.chars&&l.scale(t.s/100,t.s/100),m){switch(t.ps&&l.translate(t.ps[0],t.ps[1]+t.ascent,0),t.j){case 1:l.translate(t.justifyOffset+(u-c[n[a].line]),0,0);break;case 2:l.translate(t.justifyOffset+(u-c[n[a].line])/2,0,0)}l.translate(f,d,0)}if(this.globalData.fontManager.chars){var v,g=this.globalData.fontManager.getCharData(t.t.charAt(a),e.fStyle,this.globalData.fontManager.getFontByName(t.f).fFamily);v=g?g.data:null,v&&v.shapes&&(h=v.shapes[0].it,m||(p=""),p+=this.createPathShape(l,h),m||o.setAttribute("d",p)),m||this.innerElem.appendChild(o)}else o.textContent=n[a].val,o.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),this.innerElem.appendChild(o),m&&o.setAttribute("transform",l.to2dCSS());m&&(f+=n[a].l),this.textSpans.push(o)}m&&this.globalData.fontManager.chars&&(o.setAttribute("d",p),this.innerElem.appendChild(o))}},SVGTextElement.prototype.hide=function(){this.hidden||(this.innerElem.style.display="none",this.hidden=!0)},SVGTextElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);if(e===!1)return void this.hide();if(this.hidden&&(this.hidden=!1,this.innerElem.style.display="block"),this.data.hasMask||(this.finalTransform.matMdf&&this.innerElem.setAttribute("transform",this.finalTransform.mat.to2dCSS()),this.finalTransform.opMdf&&this.innerElem.setAttribute("opacity",this.finalTransform.opacity)),!this.data.singleShape&&(this.getMeasures(),this.lettersChangedFlag)){var s,i,a=this.renderedLetters,r=this.data.t.d.l;i=r.length;var n;for(s=0;i>s;s+=1)r[s].n||(n=a[s],this.textSpans[s].setAttribute("transform",n.m),this.textSpans[s].setAttribute("opacity",n.o),n.sw&&this.textSpans[s].setAttribute("stroke-width",n.sw),n.sc&&this.textSpans[s].setAttribute("stroke",n.sc),n.fc&&this.textSpans[s].setAttribute("fill",n.fc));this.firstFrame&&(this.firstFrame=!1)}},SVGTextElement.prototype.destroy=function(){this.parent.destroy.call(),this.innerElem=null};var PlaceHolderElement=function(t,e,s){if(this.data=t,this.globalData=s,e){this.parentContainer=e;var i=document.createElementNS(svgNS,"g");i.setAttribute("id",this.data.id),e.appendChild(i),this.phElement=i}this.layerId="ly_"+randomString(10)};PlaceHolderElement.prototype.prepareFrame=function(){},PlaceHolderElement.prototype.renderFrame=function(){},PlaceHolderElement.prototype.draw=function(){},createElement(SVGBaseElement,ICompElement),extendPrototype(ExpressionComp,ICompElement),ICompElement.prototype.getComposingElement=function(){return this.layerElement},ICompElement.prototype.hide=function(){if(!this.hidden){var t,e=this.elements.length;for(t=0;e>t;t+=1)this.elements[t].hide();this.hidden=!0}},ICompElement.prototype.prepareFrame=function(t){if(this.parent.prepareFrame.call(this,t),this.isVisible!==!1){var e=t;this.tm&&(e=this.tm.v,e===this.data.op&&(e=this.data.op-1)),this.renderedFrame=e;var s,i=this.elements.length;for(s=0;i>s;s+=1)this.elements[s].prepareFrame(e-this.layers[s].st)}},ICompElement.prototype.renderFrame=function(t){var e,s=this.parent.renderFrame.call(this,t),i=this.layers.length;if(s===!1)return void this.hide();for(this.hidden=!1,e=0;i>e;e+=1)this.data.hasMask?this.elements[e].renderFrame():this.elements[e].renderFrame(this.finalTransform);this.firstFrame&&(this.firstFrame=!1)},ICompElement.prototype.setElements=function(t){this.elements=t},ICompElement.prototype.getElements=function(){return this.elements},ICompElement.prototype.destroy=function(){this.parent.destroy.call();var t,e=this.layers.length;for(t=0;e>t;t+=1)this.elements[t].destroy()},createElement(SVGBaseElement,IImageElement),IImageElement.prototype.createElements=function(){var t=this,e=function(){t.innerElem.setAttributeNS("http://www.w3.org/1999/xlink","href",t.path+t.assetData.p),t.maskedElement=t.innerElem},s=new Image;s.addEventListener("load",e,!1),s.addEventListener("error",e,!1),s.src=this.path+this.assetData.p,this.parent.createElements.call(this),this.innerElem=document.createElementNS(svgNS,"image"),this.innerElem.setAttribute("width",this.assetData.w+"px"),this.innerElem.setAttribute("height",this.assetData.h+"px"),this.layerElement===this.parentContainer?this.appendNodeToParent(this.innerElem):this.layerElement.appendChild(this.innerElem),this.data.ln&&this.innerElem.setAttribute("id",this.data.ln)},IImageElement.prototype.hide=function(){this.hidden||(this.innerElem.setAttribute("visibility","hidden"),this.hidden=!0)},IImageElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden&&(this.hidden=!1,this.innerElem.setAttribute("visibility","visible")),this.data.hasMask||((this.finalTransform.matMdf||this.firstFrame)&&this.innerElem.setAttribute("transform",this.finalTransform.mat.to2dCSS()),(this.finalTransform.opMdf||this.firstFrame)&&this.innerElem.setAttribute("opacity",this.finalTransform.opacity)),void(this.firstFrame&&(this.firstFrame=!1)))},IImageElement.prototype.destroy=function(){this.parent.destroy.call(),this.innerElem=null},createElement(SVGBaseElement,IShapeElement),IShapeElement.prototype.lcEnum={1:"butt",2:"round",3:"butt"},IShapeElement.prototype.ljEnum={1:"miter",2:"round",3:"butt"},IShapeElement.prototype.transformHelper={opacity:1,mat:new Matrix,matMdf:!1,opMdf:!1},IShapeElement.prototype.createElements=function(){this.parent.createElements.call(this),this.searchShapes(this.shapesData,this.viewData,this.dynamicProperties,[]),this.layerElement.appendChild(this.shapesContainer),styleUnselectableDiv(this.layerElement),styleUnselectableDiv(this.shapesContainer),this.buildExpressionInterface()},IShapeElement.prototype.searchShapes=function(t,e,s,i){var a,r,n,o=t.length-1,h=[],l=[];for(a=o;a>=0;a-=1)if("fl"==t[a].ty||"st"==t[a].ty){e[a]={};var p;if(e[a].c=PropertyFactory.getProp(this,t[a].c,1,null,s),e[a].o=PropertyFactory.getProp(this,t[a].o,0,.01,s),"st"==t[a].ty){if(p=document.createElementNS(svgNS,"g"),p.style.strokeLinecap=this.lcEnum[t[a].lc]||"round",p.style.strokeLinejoin=this.ljEnum[t[a].lj]||"round",p.style.fillOpacity=0,1==t[a].lj&&(p.style.strokeMiterlimit=t[a].ml),e[a].c.k||(p.style.stroke="rgb("+e[a].c.v[0]+","+e[a].c.v[1]+","+e[a].c.v[2]+")"),e[a].o.k||(p.style.strokeOpacity=e[a].o.v),e[a].w=PropertyFactory.getProp(this,t[a].w,0,null,s),e[a].w.k||(p.style.strokeWidth=e[a].w.v),t[a].d){var m=PropertyFactory.getDashProp(this,t[a].d,"svg",s);m.k||(p.style.strokeDasharray=m.dasharray,p.style.strokeDashoffset=m.dashoffset),e[a].d=m}}else p=document.createElementNS(svgNS,"path"),e[a].c.k||(p.style.fill="rgb("+e[a].c.v[0]+","+e[a].c.v[1]+","+e[a].c.v[2]+")"),e[a].o.k||(p.style.fillOpacity=e[a].o.v);this.shapesContainer.appendChild(p),this.stylesList.push({pathElement:p,type:t[a].ty,d:"",ld:"",mdf:!1}),e[a].style=this.stylesList[this.stylesList.length-1],h.push(e[a].style)}else if("gr"==t[a].ty)e[a]={it:[]},this.searchShapes(t[a].it,e[a].it,s,i);else if("tr"==t[a].ty)e[a]={transform:{mat:new Matrix,opacity:1,matMdf:!1,opMdf:!1,op:PropertyFactory.getProp(this,t[a].o,0,.01,s),mProps:PropertyFactory.getProp(this,t[a],2,null,s)},elements:[]};else if("sh"==t[a].ty||"rc"==t[a].ty||"el"==t[a].ty||"sr"==t[a].ty){e[a]={elements:[],styles:[],lStr:""};var f=4;"rc"==t[a].ty?f=5:"el"==t[a].ty?f=6:"sr"==t[a].ty&&(f=7),i.length&&(t[a].trimmed=!0),e[a].sh=PropertyFactory.getShapeProp(this,t[a],f,s,i),n=this.stylesList.length;var d,c=!1,u=!1;for(r=0;n>r;r+=1)this.stylesList[r].closed||("st"===this.stylesList[r].type?(c=!0,d=document.createElementNS(svgNS,"path"),this.stylesList[r].pathElement.appendChild(d),e[a].elements.push({ty:this.stylesList[r].type,el:d})):(u=!0,e[a].elements.push({ty:this.stylesList[r].type,st:this.stylesList[r]})));e[a].st=c,e[a].fl=u}else if("tm"==t[a].ty){var y={closed:!1,trimProp:PropertyFactory.getProp(this,t[a],7,null,s)};e[a]={tr:y.trimProp},i.push(y),l.push(y)}for(o=h.length,a=0;o>a;a+=1)h[a].closed=!0;for(o=l.length,a=0;o>a;a+=1)l[a].closed=!0},IShapeElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden=!1,this.finalTransform.matMdf&&!this.data.hasMask&&this.shapesContainer.setAttribute("transform",this.finalTransform.mat.to2dCSS()),this.transformHelper.opacity=this.finalTransform.opacity,this.transformHelper.matMdf=!1,this.transformHelper.opMdf=this.finalTransform.opMdf,void this.renderShape(this.transformHelper,null,null,!0))},IShapeElement.prototype.hide=function(){if(!this.hidden){var t,e=this.stylesList.length;for(t=e-1;t>=0;t-=1)"0"!==this.stylesList[t].ld&&(this.stylesList[t].ld="0",this.stylesList[t].pathElement.style.display="none",this.stylesList[t].pathElement.parentNode&&(this.stylesList[t].parent=this.stylesList[t].pathElement.parentNode));this.hidden=!0}},IShapeElement.prototype.renderShape=function(t,e,s,i){var a,r;if(!e)for(e=this.shapesData,r=this.stylesList.length,a=0;r>a;a+=1)this.stylesList[a].d="",this.stylesList[a].mdf=!1;s||(s=this.viewData),r=e.length-1;var n,o;for(n=t,a=r;a>=0;a-=1)if("tr"==e[a].ty){n=s[a].transform;var h=s[a].transform.mProps.v.props;if(n.matMdf=n.mProps.mdf,n.opMdf=n.op.mdf,o=n.mat,o.cloneFromProps(h),t){var l=t.mat.props;n.opacity=t.opacity,n.opacity*=s[a].transform.op.v,n.matMdf=t.matMdf?!0:n.matMdf,n.opMdf=t.opMdf?!0:n.opMdf,o.transform(l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9],l[10],l[11],l[12],l[13],l[14],l[15])}else n.opacity=n.op.o}else"sh"==e[a].ty||"el"==e[a].ty||"rc"==e[a].ty||"sr"==e[a].ty?this.renderPath(e[a],s[a],n):"fl"==e[a].ty?this.renderFill(e[a],s[a],n):"st"==e[a].ty?this.renderStroke(e[a],s[a],n):"gr"==e[a].ty?this.renderShape(n,e[a].it,s[a].it):"tm"==e[a].ty;if(i){for(r=this.stylesList.length,a=0;r>a;a+=1)"0"===this.stylesList[a].ld&&(this.stylesList[a].ld="1",this.stylesList[a].pathElement.style.display="block"),"fl"===this.stylesList[a].type&&(this.stylesList[a].mdf||this.firstFrame)&&this.stylesList[a].pathElement.setAttribute("d",this.stylesList[a].d);this.firstFrame&&(this.firstFrame=!1)}},IShapeElement.prototype.renderPath=function(t,e,s){var i,a,r=e.sh.v,n="";if(r.v){i=r.v.length;var o=s.matMdf||e.sh.mdf||this.firstFrame;if(o){var h=r.s?r.s:[];for(a=1;i>a;a+=1)h[a-1]?n+=" M"+s.mat.applyToPointStringified(h[a-1][0],h[a-1][1]):1==a&&(n+=" M"+s.mat.applyToPointStringified(r.v[0][0],r.v[0][1])),n+=" C"+s.mat.applyToPointStringified(r.o[a-1][0],r.o[a-1][1])+" "+s.mat.applyToPointStringified(r.i[a][0],r.i[a][1])+" "+s.mat.applyToPointStringified(r.v[a][0],r.v[a][1]);1==i&&(n+=h[0]?" M"+s.mat.applyToPointStringified(h[0][0],h[0][1]):" M"+s.mat.applyToPointStringified(r.v[0][0],r.v[0][1])),i&&t.closed&&(!t.trimmed||r.c)&&(n+=" C"+s.mat.applyToPointStringified(r.o[a-1][0],r.o[a-1][1])+" "+s.mat.applyToPointStringified(r.i[0][0],r.i[0][1])+" "+s.mat.applyToPointStringified(r.v[0][0],r.v[0][1]),n+="z"),e.lStr=n}else n=e.lStr;for(i=e.elements.length,a=0;i>a;a+=1)"st"===e.elements[a].ty?(e.sh.mdf||this.firstFrame)&&e.elements[a].el.setAttribute("d",n):(e.elements[a].st.mdf=o?!0:e.elements[a].st.mdf,e.elements[a].st.d+=n)}},IShapeElement.prototype.renderFill=function(t,e,s){var i=e.style;(e.c.mdf||this.firstFrame)&&(i.pathElement.style.fill="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.pathElement.style.fillOpacity=e.o.v*s.opacity)},IShapeElement.prototype.renderStroke=function(t,e,s){var i=e.style,a=e.d;a&&a.k&&(a.mdf||this.firstFrame)&&(i.pathElement.style.strokeDasharray=a.dasharray,i.pathElement.style.strokeDashoffset=a.dashoffset),(e.c.mdf||this.firstFrame)&&(i.pathElement.style.stroke="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.pathElement.style.strokeOpacity=e.o.v*s.opacity),(e.w.mdf||this.firstFrame)&&(i.pathElement.style.strokeWidth=e.w.v)},IShapeElement.prototype.destroy=function(){this.parent.destroy.call(),this.shapeData=null,this.viewData=null,this.parentContainer=null,this.placeholder=null},extendPrototype(ShapeInterface,IShapeElement),createElement(SVGBaseElement,ISolidElement),ISolidElement.prototype.createElements=function(){this.parent.createElements.call(this);var t=document.createElementNS(svgNS,"rect");t.setAttribute("width",this.data.sw),t.setAttribute("height",this.data.sh),t.setAttribute("fill",this.data.sc),this.layerElement===this.parentContainer?this.appendNodeToParent(t):this.layerElement.appendChild(t),this.data.ln&&this.innerElem.setAttribute("id",this.data.ln),this.innerElem=t},ISolidElement.prototype.hide=IImageElement.prototype.hide,ISolidElement.prototype.renderFrame=IImageElement.prototype.renderFrame,ISolidElement.prototype.destroy=IImageElement.prototype.destroy,createElement(BaseElement,CVBaseElement),CVBaseElement.prototype.createElements=function(){},CVBaseElement.prototype.renderFrame=function(t){if(3===this.data.ty)return!1;if(!this.isVisible)return this.isVisible;this.finalTransform.opMdf=this.finalTransform.op.mdf,this.finalTransform.matMdf=this.finalTransform.mProp.mdf,this.finalTransform.opacity=this.finalTransform.op.v;var e,s=this.finalTransform.mat;if(this.hierarchy){var i,a=this.hierarchy.length;for(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e),i=0;a>i;i+=1)this.finalTransform.matMdf=this.hierarchy[i].finalTransform.mProp.mdf?!0:this.finalTransform.matMdf,e=this.hierarchy[i].finalTransform.mProp.v.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}else t?(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e)):s.cloneFromProps(this.finalTransform.mProp.v.props);return t&&(e=t.mat.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]),this.finalTransform.opacity*=t.opacity,this.finalTransform.opMdf=t.opMdf?!0:this.finalTransform.opMdf,this.finalTransform.matMdf=t.matMdf?!0:this.finalTransform.matMdf),this.data.hasMask&&(this.globalData.renderer.save(!0),this.maskManager.renderFrame(s)),this.isVisible},CVBaseElement.prototype.getCurrentAnimData=function(){return this.currentAnimData},CVBaseElement.prototype.addMasks=function(t){this.maskManager=new CVMaskElement(t,this,this.globalData)},CVBaseElement.prototype.destroy=function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager&&this.maskManager.destroy()},CVBaseElement.prototype.mHelper=new Matrix,createElement(CVBaseElement,CVCompElement),CVCompElement.prototype.prepareFrame=function(t){if(this.parent.prepareFrame.call(this,t),this.isVisible!==!1){var e=t;this.tm&&(e=this.tm.v,e===this.data.op&&(e=this.data.op-1)),this.renderedFrame=e;var s,i=this.elements.length;for(s=0;i>s;s+=1)this.elements[s].prepareFrame(e-this.layers[s].st)}},CVCompElement.prototype.renderFrame=function(t){if(this.parent.renderFrame.call(this,t)!==!1){var e,s=this.layers.length;for(e=s-1;e>=0;e-=1)this.elements[e].renderFrame(this.finalTransform);this.data.hasMask&&this.globalData.renderer.restore(!0),this.firstFrame&&(this.firstFrame=!1)}},CVCompElement.prototype.setElements=function(t){this.elements=t},CVCompElement.prototype.getElements=function(){return this.elements},CVCompElement.prototype.destroy=function(){var t,e=this.layers.length;for(t=e-1;t>=0;t-=1)this.elements[t].destroy();this.layers=null,this.elements=null,this.parent.destroy.call()},createElement(CVBaseElement,CVImageElement),CVImageElement.prototype.createElements=function(){var t=this,e=function(){t.animationItem.elementLoaded()},s=function(){t.failed=!0,t.animationItem.elementLoaded()};this.img=new Image,this.img.addEventListener("load",e,!1),this.img.addEventListener("error",s,!1),this.img.src=this.path+this.assetData.p,this.parent.createElements.call(this)},CVImageElement.prototype.renderFrame=function(t){if(!this.failed&&this.parent.renderFrame.call(this,t)!==!1){var e=this.canvasContext;this.globalData.renderer.save();var s=this.finalTransform.mat.props;this.globalData.renderer.ctxTransform(s),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.drawImage(this.img,0,0),this.globalData.renderer.restore(this.data.hasMask),this.firstFrame&&(this.firstFrame=!1)}},CVImageElement.prototype.destroy=function(){this.img=null,this.animationItem=null,this.parent.destroy.call()},CVMaskElement.prototype.getMaskProperty=function(t){return this.viewData[t]},CVMaskElement.prototype.prepareFrame=function(t){var e,s=this.dynamicProperties.length;for(e=0;s>e;e+=1)this.dynamicProperties[e].getValue(t)},CVMaskElement.prototype.renderFrame=function(t){var e,s,i,a,r,n=this.ctx,o=this.data.masksProperties.length,h=!1;for(e=0;o>e;e++)if("n"!==this.masksProperties[e].mode){h===!1&&(n.beginPath(),h=!0),this.masksProperties[e].inv&&(n.moveTo(0,0),n.lineTo(this.globalData.compWidth,0),n.lineTo(this.globalData.compWidth,this.globalData.compHeight),n.lineTo(0,this.globalData.compHeight),n.lineTo(0,0)),r=this.viewData[e].v,s=t.applyToPointArray(r.v[0][0],r.v[0][1],0),n.moveTo(s[0],s[1]);var l,p=r.v.length;for(l=1;p>l;l++)s=t.applyToPointArray(r.o[l-1][0],r.o[l-1][1],0),
 i=t.applyToPointArray(r.i[l][0],r.i[l][1],0),a=t.applyToPointArray(r.v[l][0],r.v[l][1],0),n.bezierCurveTo(s[0],s[1],i[0],i[1],a[0],a[1]);s=t.applyToPointArray(r.o[l-1][0],r.o[l-1][1],0),i=t.applyToPointArray(r.i[0][0],r.i[0][1],0),a=t.applyToPointArray(r.v[0][0],r.v[0][1],0),n.bezierCurveTo(s[0],s[1],i[0],i[1],a[0],a[1])}h&&n.clip()},CVMaskElement.prototype.getMask=function(t){for(var e=0,s=this.masksProperties.length;s>e;){if(this.masksProperties[e].nm===t)return{maskPath:this.viewData[e].pv};e+=1}},CVMaskElement.prototype.destroy=function(){this.ctx=null},createElement(CVBaseElement,CVShapeElement),CVShapeElement.prototype.lcEnum={1:"butt",2:"round",3:"butt"},CVShapeElement.prototype.ljEnum={1:"miter",2:"round",3:"butt"},CVShapeElement.prototype.transformHelper={opacity:1,mat:new Matrix,matMdf:!1,opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createElements=function(){this.parent.createElements.call(this),this.searchShapes(this.shapesData,this.viewData,this.dynamicProperties,[]),this.buildExpressionInterface()},CVShapeElement.prototype.searchShapes=function(t,e,s,i){var a,r,n,o,h=t.length-1,l=[],p=[];for(a=h;a>=0;a-=1)if("fl"==t[a].ty||"st"==t[a].ty){if(o={type:t[a].ty,elements:[]},e[a]={},e[a].c=PropertyFactory.getProp(this,t[a].c,1,null,s),e[a].c.k||(o.co="rgb("+bm_floor(e[a].c.v[0])+","+bm_floor(e[a].c.v[1])+","+bm_floor(e[a].c.v[2])+")"),e[a].o=PropertyFactory.getProp(this,t[a].o,0,.01,s),"st"==t[a].ty&&(o.lc=this.lcEnum[t[a].lc]||"round",o.lj=this.ljEnum[t[a].lj]||"round",1==t[a].lj&&(o.ml=t[a].ml),e[a].w=PropertyFactory.getProp(this,t[a].w,0,null,s),e[a].w.k||(o.wi=e[a].w.v),t[a].d)){var m=PropertyFactory.getDashProp(this,t[a].d,"canvas",s);e[a].d=m,e[a].d.k||(o.da=e[a].d.dasharray,o["do"]=e[a].d.dashoffset)}this.stylesList.push(o),e[a].style=o,l.push(e[a].style)}else if("gr"==t[a].ty)e[a]={it:[]},this.searchShapes(t[a].it,e[a].it,s,i);else if("tr"==t[a].ty)e[a]={transform:{mat:new Matrix,opacity:1,matMdf:!1,opMdf:!1,op:PropertyFactory.getProp(this,t[a].o,0,.01,s),mProps:PropertyFactory.getProp(this,t[a],2,null,s)},elements:[]};else if("sh"==t[a].ty||"rc"==t[a].ty||"el"==t[a].ty||"sr"==t[a].ty){e[a]={nodes:[],trNodes:[],tr:[0,0,0,0,0,0]};var f=4;"rc"==t[a].ty?f=5:"el"==t[a].ty?f=6:"sr"==t[a].ty&&(f=7),i.length&&(t[a].trimmed=!0),e[a].sh=PropertyFactory.getShapeProp(this,t[a],f,s,i),n=this.stylesList.length;var d=!1,c=!1;for(r=0;n>r;r+=1)this.stylesList[r].closed||(this.stylesList[r].elements.push(e[a]),"st"===this.stylesList[r].type?d=!0:c=!0);e[a].st=d,e[a].fl=c}else if("tm"==t[a].ty){var u={closed:!1,trimProp:PropertyFactory.getProp(this,t[a],7,null,s)};i.push(u),p.push(u)}for(h=l.length,a=0;h>a;a+=1)l[a].closed=!0;for(h=p.length,a=0;h>a;a+=1)p[a].closed=!0},CVShapeElement.prototype.renderFrame=function(t){this.parent.renderFrame.call(this,t)!==!1&&(this.transformHelper.mat.reset(),this.transformHelper.opacity=this.finalTransform.opacity,this.transformHelper.matMdf=!1,this.transformHelper.opMdf=this.finalTransform.opMdf,this.renderShape(this.transformHelper,null,null,!0),this.data.hasMask&&this.globalData.renderer.restore(!0))},CVShapeElement.prototype.renderShape=function(t,e,s,i){var a,r;if(!e)for(e=this.shapesData,r=this.stylesList.length,a=0;r>a;a+=1)this.stylesList[a].d="",this.stylesList[a].mdf=!1;s||(s=this.viewData),r=e.length-1;var n,o;for(n=t,a=r;a>=0;a-=1)if("tr"==e[a].ty){n=s[a].transform;var h=s[a].transform.mProps.v.props;if(n.matMdf=n.mProps.mdf,n.opMdf=n.op.mdf,o=n.mat,o.cloneFromProps(h),t){var l=t.mat.props;n.opacity=t.opacity,n.opacity*=s[a].transform.op.v,n.matMdf=t.matMdf?!0:n.matMdf,n.opMdf=t.opMdf?!0:n.opMdf,o.transform(l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9],l[10],l[11],l[12],l[13],l[14],l[15])}else n.opacity=n.op.o}else"sh"==e[a].ty||"el"==e[a].ty||"rc"==e[a].ty||"sr"==e[a].ty?this.renderPath(e[a],s[a],n):"fl"==e[a].ty?this.renderFill(e[a],s[a],n):"st"==e[a].ty?this.renderStroke(e[a],s[a],n):"gr"==e[a].ty?this.renderShape(n,e[a].it,s[a].it):"tm"==e[a].ty;if(i){r=this.stylesList.length;var p,m,f,d,c,u,y,v=this.globalData.renderer,g=this.globalData.canvasContext;for(v.save(),v.ctxTransform(this.finalTransform.mat.props),a=0;r>a;a+=1)if(y=this.stylesList[a].type,"st"!==y||0!==this.stylesList[a].wi){for(v.save(),c=this.stylesList[a].elements,m=c.length,"st"===y?(g.strokeStyle=this.stylesList[a].co,g.lineWidth=this.stylesList[a].wi,g.lineCap=this.stylesList[a].lc,g.lineJoin=this.stylesList[a].lj,g.miterLimit=this.stylesList[a].ml||0):g.fillStyle=this.stylesList[a].co,v.ctxOpacity(this.stylesList[a].coOp),"st"!==y&&g.beginPath(),p=0;m>p;p+=1){for("st"===y&&(g.beginPath(),this.stylesList[a].da?(g.setLineDash(this.stylesList[a].da),g.lineDashOffset=this.stylesList[a]["do"],this.globalData.isDashed=!0):this.globalData.isDashed&&(g.setLineDash(this.dashResetter),this.globalData.isDashed=!1)),u=c[p].trNodes,d=u.length,f=0;d>f;f+=1)"m"==u[f].t?g.moveTo(u[f].p[0],u[f].p[1]):"c"==u[f].t?g.bezierCurveTo(u[f].p1[0],u[f].p1[1],u[f].p2[0],u[f].p2[1],u[f].p3[0],u[f].p3[1]):g.closePath();"st"===y&&g.stroke()}"st"!==y&&g.fill(),v.restore()}v.restore(),this.firstFrame&&(this.firstFrame=!1)}},CVShapeElement.prototype.renderPath=function(t,e,s){var i,a,r=e.sh.v;if(r.v){i=r.v.length;var n=s.matMdf||e.sh.mdf||this.firstFrame;if(n){var o=e.trNodes;o.length=0;var h=r.s?r.s:[];for(a=1;i>a;a+=1)h[a-1]?o.push({t:"m",p:s.mat.applyToPointArray(h[a-1][0],h[a-1][1],0)}):1==a&&o.push({t:"m",p:s.mat.applyToPointArray(r.v[0][0],r.v[0][1],0)}),o.push({t:"c",p1:s.mat.applyToPointArray(r.o[a-1][0],r.o[a-1][1],0),p2:s.mat.applyToPointArray(r.i[a][0],r.i[a][1],0),p3:s.mat.applyToPointArray(r.v[a][0],r.v[a][1],0)});if(1==i&&o.push(h[0]?{t:"m",p:s.mat.applyToPointArray(h[0][0],h[0][1],0)}:{t:"m",p:s.mat.applyToPointArray(r.v[0][0],r.v[0][1],0)}),i&&t.closed&&(!t.trimmed||r.c)&&(o.push({t:"c",p1:s.mat.applyToPointArray(r.o[a-1][0],r.o[a-1][1],0),p2:s.mat.applyToPointArray(r.i[0][0],r.i[0][1],0),p3:s.mat.applyToPointArray(r.v[0][0],r.v[0][1],0)}),o.push({t:"z"})),e.st)for(a=0;16>a;a+=1)e.tr[a]=s.mat.props[a];e.trNodes=o}}},CVShapeElement.prototype.renderFill=function(t,e,s){var i=e.style;(e.c.mdf||this.firstFrame)&&(i.co="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.coOp=e.o.v*s.opacity)},CVShapeElement.prototype.renderStroke=function(t,e,s){var i=e.style,a=e.d;a&&(a.mdf||this.firstFrame)&&(i.da=a.dasharray,i["do"]=a.dashoffset),(e.c.mdf||this.firstFrame)&&(i.co="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.coOp=e.o.v*s.opacity),(e.w.mdf||this.firstFrame)&&(i.wi=e.w.v)},CVShapeElement.prototype.destroy=function(){this.shapesData=null,this.globalData=null,this.canvasContext=null,this.stylesList.length=0,this.viewData.length=0,this.parent.destroy.call()},extendPrototype(ShapeInterface,CVShapeElement),createElement(CVBaseElement,CVSolidElement),CVSolidElement.prototype.renderFrame=function(t){if(this.parent.renderFrame.call(this,t)!==!1){var e=this.canvasContext;this.globalData.renderer.save();var s=this.finalTransform.mat.props;this.globalData.renderer.ctxTransform(s),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.fillStyle=this.data.sc,e.fillRect(0,0,this.data.sw,this.data.sh),this.globalData.renderer.restore(this.data.hasMask),this.firstFrame&&(this.firstFrame=!1)}},createElement(CVBaseElement,CVTextElement),CVTextElement.prototype.init=ITextElement.prototype.init,CVTextElement.prototype.getMeasures=ITextElement.prototype.getMeasures,CVTextElement.prototype.getMult=ITextElement.prototype.getMult,CVTextElement.prototype.tHelper=document.createElement("canvas").getContext("2d"),CVTextElement.prototype.createElements=function(){this.parent.createElements.call(this);var t=this.data.t.d,e=!1;t.fc?(e=!0,this.values.fill="rgb("+t.fc[0]+","+t.fc[1]+","+t.fc[2]+")"):this.values.fill="rgba(0,0,0,0)",this.fill=e;var s=!1;t.sc&&(s=!0,this.values.stroke="rgb("+t.sc[0]+","+t.sc[1]+","+t.sc[2]+")",this.values.sWidth=t.sw);var i,a,r=this.globalData.fontManager.getFontByName(t.f),n=t.l,o=this.mHelper;this.stroke=s,this.values.fValue=t.s+"px "+this.globalData.fontManager.getFontByName(t.f).fFamily,a=t.t.length,this.tHelper.font=this.values.fValue;var h,l,p,m,f,d,c,u,y,v,g=this.data.singleShape;if(g)var b=0,E=0,P=t.lineWidths,k=t.boxWidth,S=!0;for(i=0;a>i;i+=1){h=this.globalData.fontManager.getCharData(t.t.charAt(i),r.fStyle,this.globalData.fontManager.getFontByName(t.f).fFamily);var l;if(l=h?h.data:null,o.reset(),g&&n[i].n&&(b=0,E+=t.yOffset,E+=S?1:0,S=!1),l&&l.shapes){if(f=l.shapes[0].it,c=f.length,o.scale(t.s/100,t.s/100),g){switch(t.ps&&o.translate(t.ps[0],t.ps[1]+t.ascent,0),t.j){case 1:o.translate(t.justifyOffset+(k-P[n[i].line]),0,0);break;case 2:o.translate(t.justifyOffset+(k-P[n[i].line])/2,0,0)}o.translate(b,E,0)}for(y=new Array(c),d=0;c>d;d+=1){for(m=f[d].ks.k.i.length,u=f[d].ks.k,v=[],p=1;m>p;p+=1)1==p&&v.push(o.applyToX(u.v[0][0],u.v[0][1],0),o.applyToY(u.v[0][0],u.v[0][1],0)),v.push(o.applyToX(u.o[p-1][0],u.o[p-1][1],0),o.applyToY(u.o[p-1][0],u.o[p-1][1],0),o.applyToX(u.i[p][0],u.i[p][1],0),o.applyToY(u.i[p][0],u.i[p][1],0),o.applyToX(u.v[p][0],u.v[p][1],0),o.applyToY(u.v[p][0],u.v[p][1],0));v.push(o.applyToX(u.o[p-1][0],u.o[p-1][1],0),o.applyToY(u.o[p-1][0],u.o[p-1][1],0),o.applyToX(u.i[0][0],u.i[0][1],0),o.applyToY(u.i[0][0],u.i[0][1],0),o.applyToX(u.v[0][0],u.v[0][1],0),o.applyToY(u.v[0][0],u.v[0][1],0)),y[d]=v}}else y=[];g&&(b+=n[i].l),this.textSpans.push({elem:y})}},CVTextElement.prototype.renderFrame=function(t){if(this.parent.renderFrame.call(this,t)!==!1){var e=this.canvasContext,s=this.finalTransform.mat.props;this.globalData.renderer.save(),this.globalData.renderer.ctxTransform(s),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.font=this.values.fValue,e.lineCap="butt",e.lineJoin="miter",e.miterLimit=4,this.data.singleShape||this.getMeasures();var i,a,r,n,o,h,l=this.renderedLetters,p=this.data.t.d.l;a=p.length;var m,f,d,c=null,u=null,y=null;for(i=0;a>i;i+=1)if(!p[i].n){if(m=l[i],m&&(this.globalData.renderer.save(),this.globalData.renderer.ctxTransform(m.props),this.globalData.renderer.ctxOpacity(m.o)),this.fill){for(m&&m.fc?c!==m.fc&&(c=m.fc,e.fillStyle=m.fc):c!==this.values.fill&&(c=this.values.fill,e.fillStyle=this.values.fill),f=this.textSpans[i].elem,n=f.length,this.globalData.canvasContext.beginPath(),r=0;n>r;r+=1)for(d=f[r],h=d.length,this.globalData.canvasContext.moveTo(d[0],d[1]),o=2;h>o;o+=6)this.globalData.canvasContext.bezierCurveTo(d[o],d[o+1],d[o+2],d[o+3],d[o+4],d[o+5]);this.globalData.canvasContext.closePath(),this.globalData.canvasContext.fill()}if(this.stroke){for(m&&m.sw?y!==m.sw&&(y=m.sw,e.lineWidth=m.sw):y!==this.values.sWidth&&(y=this.values.sWidth,e.lineWidth=this.values.sWidth),m&&m.sc?u!==m.sc&&(u=m.sc,e.strokeStyle=m.sc):u!==this.values.stroke&&(u=this.values.stroke,e.strokeStyle=this.values.stroke),f=this.textSpans[i].elem,n=f.length,this.globalData.canvasContext.beginPath(),r=0;n>r;r+=1)for(d=f[r],h=d.length,this.globalData.canvasContext.moveTo(d[0],d[1]),o=2;h>o;o+=6)this.globalData.canvasContext.bezierCurveTo(d[o],d[o+1],d[o+2],d[o+3],d[o+4],d[o+5]);this.globalData.canvasContext.closePath(),this.globalData.canvasContext.stroke()}m&&this.globalData.renderer.restore()}this.globalData.renderer.restore(this.data.hasMask),this.firstFrame&&(this.firstFrame=!1)}},createElement(BaseElement,HBaseElement),HBaseElement.prototype.appendNodeToParent=function(t){if(this.placeholder){var e=this.placeholder.phElement;e.parentNode.insertBefore(t,e)}else this.parentContainer.appendChild(t)},HBaseElement.prototype.createElements=function(){this.data.hasMask?(this.layerElement=document.createElementNS(svgNS,"svg"),this.appendNodeToParent(this.layerElement),this.maskedElement=this.layerElement):this.layerElement=this.parentContainer,!this.data.ln||4!==this.data.ty&&0!==this.data.ty||(this.layerElement===this.parentContainer&&(this.layerElement=document.createElementNS(svgNS,"g"),this.appendNodeToParent(this.layerElement)),this.layerElement.setAttribute("id",this.data.ln)),this.layerElement!==this.parentContainer&&(this.placeholder=null)},HBaseElement.prototype.renderFrame=function(t){if(3===this.data.ty)return!1;if(this.currentFrameNum===this.lastNum||!this.isVisible)return this.isVisible;this.lastNum=this.currentFrameNum,this.data.hasMask&&this.maskManager.renderFrame(),this.finalTransform.opMdf=this.finalTransform.op.mdf,this.finalTransform.matMdf=this.finalTransform.mProp.mdf,this.finalTransform.opacity=this.finalTransform.op.v,this.firstFrame&&(this.finalTransform.opMdf=!0,this.finalTransform.matMdf=!0);var e,s=this.finalTransform.mat;if(this.hierarchy){var i,a=this.hierarchy.length;for(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e),i=0;a>i;i+=1)this.finalTransform.matMdf=this.hierarchy[i].finalTransform.mProp.mdf?!0:this.finalTransform.matMdf,e=this.hierarchy[i].finalTransform.mProp.v.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}else this.isVisible&&this.finalTransform.matMdf&&(t?(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e)):s.cloneFromProps(this.finalTransform.mProp.v.props));return t&&(e=t.mat.props,s.cloneFromProps(e),this.finalTransform.opacity*=t.opacity,this.finalTransform.opMdf=t.opMdf?!0:this.finalTransform.opMdf,this.finalTransform.matMdf=t.matMdf?!0:this.finalTransform.matMdf),this.finalTransform.matMdf&&(this.layerElement.style.transform=this.layerElement.style.webkitTransform=s.toCSS()),this.finalTransform.opMdf&&(this.layerElement.style.opacity=this.finalTransform.opacity),this.isVisible},HBaseElement.prototype.destroy=function(){this.layerElement=null,this.parentContainer=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},HBaseElement.prototype.getDomElement=function(){return this.layerElement},HBaseElement.prototype.addMasks=function(t){this.maskManager=new MaskElement(t,this,this.globalData)},HBaseElement.prototype.hide=function(){},HBaseElement.prototype.setMatte=function(){},createElement(HBaseElement,HSolidElement),HSolidElement.prototype.createElements=function(){var t=document.createElement("div");styleDiv(t);var e=document.createElementNS(svgNS,"svg");e.setAttribute("width",this.data.sw),e.setAttribute("height",this.data.sh),t.appendChild(e),this.layerElement=t,this.parentContainer.appendChild(t),this.innerElem=t,this.data.ln&&this.innerElem.setAttribute("id",this.data.ln);var s=document.createElementNS(svgNS,"rect");s.setAttribute("width",this.data.sw),s.setAttribute("height",this.data.sh),s.setAttribute("fill",this.data.sc),e.appendChild(s),this.data.hasMask&&(this.maskedElement=s)},HSolidElement.prototype.hide=function(){this.hidden||(this.innerElem.style.display="none",this.hidden=!0)},HSolidElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden&&(this.hidden=!1,this.innerElem.style.display="block"),void(this.firstFrame&&(this.firstFrame=!1)))},HSolidElement.prototype.destroy=function(){this.parent.destroy.call(),this.innerElem=null},createElement(HBaseElement,HCompElement),extendPrototype(ExpressionComp,HCompElement),HCompElement.prototype.getDomElement=function(){return this.composingElement},HCompElement.prototype.getComposingElement=function(){return this.layerElement},HCompElement.prototype.createElements=function(){if(this.layerElement=document.createElement("div"),styleDiv(this.layerElement),this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.layerElement.style.clip="rect(0px, "+this.data.w+"px, "+this.data.h+"px, 0px)",this.layerElement!==this.parentContainer&&(this.placeholder=null),this.data.hasMask){var t=document.createElementNS(svgNS,"svg");t.setAttribute("width",this.data.w),t.setAttribute("height",this.data.h);var e=document.createElementNS(svgNS,"g");t.appendChild(e),this.layerElement.appendChild(t),this.maskedElement=e,this.composingElement=e}else this.composingElement=this.layerElement;this.appendNodeToParent(this.layerElement)},HCompElement.prototype.hide=ICompElement.prototype.hide,HCompElement.prototype.prepareFrame=ICompElement.prototype.prepareFrame,HCompElement.prototype.setElements=ICompElement.prototype.setElements,HCompElement.prototype.getElements=ICompElement.prototype.getElements,HCompElement.prototype.destroy=ICompElement.prototype.destroy,HCompElement.prototype.renderFrame=function(t){var e,s=this.parent.renderFrame.call(this,t),i=this.layers.length;if(s===!1)return void this.hide();for(this.hidden=!1,e=0;i>e;e+=1)this.elements[e].renderFrame();this.firstFrame&&(this.firstFrame=!1)},createElement(HBaseElement,HShapeElement);var parent=HShapeElement.prototype.parent;extendPrototype(IShapeElement,HShapeElement),HShapeElement.prototype.parent=parent,HShapeElement.prototype.createElements=function(){var t=document.createElement("div");styleDiv(t);var e=document.createElementNS(svgNS,"svg");if(999999===this.data.bounds.l,e.setAttribute("width",this.data.bounds.r-this.data.bounds.l),e.setAttribute("height",this.data.bounds.b-this.data.bounds.t),e.setAttribute("viewBox",this.data.bounds.l+" "+this.data.bounds.t+" "+(this.data.bounds.r-this.data.bounds.l)+" "+(this.data.bounds.b-this.data.bounds.t)),e.style.transform=e.style.webkitTransform="translate("+this.data.bounds.l+"px,"+this.data.bounds.t+"px)",this.data.hasMask){var s=document.createElementNS(svgNS,"g");t.appendChild(e),e.appendChild(s),this.maskedElement=s,this.layerElement=s,this.shapesContainer=s}else t.appendChild(e),this.layerElement=e,this.shapesContainer=document.createElementNS(svgNS,"g"),this.layerElement.appendChild(this.shapesContainer);this.parentContainer.appendChild(t),this.innerElem=t,this.data.ln&&this.innerElem.setAttribute("id",this.data.ln),this.searchShapes(this.shapesData,this.viewData,this.dynamicProperties,[]),this.buildExpressionInterface(),this.layerElement=t},HShapeElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden=!1,this.transformHelper.opacity=this.finalTransform.opacity,this.transformHelper.matMdf=!1,this.transformHelper.opMdf=this.finalTransform.opMdf,void this.renderShape(this.transformHelper,null,null,!0))},createElement(HBaseElement,HTextElement),HTextElement.prototype.init=ITextElement.prototype.init,HTextElement.prototype.getMeasures=ITextElement.prototype.getMeasures,HTextElement.prototype.createPathShape=ITextElement.prototype.createPathShape,HTextElement.prototype.createElements=function(){this.isMasked=this.checkMasks();var t=this.data.t.d,e=document.createElement("div");if(styleDiv(e),this.layerElement=e,this.isMasked){this.renderType="svg";var s=document.createElementNS(svgNS,"svg");this.cont=s,this.compW=this.comp.data?this.comp.data.w:this.globalData.compSize.w,this.compH=this.comp.data?this.comp.data.h:this.globalData.compSize.h,s.setAttribute("width",this.compW),s.setAttribute("height",this.compH);var i=document.createElementNS(svgNS,"g");s.appendChild(i),e.appendChild(s),this.maskedElement=i,this.innerElem=i}else this.renderType="html",this.innerElem=e;this.parentContainer.appendChild(e),this.innerElem.style.color=this.innerElem.style.fill=t.fc?"rgb("+t.fc[0]+","+t.fc[1]+","+t.fc[2]+")":"rgba(0,0,0,0)",t.sc&&(this.innerElem.style.stroke="rgb("+t.sc[0]+","+t.sc[1]+","+t.sc[2]+")",this.innerElem.style.strokeWidth=t.sw+"px");var a=this.globalData.fontManager.getFontByName(t.f);if(!this.globalData.fontManager.chars)if(this.innerElem.style.fontSize=t.s+"px",this.innerElem.style.lineHeight=t.s+"px",a.fClass)this.innerElem.className=a.fClass;else{this.innerElem.style.fontFamily=a.fFamily;var r=t.fWeight,n=t.fStyle;this.innerElem.style.fontStyle=n,this.innerElem.style.fontWeight=r}var o,h,l=t.l;h=l.length;var p,m,f,d,c=this.mHelper,u="";for(o=0;h>o;o+=1){if(this.globalData.fontManager.chars?(p=document.createElementNS(svgNS,"path"),this.isMasked||(m=document.createElement("div"),f=document.createElementNS(svgNS,"svg"),m.appendChild(f),f.appendChild(p),styleDiv(m)),p.setAttribute("stroke-linecap","butt"),p.setAttribute("stroke-linejoin","round"),p.setAttribute("stroke-miterlimit","4")):this.isMasked?p=document.createElementNS(svgNS,"text"):(m=document.createElement("span"),styleDiv(m),p=document.createElement("span"),styleDiv(p),m.appendChild(p)),this.globalData.fontManager.chars){var y,v=this.globalData.fontManager.getCharData(t.t.charAt(o),a.fStyle,this.globalData.fontManager.getFontByName(t.f).fFamily);if(y=v?v.data:null,c.reset(),y&&y.shapes&&(d=y.shapes[0].it,c.scale(t.s/100,t.s/100),u=this.createPathShape(c,d),p.setAttribute("d",u)),this.isMasked)this.innerElem.appendChild(p);else{this.innerElem.appendChild(m);var g=t.s/100;if(y&&y.shapes){var b=Math.ceil(y.bounds.r*g),E=Math.floor(y.bounds.t*g),P=Math.floor(y.bounds.l*g),k=Math.ceil(y.bounds.b*g);f.setAttribute("width",b-P),f.setAttribute("height",k-E),f.setAttribute("viewBox",P+" "+E+" "+(b-P)+" "+(k-E)),f.style.transform=f.style.webkitTransform="translate("+P+"px,"+E+"px)",l[o].yOffset=E}else f.setAttribute("width",1),f.setAttribute("height",1)}}else p.textContent=l[o].val,p.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),this.isMasked?this.innerElem.appendChild(p):(this.innerElem.appendChild(m),p.style.transform=p.style.webkitTransform="translate3d(0,"+-t.s/1.2+"px,0)");this.textSpans.push(this.isMasked?p:m),this.textPaths.push(p)}},HTextElement.prototype.hide=SVGTextElement.prototype.hide,HTextElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);if(e===!1)return void this.hide();if(this.hidden&&(this.hidden=!1,this.innerElem.style.display="block"),this.data.singleShape){if(!this.firstFrame)return;this.isMasked&&this.finalTransform.matMdf&&(this.cont.setAttribute("viewBox",-this.finalTransform.mProp.p.v[0]+" "+-this.finalTransform.mProp.p.v[1]+" "+this.compW+" "+this.compH),this.cont.style.transform=this.cont.style.webkitTransform="translate("+-this.finalTransform.mProp.p.v[0]+"px,"+-this.finalTransform.mProp.p.v[1]+"px)")}if(this.getMeasures(),this.lettersChangedFlag){var s,i,a=this.renderedLetters,r=this.data.t.d.l;i=r.length;var n;for(s=0;i>s;s+=1)r[s].n||(n=a[s],this.isMasked?this.textSpans[s].setAttribute("transform",n.m):this.textSpans[s].style.transform=this.textSpans[s].style.webkitTransform=n.m,this.textSpans[s].style.opacity=n.o,n.sw&&this.textPaths[s].setAttribute("stroke-width",n.sw),n.sc&&this.textPaths[s].setAttribute("stroke",n.sc),n.fc&&(this.textPaths[s].setAttribute("fill",n.fc),this.textPaths[s].style.color=n.fc));if(this.isMasked){var o=this.innerElem.getBBox();this.currentBBox.w!==o.width&&(this.currentBBox.w=o.width,this.cont.setAttribute("width",o.width)),this.currentBBox.h!==o.height&&(this.currentBBox.h=o.height,this.cont.setAttribute("height",o.height)),(this.currentBBox.w!==o.width||this.currentBBox.h!==o.height||this.currentBBox.x!==o.x||this.currentBBox.y!==o.y)&&(this.currentBBox.w=o.width,this.currentBBox.h=o.height,this.currentBBox.x=o.x,this.currentBBox.y=o.y,this.cont.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h),this.cont.style.transform=this.cont.style.webkitTransform="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)")}this.firstFrame&&(this.firstFrame=!1)}},HTextElement.prototype.destroy=SVGTextElement.prototype.destroy,createElement(HBaseElement,HImageElement),HImageElement.prototype.createElements=function(){var t,e=function(){this.imageElem.setAttributeNS("http://www.w3.org/1999/xlink","href",this.path+this.assetData.p)},s=new Image;if(this.data.hasMask){var t=document.createElement("div");styleDiv(t);var i=document.createElementNS(svgNS,"svg");i.setAttribute("width",this.assetData.w),i.setAttribute("height",this.assetData.h),t.appendChild(i),this.imageElem=document.createElementNS(svgNS,"image"),this.imageElem.setAttribute("width",this.assetData.w+"px"),this.imageElem.setAttribute("height",this.assetData.h+"px"),i.appendChild(this.imageElem),this.layerElement=t,this.parentContainer.appendChild(t),this.innerElem=t,this.maskedElement=this.imageElem,s.addEventListener("load",e.bind(this),!1),s.addEventListener("error",e.bind(this),!1)}else styleDiv(s),this.layerElement=s,this.parentContainer.appendChild(s),this.innerElem=s;s.src=this.path+this.assetData.p,this.data.ln&&this.innerElem.setAttribute("id",this.data.ln)},HImageElement.prototype.hide=HSolidElement.prototype.hide,HImageElement.prototype.renderFrame=HSolidElement.prototype.renderFrame,HImageElement.prototype.destroy=HSolidElement.prototype.destroy,createElement(HBaseElement,HCameraElement),HCameraElement.prototype.setup=function(){var t,e,s=this.comp.threeDElements.length;for(t=0;s>t;t+=1)e=this.comp.threeDElements[t],e[0].style.perspective=e[0].style.webkitPerspective=this.pe.v+"px",e[1].style.transformOrigin=e[1].style.mozTransformOrigin=e[1].style.webkitTransformOrigin="0px 0px 0px",e[0].style.transform=e[0].style.webkitTransform="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)"},HCameraElement.prototype.createElements=function(){},HCameraElement.prototype.hide=function(){},HCameraElement.prototype.renderFrame=function(){var t,e,s=this.firstFrame;if(this.hierarchy)for(e=this.hierarchy.length,t=0;e>t;t+=1)s=this.hierarchy[t].finalTransform.mProp.mdf?!0:s;if(s||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){if(this.mat.reset(),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){var i=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]],a=Math.sqrt(Math.pow(i[0],2)+Math.pow(i[1],2)+Math.pow(i[2],2)),r=[i[0]/a,i[1]/a,i[2]/a],n=Math.sqrt(r[2]*r[2]+r[0]*r[0]),o=Math.atan2(r[1],n),h=Math.atan2(r[0],-r[2]);this.mat.rotateY(h).rotateX(-o)}if(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),this.hierarchy){var l;for(e=this.hierarchy.length,t=0;e>t;t+=1)l=this.hierarchy[t].finalTransform.mProp.iv.props,this.mat.transform(l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9],l[10],l[11],-l[12],-l[13],l[14],l[15])}e=this.comp.threeDElements.length;var p;for(t=0;e>t;t+=1)p=this.comp.threeDElements[t],p[1].style.transform=p[1].style.webkitTransform=this.mat.toCSS()}this.firstFrame=!1},HCameraElement.prototype.destroy=function(){};var animationManager=function(){function t(e){var s=0,i=e.target;for(i.removeEventListener("destroy",t);P>s;)g[s].animation===i&&(g.splice(s,1),s-=1,P-=1),s+=1}function e(e,s){if(!e)return null;for(var i=0;P>i;){if(g[i].elem==e&&null!==g[i].elem)return g[i].animation;i+=1}var a=new AnimationItem;return a.setData(e,s),a.addEventListener("destroy",t),g.push({elem:e,animation:a}),P+=1,a}function s(e){var s=new AnimationItem;return s.setParams(e),s.addEventListener("destroy",t),g.push({elem:null,animation:s}),P+=1,s}function i(t,e){var s;for(s=0;P>s;s+=1)g[s].animation.setSpeed(t,e)}function a(t,e){var s;for(s=0;P>s;s+=1)g[s].animation.setDirection(t,e)}function r(t){var e;for(e=0;P>e;e+=1)g[e].animation.play(t)}function n(t,e){E=!1,b=Date.now();var s;for(s=0;P>s;s+=1)g[s].animation.moveFrame(t,e)}function o(t){var e,s=t-b;for(e=0;P>e;e+=1)g[e].animation.advanceTime(s);b=t,requestAnimationFrame(o)}function h(t){b=t,requestAnimationFrame(o)}function l(t){var e;for(e=0;P>e;e+=1)g[e].animation.pause(t)}function p(t,e,s){var i;for(i=0;P>i;i+=1)g[i].animation.goToAndStop(t,e,s)}function m(t){var e;for(e=0;P>e;e+=1)g[e].animation.stop(t)}function f(t){var e;for(e=0;P>e;e+=1)g[e].animation.togglePause(t)}function d(t){var e;for(e=0;P>e;e+=1)g[e].animation.destroy(t)}function c(t,s,i){var a,r=document.getElementsByClassName("bodymovin"),n=r.length;for(a=0;n>a;a+=1)i&&r[a].setAttribute("data-bm-type",i),e(r[a],t);if(s&&0===n){i||(i="svg");var o=document.getElementsByTagName("body")[0];o.innerHTML="";var h=document.createElement("div");h.style.width="100%",h.style.height="100%",h.setAttribute("data-bm-type",i),o.appendChild(h),e(h,t)}}function u(){var t;for(t=0;P>t;t+=1)g[t].animation.resize()}function y(){requestAnimationFrame(h)}var v={},g=[],b=0,E=!0,P=0;return setTimeout(y,0),v.registerAnimation=e,v.loadAnimation=s,v.setSpeed=i,v.setDirection=a,v.play=r,v.moveFrame=n,v.pause=l,v.stop=m,v.togglePause=f,v.searchAnimations=c,v.resize=u,v.start=y,v.goToAndStop=p,v.destroy=d,v}(),AnimationItem=function(){this._cbs=[],this.name="",this.path="",this.isLoaded=!1,this.currentFrame=0,this.currentRawFrame=0,this.totalFrames=0,this.frameRate=0,this.frameMult=0,this.playSpeed=1,this.playDirection=1,this.pendingElements=0,this.playCount=0,this.prerenderFramesFlag=!0,this.repeat="indefinite",this.animationData={},this.layers=[],this.assets=[],this.isPaused=!0,this.isScrolling=!1,this.autoplay=!1,this.loop=!0,this.renderer=null,this.animationID=randomString(10),this.renderedFrameCount=0,this.scaleMode="fit",this.math=Math,this.removed=!1,this.timeCompleted=0,this.segmentPos=0,this.segments=[]};AnimationItem.prototype.setParams=function(t){var e=this;t.context&&(this.context=t.context),(t.wrapper||t.container)&&(this.wrapper=t.wrapper||t.container);var s=t.animType?t.animType:t.renderer?t.renderer:"canvas";switch(s){case"canvas":this.renderer=new CanvasRenderer(this,t.rendererSettings);break;case"svg":this.renderer=new SVGRenderer(this,t.rendererSettings);break;case"hybrid":case"html":default:this.renderer=new HybridRenderer(this,t.rendererSettings)}if(this.animType=s,""===t.loop||null===t.loop||(this.loop=t.loop===!1?!1:t.loop===!0?!0:parseInt(t.loop)),this.autoplay="autoplay"in t?t.autoplay:!0,this.name=t.name?t.name:"",this.prerenderFramesFlag="prerender"in t?t.prerender:!0,this.autoloadSegments=t.hasOwnProperty("autoloadSegments")?t.autoloadSegments:!0,t.animationData)e.configAnimation(t.animationData);else if(t.path){"json"!=t.path.substr(-4)&&("/"!=t.path.substr(-1,1)&&(t.path+="/"),t.path+="data.json");var i=new XMLHttpRequest;this.path=-1!=t.path.lastIndexOf("\\")?t.path.substr(0,t.path.lastIndexOf("\\")+1):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")),i.open("GET",t.path,!0),i.send(),i.onreadystatechange=function(){if(4==i.readyState)if(200==i.status)e.configAnimation(JSON.parse(i.responseText));else try{var t=JSON.parse(i.responseText);e.configAnimation(t)}catch(s){}}}},AnimationItem.prototype.setData=function(t,e){var s={wrapper:t,animationData:e?"object"==typeof e?e:JSON.parse(e):null},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:"";""===a||(s.loop="false"===a?!1:"true"===a?!0:parseInt(a)),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:"";var r=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:"";
 
-"false"===r&&(s.prerender=!1),this.setParams(s)},AnimationItem.prototype.includeLayers=function(t){t.op>this.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip),this.animationData.tf=this.totalFrames);var e,s,i=this.animationData.layers,a=i.length,r=t.layers,n=r.length;for(s=0;n>s;s+=1)for(e=0;a>e;){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;a>e;e+=1)this.animationData.assets.push(t.assets[e]);dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.includeLayers(t.layers),this.renderer.buildStage(this.container,this.layers),this.renderer.renderFrame(null),this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var t=this.animationData.segments;if(!t||0===t.length||!this.autoloadSegments)return this.trigger("data_ready"),void(this.timeCompleted=this.animationData.tf);var e=t.shift();this.timeCompleted=e.time*this.frameRate;var s=new XMLHttpRequest,i=this,a=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,s.open("GET",a,!0),s.send(),s.onreadystatechange=function(){if(4==s.readyState)if(200==s.status)i.includeLayers(JSON.parse(s.responseText));else try{var t=JSON.parse(s.responseText);i.includeLayers(t)}catch(e){}}},AnimationItem.prototype.loadSegments=function(){var t=this.animationData.segments;t||(this.timeCompleted=this.animationData.tf),this.loadNextSegment()},AnimationItem.prototype.configAnimation=function(t){this.animationData=t,this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.animationData.tf=this.totalFrames,this.renderer.configAnimation(t),t.assets||(t.assets=[]),t.comps&&(t.assets=t.assets.concat(t.comps),t.comps=null),this.animationData._id=this.animationID,this.animationData._animType=this.animType,this.layers=this.animationData.layers,this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.firstFrame=Math.round(this.animationData.ip),this.frameMult=this.animationData.fr/1e3,this.trigger("config_ready"),this.loadSegments(),this.updaFrameModifier(),this.renderer.globalData.fontManager?this.waitForFontsLoaded():(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.checkLoaded())},AnimationItem.prototype.waitForFontsLoaded=function(){function t(){this.renderer.globalData.fontManager.loaded?(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.buildItems(this.animationData.layers),this.checkLoaded()):setTimeout(t.bind(this),20)}return function(){t.bind(this)()}}(),AnimationItem.prototype.elementLoaded=function(){this.pendingElements--,this.checkLoaded()},AnimationItem.prototype.checkLoaded=function(){0===this.pendingElements&&(this.renderer.buildStage(this.container,this.layers),this.trigger("DOMLoaded"),this.isLoaded=!0,this.gotoFrame(),this.autoplay&&this.play())},AnimationItem.prototype.resize=function(){this.renderer.updateContainerSize()},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=subframeEnabled?this.currentRawFrame:this.math.floor(this.currentRawFrame),this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame()},AnimationItem.prototype.renderFrame=function(){this.isLoaded!==!1&&this.renderer.renderFrame(this.currentFrame+this.firstFrame)},AnimationItem.prototype.play=function(t){t&&this.name!=t||this.isPaused===!0&&(this.isPaused=!1)},AnimationItem.prototype.pause=function(t){t&&this.name!=t||this.isPaused===!1&&(this.isPaused=!0)},AnimationItem.prototype.togglePause=function(t){t&&this.name!=t||(this.isPaused===!0?(this.isPaused=!1,this.play()):(this.isPaused=!0,this.pause()))},AnimationItem.prototype.stop=function(t){t&&this.name!=t||(this.isPaused=!0,this.currentFrame=this.currentRawFrame=0,this.playCount=0,this.gotoFrame())},AnimationItem.prototype.goToAndStop=function(t,e,s){s&&this.name!=s||(this.setCurrentRawFrameValue(e?t:t*this.frameModifier),this.isPaused=!0)},AnimationItem.prototype.advanceTime=function(t){this.isPaused!==!0&&this.isScrolling!==!0&&this.isLoaded!==!1&&this.setCurrentRawFrameValue(this.currentRawFrame+t*this.frameModifier)},AnimationItem.prototype.updateAnimation=function(t){this.setCurrentRawFrameValue(this.totalFrames*t)},AnimationItem.prototype.moveFrame=function(t,e){e&&this.name!=e||this.setCurrentRawFrameValue(this.currentRawFrame+t)},AnimationItem.prototype.adjustSegment=function(t){this.totalFrames=t[1]-t[0],this.firstFrame=t[0],this.trigger("segmentStart")},AnimationItem.prototype.playSegments=function(t,e){if("object"==typeof t[0]){var s,i=t.length;for(s=0;i>s;s+=1)this.segments.push(t[s])}else this.segments.push(t);e&&(this.adjustSegment(this.segments.shift()),this.setCurrentRawFrameValue(0)),this.isPaused&&this.play()},AnimationItem.prototype.resetSegments=function(t){this.segments.length=0,this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op-this.animationData.ip+this.animationData.ip*this.frameRate)]),t&&this.adjustSegment(this.segments.shift())},AnimationItem.prototype.remove=function(t){t&&this.name!=t||this.renderer.destroy()},AnimationItem.prototype.destroy=function(t){t&&this.name!=t||this.renderer&&this.renderer.destroyed||(this.renderer.destroy(),this.trigger("destroy"),this._cbs=null)},AnimationItem.prototype.setCurrentRawFrameValue=function(t){this.currentRawFrame=t;var e=!1;if(this.currentRawFrame>=this.totalFrames){if(this.segments.length&&(e=!0),this.loop===!1)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete");if(this.trigger("loopComplete"),this.playCount+=1,this.loop!==!0&&this.playCount==this.loop)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete")}else if(this.currentRawFrame<0)return this.playCount-=1,this.playCount<0&&(this.playCount=0),this.loop===!1?(this.currentRawFrame=0,this.gotoFrame(),this.pause(),void this.trigger("complete")):(this.trigger("loopComplete"),this.currentRawFrame=this.totalFrames+this.currentRawFrame,void this.gotoFrame());if(e){var s=this.currentRawFrame%this.totalFrames;this.adjustSegment(this.segments.shift()),this.currentRawFrame=s}else this.currentRawFrame=this.currentRawFrame%this.totalFrames;this.gotoFrame()},AnimationItem.prototype.setSpeed=function(t){this.playSpeed=t,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(t){this.playDirection=0>t?-1:1,this.updaFrameModifier()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetData=function(t){for(var e=0,s=this.assets.length;s>e;){if(t==this.assets[e].id)return this.assets[e];e+=1}},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getAssets=function(){return this.assets},AnimationItem.prototype.trigger=function(t){if(this._cbs[t])switch(t){case"enterFrame":this.triggerEvent(t,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult));break;case"loopComplete":this.triggerEvent(t,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(t,new BMCompleteEvent(t,this.frameMult));break;case"segmentStart":this.triggerEvent(t,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(t,new BMDestroyEvent(t,this));break;default:this.triggerEvent(t)}"enterFrame"===t&&this.onEnterFrame&&this.onEnterFrame.call(this,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult)),"loopComplete"===t&&this.onLoopComplete&&this.onLoopComplete.call(this,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult)),"complete"===t&&this.onComplete&&this.onComplete.call(this,new BMCompleteEvent(t,this.frameMult)),"segmentStart"===t&&this.onSegmentStart&&this.onSegmentStart.call(this,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames)),"destroy"===t&&this.onDestroy&&this.onDestroy.call(this,new BMDestroyEvent(t,this))},AnimationItem.prototype.addEventListener=_addEventListener,AnimationItem.prototype.removeEventListener=_removeEventListener,AnimationItem.prototype.triggerEvent=_triggerEvent;var bodymovinjs = {}; function play(animation){ animationManager.play(animation); } function pause(animation){ animationManager.pause(animation); } function togglePause(animation){ animationManager.togglePause(animation); } function setSpeed(value,animation){ animationManager.setSpeed(value, animation); } function setDirection(value,animation){ animationManager.setDirection(value, animation); } function stop(animation){ animationManager.stop(animation); } function moveFrame(value){ animationManager.moveFrame(value); } function searchAnimations(){ if(standalone === true){ animationManager.searchAnimations(animationData,standalone, renderer); }else{ animationManager.searchAnimations(); } } function registerAnimation(elem){ return animationManager.registerAnimation(elem); } function resize(){ animationManager.resize(); } function start(){ animationManager.start(); } function goToAndStop(val,isFrame, animation){ animationManager.goToAndStop(val,isFrame, animation); } function setSubframeRendering(flag){ subframeEnabled = flag; } function loadAnimation(params){ if(standalone === true){ params.animationData = JSON.parse(animationData); } return animationManager.loadAnimation(params); } function destroy(animation){ return animationManager.destroy(animation); } function setQuality(value){ if(typeof value === 'string'){ switch(value){ case 'high': defaultCurveSegments = 200; break; case 'medium': defaultCurveSegments = 50; break; case 'low': defaultCurveSegments = 10; break; } }else if(!isNaN(value) && value > 1){ defaultCurveSegments = value; } if(defaultCurveSegments >= 50){ roundValues(false); }else{ roundValues(true); } } bodymovinjs.play = play; bodymovinjs.pause = pause; bodymovinjs.togglePause = togglePause; bodymovinjs.setSpeed = setSpeed; bodymovinjs.setDirection = setDirection; bodymovinjs.stop = stop; bodymovinjs.moveFrame = moveFrame; bodymovinjs.searchAnimations = searchAnimations; bodymovinjs.registerAnimation = registerAnimation; bodymovinjs.loadAnimation = loadAnimation; bodymovinjs.setSubframeRendering = setSubframeRendering; bodymovinjs.resize = resize; bodymovinjs.start = start; bodymovinjs.goToAndStop = goToAndStop; bodymovinjs.destroy = destroy; bodymovinjs.setQuality = setQuality; bodymovinjs.version = '4.1.3'; function checkReady(){ if (document.readyState === "complete") { clearInterval(readyStateCheckInterval); searchAnimations(); } } function getQueryVariable(variable) { var vars = queryString.split('&'); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split('='); if (decodeURIComponent(pair[0]) == variable) { return decodeURIComponent(pair[1]); } } } var standalone = '__[STANDALONE]__'; var animationData = '__[ANIMATIONDATA]__'; var renderer = ''; if(standalone) { var scripts = document.getElementsByTagName('script'); var index = scripts.length - 1; var myScript = scripts[index]; var queryString = myScript.src.replace(/^[^\?]+\??/,''); renderer = getQueryVariable('renderer'); } var readyStateCheckInterval = setInterval(checkReady, 100); return bodymovinjs; })); 
\ No newline at end of file
+"false"===r&&(s.prerender=!1),this.setParams(s)},AnimationItem.prototype.includeLayers=function(t){t.op>this.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip),this.animationData.tf=this.totalFrames);var e,s,i=this.animationData.layers,a=i.length,r=t.layers,n=r.length;for(s=0;n>s;s+=1)for(e=0;a>e;){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;a>e;e+=1)this.animationData.assets.push(t.assets[e]);dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.includeLayers(t.layers),this.renderer.buildStage(this.container,this.layers),this.renderer.renderFrame(null),this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var t=this.animationData.segments;if(!t||0===t.length||!this.autoloadSegments)return this.trigger("data_ready"),void(this.timeCompleted=this.animationData.tf);var e=t.shift();this.timeCompleted=e.time*this.frameRate;var s=new XMLHttpRequest,i=this,a=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,s.open("GET",a,!0),s.send(),s.onreadystatechange=function(){if(4==s.readyState)if(200==s.status)i.includeLayers(JSON.parse(s.responseText));else try{var t=JSON.parse(s.responseText);i.includeLayers(t)}catch(e){}}},AnimationItem.prototype.loadSegments=function(){var t=this.animationData.segments;t||(this.timeCompleted=this.animationData.tf),this.loadNextSegment()},AnimationItem.prototype.configAnimation=function(t){this.animationData=t,this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.animationData.tf=this.totalFrames,this.renderer.configAnimation(t),t.assets||(t.assets=[]),t.comps&&(t.assets=t.assets.concat(t.comps),t.comps=null),this.animationData._id=this.animationID,this.animationData._animType=this.animType,this.layers=this.animationData.layers,this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.firstFrame=Math.round(this.animationData.ip),this.frameMult=this.animationData.fr/1e3,this.trigger("config_ready"),this.loadSegments(),this.updaFrameModifier(),this.renderer.globalData.fontManager?this.waitForFontsLoaded():(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.checkLoaded())},AnimationItem.prototype.waitForFontsLoaded=function(){function t(){this.renderer.globalData.fontManager.loaded?(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.buildItems(this.animationData.layers),this.checkLoaded()):setTimeout(t.bind(this),20)}return function(){t.bind(this)()}}(),AnimationItem.prototype.elementLoaded=function(){this.pendingElements--,this.checkLoaded()},AnimationItem.prototype.checkLoaded=function(){0===this.pendingElements&&(this.renderer.buildStage(this.container,this.layers),this.trigger("DOMLoaded"),this.isLoaded=!0,this.gotoFrame(),this.autoplay&&this.play())},AnimationItem.prototype.resize=function(){this.renderer.updateContainerSize()},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=subframeEnabled?this.currentRawFrame:this.math.floor(this.currentRawFrame),this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame()},AnimationItem.prototype.renderFrame=function(){this.isLoaded!==!1&&this.renderer.renderFrame(this.currentFrame+this.firstFrame)},AnimationItem.prototype.play=function(t){t&&this.name!=t||this.isPaused===!0&&(this.isPaused=!1)},AnimationItem.prototype.pause=function(t){t&&this.name!=t||this.isPaused===!1&&(this.isPaused=!0)},AnimationItem.prototype.togglePause=function(t){t&&this.name!=t||(this.isPaused===!0?(this.isPaused=!1,this.play()):(this.isPaused=!0,this.pause()))},AnimationItem.prototype.stop=function(t){t&&this.name!=t||(this.isPaused=!0,this.currentFrame=this.currentRawFrame=0,this.playCount=0,this.gotoFrame())},AnimationItem.prototype.goToAndStop=function(t,e,s){s&&this.name!=s||(this.setCurrentRawFrameValue(e?t:t*this.frameModifier),this.isPaused=!0)},AnimationItem.prototype.advanceTime=function(t){this.isPaused!==!0&&this.isScrolling!==!0&&this.isLoaded!==!1&&this.setCurrentRawFrameValue(this.currentRawFrame+t*this.frameModifier)},AnimationItem.prototype.updateAnimation=function(t){this.setCurrentRawFrameValue(this.totalFrames*t)},AnimationItem.prototype.moveFrame=function(t,e){e&&this.name!=e||this.setCurrentRawFrameValue(this.currentRawFrame+t)},AnimationItem.prototype.adjustSegment=function(t){this.totalFrames=t[1]-t[0],this.firstFrame=t[0],this.trigger("segmentStart")},AnimationItem.prototype.playSegments=function(t,e){if("object"==typeof t[0]){var s,i=t.length;for(s=0;i>s;s+=1)this.segments.push(t[s])}else this.segments.push(t);e&&(this.adjustSegment(this.segments.shift()),this.setCurrentRawFrameValue(0)),this.isPaused&&this.play()},AnimationItem.prototype.resetSegments=function(t){this.segments.length=0,this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op-this.animationData.ip+this.animationData.ip*this.frameRate)]),t&&this.adjustSegment(this.segments.shift())},AnimationItem.prototype.remove=function(t){t&&this.name!=t||this.renderer.destroy()},AnimationItem.prototype.destroy=function(t){t&&this.name!=t||this.renderer&&this.renderer.destroyed||(this.renderer.destroy(),this.trigger("destroy"),this._cbs=null)},AnimationItem.prototype.setCurrentRawFrameValue=function(t){this.currentRawFrame=t;var e=!1;if(this.currentRawFrame>=this.totalFrames){if(this.segments.length&&(e=!0),this.loop===!1)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete");if(this.trigger("loopComplete"),this.playCount+=1,this.loop!==!0&&this.playCount==this.loop)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete")}else if(this.currentRawFrame<0)return this.playCount-=1,this.playCount<0&&(this.playCount=0),this.loop===!1?(this.currentRawFrame=0,this.gotoFrame(),this.pause(),void this.trigger("complete")):(this.trigger("loopComplete"),this.currentRawFrame=this.totalFrames+this.currentRawFrame,void this.gotoFrame());if(e){var s=this.currentRawFrame%this.totalFrames;this.adjustSegment(this.segments.shift()),this.currentRawFrame=s}else this.currentRawFrame=this.currentRawFrame%this.totalFrames;this.gotoFrame()},AnimationItem.prototype.setSpeed=function(t){this.playSpeed=t,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(t){this.playDirection=0>t?-1:1,this.updaFrameModifier()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetData=function(t){for(var e=0,s=this.assets.length;s>e;){if(t==this.assets[e].id)return this.assets[e];e+=1}},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getAssets=function(){return this.assets},AnimationItem.prototype.trigger=function(t){if(this._cbs[t])switch(t){case"enterFrame":this.triggerEvent(t,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult));break;case"loopComplete":this.triggerEvent(t,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(t,new BMCompleteEvent(t,this.frameMult));break;case"segmentStart":this.triggerEvent(t,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(t,new BMDestroyEvent(t,this));break;default:this.triggerEvent(t)}"enterFrame"===t&&this.onEnterFrame&&this.onEnterFrame.call(this,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult)),"loopComplete"===t&&this.onLoopComplete&&this.onLoopComplete.call(this,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult)),"complete"===t&&this.onComplete&&this.onComplete.call(this,new BMCompleteEvent(t,this.frameMult)),"segmentStart"===t&&this.onSegmentStart&&this.onSegmentStart.call(this,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames)),"destroy"===t&&this.onDestroy&&this.onDestroy.call(this,new BMDestroyEvent(t,this))},AnimationItem.prototype.addEventListener=_addEventListener,AnimationItem.prototype.removeEventListener=_removeEventListener,AnimationItem.prototype.triggerEvent=_triggerEvent;var bodymovinjs = {}; function play(animation){ animationManager.play(animation); } function pause(animation){ animationManager.pause(animation); } function togglePause(animation){ animationManager.togglePause(animation); } function setSpeed(value,animation){ animationManager.setSpeed(value, animation); } function setDirection(value,animation){ animationManager.setDirection(value, animation); } function stop(animation){ animationManager.stop(animation); } function moveFrame(value){ animationManager.moveFrame(value); } function searchAnimations(){ if(standalone === true){ animationManager.searchAnimations(animationData,standalone, renderer); }else{ animationManager.searchAnimations(); } } function registerAnimation(elem){ return animationManager.registerAnimation(elem); } function resize(){ animationManager.resize(); } function start(){ animationManager.start(); } function goToAndStop(val,isFrame, animation){ animationManager.goToAndStop(val,isFrame, animation); } function setSubframeRendering(flag){ subframeEnabled = flag; } function loadAnimation(params){ if(standalone === true){ params.animationData = JSON.parse(animationData); } return animationManager.loadAnimation(params); } function destroy(animation){ return animationManager.destroy(animation); } function setQuality(value){ if(typeof value === 'string'){ switch(value){ case 'high': defaultCurveSegments = 200; break; case 'medium': defaultCurveSegments = 50; break; case 'low': defaultCurveSegments = 10; break; } }else if(!isNaN(value) && value > 1){ defaultCurveSegments = value; } if(defaultCurveSegments >= 50){ roundValues(false); }else{ roundValues(true); } } bodymovinjs.play = play; bodymovinjs.pause = pause; bodymovinjs.togglePause = togglePause; bodymovinjs.setSpeed = setSpeed; bodymovinjs.setDirection = setDirection; bodymovinjs.stop = stop; bodymovinjs.moveFrame = moveFrame; bodymovinjs.searchAnimations = searchAnimations; bodymovinjs.registerAnimation = registerAnimation; bodymovinjs.loadAnimation = loadAnimation; bodymovinjs.setSubframeRendering = setSubframeRendering; bodymovinjs.resize = resize; bodymovinjs.start = start; bodymovinjs.goToAndStop = goToAndStop; bodymovinjs.destroy = destroy; bodymovinjs.setQuality = setQuality; bodymovinjs.version = '4.1.4'; function checkReady(){ if (document.readyState === "complete") { clearInterval(readyStateCheckInterval); searchAnimations(); } } function getQueryVariable(variable) { var vars = queryString.split('&'); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split('='); if (decodeURIComponent(pair[0]) == variable) { return decodeURIComponent(pair[1]); } } } var standalone = '__[STANDALONE]__'; var animationData = '__[ANIMATIONDATA]__'; var renderer = ''; if(standalone) { var scripts = document.getElementsByTagName('script'); var index = scripts.length - 1; var myScript = scripts[index]; var queryString = myScript.src.replace(/^[^\?]+\??/,''); renderer = getQueryVariable('renderer'); } var readyStateCheckInterval = setInterval(checkReady, 100); return bodymovinjs; })); 
\ No newline at end of file
diff --git a/extension/assets/player/bm.js.gz b/extension/assets/player/bm.js.gz
index 89226a4..ba3f70e 100644
--- a/extension/assets/player/bm.js.gz
+++ b/extension/assets/player/bm.js.gz
Binary files differ
diff --git a/extension/assets/player/demo.html b/extension/assets/player/demo.html
index 646d777..a66bff9 100644
--- a/extension/assets/player/demo.html
+++ b/extension/assets/player/demo.html
@@ -30,7 +30,7 @@
     else if(2==this.data.td){var t=document.createElementNS(svgNS,"mask");t.setAttribute("id",this.layerId),t.setAttribute("mask-type","alpha");var e=document.createElementNS(svgNS,"g");t.appendChild(e),this.layerElement=document.createElementNS(svgNS,"g");var s=document.createElementNS(svgNS,"filter"),i=randomString(10);s.setAttribute("id",i),s.setAttribute("filterUnits","objectBoundingBox"),s.setAttribute("x","0%"),s.setAttribute("y","0%"),s.setAttribute("width","100%"),s.setAttribute("height","100%");var a=document.createElementNS(svgNS,"feComponentTransfer");a.setAttribute("in","SourceGraphic"),s.appendChild(a);var r=document.createElementNS(svgNS,"feFuncA");r.setAttribute("type","table"),r.setAttribute("tableValues","1.0 0.0"),a.appendChild(r),this.globalData.defs.appendChild(s);var n=document.createElementNS(svgNS,"rect");n.setAttribute("width","100%"),n.setAttribute("height","100%"),n.setAttribute("x","0"),n.setAttribute("y","0"),n.setAttribute("fill","#ffffff"),n.setAttribute("opacity","0"),e.setAttribute("filter","url(#"+i+")"),e.appendChild(n),e.appendChild(this.layerElement),this.globalData.defs.appendChild(t)}else{this.layerElement=document.createElementNS(svgNS,"g");var o=document.createElementNS(svgNS,"mask");o.setAttribute("id",this.layerId),o.setAttribute("mask-type","alpha"),o.appendChild(this.layerElement),this.globalData.defs.appendChild(o)}this.data.hasMask&&(this.maskedElement=this.layerElement)}else this.data.hasMask?(this.layerElement=document.createElementNS(svgNS,"g"),this.data.tt?(this.matteElement=document.createElementNS(svgNS,"g"),this.matteElement.appendChild(this.layerElement),this.appendNodeToParent(this.matteElement)):this.appendNodeToParent(this.layerElement),this.maskedElement=this.layerElement):this.data.tt?(this.matteElement=document.createElementNS(svgNS,"g"),this.matteElement.setAttribute("id",this.layerId),this.appendNodeToParent(this.matteElement),this.layerElement=this.matteElement):this.layerElement=this.parentContainer;!this.data.ln||4!==this.data.ty&&0!==this.data.ty||(this.layerElement===this.parentContainer&&(this.layerElement=document.createElementNS(svgNS,"g"),this.appendNodeToParent(this.layerElement)),this.layerElement.setAttribute("id",this.data.ln)),0!==this.data.ty||!this.finalTransform.op.k&&1===this.finalTransform.op.p||this.layerElement!==this.parentContainer||(this.layerElement=document.createElementNS(svgNS,"g"),this.appendNodeToParent(this.layerElement)),this.layerElement!==this.parentContainer&&(this.placeholder=null)},SVGBaseElement.prototype.renderFrame=function(t){if(3===this.data.ty)return!1;if(this.currentFrameNum===this.lastNum||!this.isVisible)return this.isVisible;this.lastNum=this.currentFrameNum,this.data.hasMask&&this.maskManager.renderFrame(),this.finalTransform.opMdf=this.finalTransform.op.mdf,this.finalTransform.matMdf=this.finalTransform.mProp.mdf,this.finalTransform.opacity=this.finalTransform.op.v,this.firstFrame&&(this.finalTransform.opMdf=!0,this.finalTransform.matMdf=!0);var e,s=this.finalTransform.mat;if(this.hierarchy){var i,a=this.hierarchy.length;for(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e),i=0;a>i;i+=1)this.finalTransform.matMdf=this.hierarchy[i].finalTransform.mProp.mdf?!0:this.finalTransform.matMdf,e=this.hierarchy[i].finalTransform.mProp.v.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}else this.isVisible&&(t?(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e)):s.cloneFromProps(this.finalTransform.mProp.v.props));return t&&(e=t.mat.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]),this.finalTransform.opacity*=t.opacity,this.finalTransform.opMdf=t.opMdf?!0:this.finalTransform.opMdf,this.finalTransform.matMdf=t.matMdf?!0:this.finalTransform.matMdf),this.data.hasMask?(this.finalTransform.matMdf&&this.layerElement.setAttribute("transform",s.to2dCSS()),this.finalTransform.opMdf&&this.layerElement.setAttribute("opacity",this.finalTransform.opacity)):0===this.data.ty&&this.finalTransform.opMdf&&(this.finalTransform.op.k||1!==this.finalTransform.op.p)&&(this.layerElement.setAttribute("opacity",this.finalTransform.opacity),this.finalTransform.opacity=1),this.isVisible},SVGBaseElement.prototype.destroy=function(){this.layerElement=null,this.parentContainer=null,this.matteElement&&(this.matteElement=null),this.maskManager&&this.maskManager.destroy()},SVGBaseElement.prototype.getDomElement=function(){return this.layerElement},SVGBaseElement.prototype.addMasks=function(t){this.maskManager=new MaskElement(t,this,this.globalData)},SVGBaseElement.prototype.setMatte=function(t){this.matteElement&&this.matteElement.setAttribute("mask","url(#"+t+")")},SVGBaseElement.prototype.hide=function(){},ITextElement.prototype.init=function(){this.parent.init.call(this),this.lettersChangedFlag=!1;var t=this.data;this.renderedLetters=Array.apply(null,{length:t.t.d.l.length}),this.viewData={m:{a:PropertyFactory.getProp(this,t.t.m.a,1,0,this.dynamicProperties)}};var e=this.data.t;if(e.a.length){this.viewData.a=Array.apply(null,{length:e.a.length});var s,i,a,r=e.a.length;for(s=0;r>s;s+=1)a=e.a[s],i={a:{},s:{}},"r"in a.a&&(i.a.r=PropertyFactory.getProp(this,a.a.r,0,degToRads,this.dynamicProperties)),"rx"in a.a&&(i.a.rx=PropertyFactory.getProp(this,a.a.rx,0,degToRads,this.dynamicProperties)),"ry"in a.a&&(i.a.ry=PropertyFactory.getProp(this,a.a.ry,0,degToRads,this.dynamicProperties)),"sk"in a.a&&(i.a.sk=PropertyFactory.getProp(this,a.a.sk,0,degToRads,this.dynamicProperties)),"sa"in a.a&&(i.a.sa=PropertyFactory.getProp(this,a.a.sa,0,degToRads,this.dynamicProperties)),"s"in a.a&&(i.a.s=PropertyFactory.getProp(this,a.a.s,1,.01,this.dynamicProperties)),"a"in a.a&&(i.a.a=PropertyFactory.getProp(this,a.a.a,1,0,this.dynamicProperties)),"o"in a.a&&(i.a.o=PropertyFactory.getProp(this,a.a.o,0,.01,this.dynamicProperties)),"p"in a.a&&(i.a.p=PropertyFactory.getProp(this,a.a.p,1,0,this.dynamicProperties)),"sw"in a.a&&(i.a.sw=PropertyFactory.getProp(this,a.a.sw,0,0,this.dynamicProperties)),"sc"in a.a&&(i.a.sc=PropertyFactory.getProp(this,a.a.sc,1,0,this.dynamicProperties)),"fc"in a.a&&(i.a.fc=PropertyFactory.getProp(this,a.a.fc,1,0,this.dynamicProperties)),"fh"in a.a&&(i.a.fh=PropertyFactory.getProp(this,a.a.fh,0,0,this.dynamicProperties)),"fs"in a.a&&(i.a.fs=PropertyFactory.getProp(this,a.a.fs,0,.01,this.dynamicProperties)),"fb"in a.a&&(i.a.fb=PropertyFactory.getProp(this,a.a.fb,0,.01,this.dynamicProperties)),"t"in a.a&&(i.a.t=PropertyFactory.getProp(this,a.a.t,0,0,this.dynamicProperties)),i.s=PropertyFactory.getTextSelectorProp(this,a.s,this.dynamicProperties),i.s.t=a.s.t,this.viewData.a[s]=i}else this.viewData.a=[];e.p&&"m"in e.p?(this.viewData.p={f:PropertyFactory.getProp(this,e.p.f,0,0,this.dynamicProperties),l:PropertyFactory.getProp(this,e.p.l,0,0,this.dynamicProperties),r:e.p.r,m:this.maskManager.getMaskProperty(e.p.m)},this.maskPath=!0):this.maskPath=!1},ITextElement.prototype.createPathShape=function(t,e){var s,i,a,r,n=e.length,o="";for(s=0;n>s;s+=1){for(a=e[s].ks.k.i.length,r=e[s].ks.k,i=1;a>i;i+=1)1==i&&(o+=" M"+t.applyToPointStringified(r.v[0][0],r.v[0][1])),o+=" C"+t.applyToPointStringified(r.o[i-1][0],r.o[i-1][1])+" "+t.applyToPointStringified(r.i[i][0],r.i[i][1])+" "+t.applyToPointStringified(r.v[i][0],r.v[i][1]);o+=" C"+t.applyToPointStringified(r.o[i-1][0],r.o[i-1][1])+" "+t.applyToPointStringified(r.i[0][0],r.i[0][1])+" "+t.applyToPointStringified(r.v[0][0],r.v[0][1]),o+="z"}return o},ITextElement.prototype.getMeasures=function(){var t,e,s,i,a=this.mHelper,r=this.renderType,n=this.data,o=n.t.d,h=o.l;if(this.maskPath){var l=this.viewData.p.m;if(!this.viewData.p.n||this.viewData.p.mdf){var p=l.v;this.viewData.p.r&&(p=reversePath(p,l.closed));var m={tLength:0,segments:[]};i=p.v.length-1;var f,d=0;for(s=0;i>s;s+=1)f={s:p.v[s],e:p.v[s+1],to:[p.o[s][0]-p.v[s][0],p.o[s][1]-p.v[s][1]],ti:[p.i[s+1][0]-p.v[s+1][0],p.i[s+1][1]-p.v[s+1][1]]},bez.buildBezierData(f),m.tLength+=f.bezierData.segmentLength,m.segments.push(f),d+=f.bezierData.segmentLength;s=i,l.closed&&(f={s:p.v[s],e:p.v[0],to:[p.o[s][0]-p.v[s][0],p.o[s][1]-p.v[s][1]],ti:[p.i[0][0]-p.v[0][0],p.i[0][1]-p.v[0][1]]},bez.buildBezierData(f),m.tLength+=f.bezierData.segmentLength,m.segments.push(f),d+=f.bezierData.segmentLength),this.viewData.p.pi=m}var c,u,y,m=this.viewData.p.pi,v=this.viewData.p.f.v,g=0,b=1,E=0,P=!0,k=m.segments;if(0>v&&l.closed)for(m.tLength<Math.abs(v)&&(v=-Math.abs(v)%m.tLength),g=k.length-1,y=k[g].bezierData.points,b=y.length-1;0>v;)v+=y[b].partialLength,b-=1,0>b&&(g-=1,y=k[g].bezierData.points,b=y.length-1);y=k[g].bezierData.points,u=y[b-1],c=y[b];var S,C,x=c.partialLength}i=h.length,t=0,e=0;var w,D,T,M,I,F=1.2*n.t.d.s*.714,A=!0,V=this.viewData,N=Array.apply(null,{length:i});this.lettersChangedFlag=!1,M=V.a.length;var L,B,_,H,R,z,O,j,G,W,X,q,Y,Z,J,U,K=-1,Q=v,$=g,tt=b,et=-1,st=0;for(s=0;i>s;s+=1)if(a.reset(),z=1,h[s].n)t=0,e+=o.yOffset,e+=A?1:0,v=Q,A=!1,st=0,this.maskPath&&(g=$,b=tt,y=k[g].bezierData.points,u=y[b-1],c=y[b],x=c.partialLength,E=0),N[s]=this.emptyProp;else{if(this.maskPath){if(et!==h[s].line){switch(o.j){case 1:v+=d-o.lineWidths[h[s].line];break;case 2:v+=(d-o.lineWidths[h[s].line])/2}et=h[s].line}K!==h[s].ind&&(h[K]&&(v+=h[K].extra),v+=h[s].an/2,K=h[s].ind),v+=V.m.a.v[0]*h[s].an/200;var it=0;for(T=0;M>T;T+=1)w=V.a[T].a,"p"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),it+=B.length?w.p.v[0]*B[0]:w.p.v[0]*B);for(P=!0;P;)E+x>=v+it||!y?(S=(v+it-E)/c.partialLength,H=u.point[0]+(c.point[0]-u.point[0])*S,R=u.point[1]+(c.point[1]-u.point[1])*S,a.translate(0,-(V.m.a.v[1]*F/100)+e),P=!1):y&&(E+=c.partialLength,b+=1,b>=y.length&&(b=0,g+=1,k[g]?y=k[g].bezierData.points:l.closed?(b=0,g=0,y=k[g].bezierData.points):(E-=c.partialLength,y=null)),y&&(u=c,c=y[b],x=c.partialLength));_=h[s].an/2-h[s].add,a.translate(-_,0,0)}else _=h[s].an/2-h[s].add,a.translate(-_,0,0),a.translate(-V.m.a.v[0]*h[s].an/200,-V.m.a.v[1]*F/100,0);for(st+=h[s].l/2,T=0;M>T;T+=1)w=V.a[T].a,"t"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),this.maskPath?v+=B.length?w.t*B[0]:w.t*B:t+=B.length?w.t.v*B[0]:w.t.v*B);for(st+=h[s].l/2,o.strokeWidthAnim&&(j=n.t.d.sw||0),o.strokeColorAnim&&(O=n.t.d.sc?[n.t.d.sc[0],n.t.d.sc[1],n.t.d.sc[2]]:[0,0,0]),o.fillColorAnim&&(G=[n.t.d.fc[0],n.t.d.fc[1],n.t.d.fc[2]]),T=0;M>T;T+=1)w=V.a[T].a,"a"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),B.length?a.translate(-w.a.v[0]*B[0],-w.a.v[1]*B[1],w.a.v[2]*B[2]):a.translate(-w.a.v[0]*B,-w.a.v[1]*B,w.a.v[2]*B));for(T=0;M>T;T+=1)w=V.a[T].a,"s"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),B.length?a.scale(1+(w.s.v[0]-1)*B[0],1+(w.s.v[1]-1)*B[1],1):a.scale(1+(w.s.v[0]-1)*B,1+(w.s.v[1]-1)*B,1));for(T=0;M>T;T+=1){if(w=V.a[T].a,D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),"sk"in w&&(B.length?a.skewFromAxis(-w.sk.v*B[0],w.sa.v*B[1]):a.skewFromAxis(-w.sk.v*B,w.sa.v*B)),"r"in w&&a.rotateZ(B.length?-w.r.v*B[2]:-w.r.v*B),"ry"in w&&a.rotateY(B.length?w.ry.v*B[1]:w.ry.v*B),"rx"in w&&a.rotateX(B.length?w.rx.v*B[0]:w.rx.v*B),"o"in w&&(z+=B.length?(w.o.v*B[0]-z)*B[0]:(w.o.v*B-z)*B),o.strokeWidthAnim&&"sw"in w&&(j+=B.length?w.sw.v*B[0]:w.sw.v*B),o.strokeColorAnim&&"sc"in w)for(W=0;3>W;W+=1)O[W]=Math.round(B.length?O[W]+(w.sc.v[W]-O[W])*B[0]:O[W]+(w.sc.v[W]-O[W])*B);if(o.fillColorAnim){if("fc"in w)for(W=0;3>W;W+=1)G[W]=Math.round(B.length?G[W]+(w.fc.v[W]-G[W])*B[0]:G[W]+(w.fc.v[W]-G[W])*B);"fh"in w&&(G=B.length?addHueToRGB(G,w.fh.v*B[0]):addHueToRGB(G,w.fh.v*B)),"fs"in w&&(G=B.length?addSaturationToRGB(G,w.fs.v*B[0]):addSaturationToRGB(G,w.fs.v*B)),"fb"in w&&(G=B.length?addBrightnessToRGB(G,w.fb.v*B[0]):addBrightnessToRGB(G,w.fb.v*B))}}for(T=0;M>T;T+=1)w=V.a[T].a,"p"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),this.maskPath?B.length?a.translate(0,w.p.v[1]*B[0],-w.p.v[2]*B[1]):a.translate(0,w.p.v[1]*B,-w.p.v[2]*B):B.length?a.translate(w.p.v[0]*B[0],w.p.v[1]*B[1],-w.p.v[2]*B[2]):a.translate(w.p.v[0]*B,w.p.v[1]*B,-w.p.v[2]*B));if(o.strokeWidthAnim&&(X=0>j?0:j),o.strokeColorAnim&&(q="rgb("+O[0]+","+O[1]+","+O[2]+")"),o.fillColorAnim&&(Y="rgb("+G[0]+","+G[1]+","+G[2]+")"),this.maskPath){if(n.t.p.p){C=(c.point[1]-u.point[1])/(c.point[0]-u.point[0]);var at=180*Math.atan(C)/Math.PI;c.point[0]<u.point[0]&&(at+=180),a.rotate(-at*Math.PI/180)}a.translate(H,R,0),a.translate(V.m.a.v[0]*h[s].an/200,V.m.a.v[1]*F/100,0),v-=V.m.a.v[0]*h[s].an/200,h[s+1]&&K!==h[s+1].ind&&(v+=h[s].an/2,v+=o.tr/1e3*n.t.d.s)}else{switch(a.translate(t,e,0),o.ps&&a.translate(o.ps[0],o.ps[1]+o.ascent,0),o.j){case 1:a.translate(o.justifyOffset+(o.boxWidth-o.lineWidths[h[s].line]),0,0);break;case 2:a.translate(o.justifyOffset+(o.boxWidth-o.lineWidths[h[s].line])/2,0,0)}a.translate(_,0,0),a.translate(V.m.a.v[0]*h[s].an/200,V.m.a.v[1]*F/100,0),t+=h[s].l+o.tr/1e3*n.t.d.s}"html"===r?Z=a.toCSS():"svg"===r?Z=a.to2dCSS():J=[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]],U=z,L=this.renderedLetters[s],!L||L.o===U&&L.sw===X&&L.sc===q&&L.fc===Y?"svg"!==r&&"html"!==r||L&&L.m===Z?"canvas"!==r||L&&L.props[0]===J[0]&&L.props[1]===J[1]&&L.props[4]===J[4]&&L.props[5]===J[5]&&L.props[12]===J[12]&&L.props[13]===J[13]?I=L:(this.lettersChangedFlag=!0,I=new LetterProps(U,X,q,Y,null,J)):(this.lettersChangedFlag=!0,I=new LetterProps(U,X,q,Y,Z)):(this.lettersChangedFlag=!0,I=new LetterProps(U,X,q,Y,Z,J)),this.renderedLetters[s]=I}},ITextElement.prototype.emptyProp=new LetterProps,createElement(SVGBaseElement,SVGTextElement),SVGTextElement.prototype.init=ITextElement.prototype.init,SVGTextElement.prototype.createPathShape=ITextElement.prototype.createPathShape,SVGTextElement.prototype.getMeasures=ITextElement.prototype.getMeasures,SVGTextElement.prototype.createElements=function(){this.parent.createElements.call(this);var t=this.data.t.d;this.innerElem=document.createElementNS(svgNS,"g"),t.fc?this.innerElem.setAttribute("fill","rgb("+t.fc[0]+","+t.fc[1]+","+t.fc[2]+")"):this.innerElem.setAttribute("fill","rgba(0,0,0,0)"),t.sc&&(this.innerElem.setAttribute("stroke","rgb("+t.sc[0]+","+t.sc[1]+","+t.sc[2]+")"),this.innerElem.setAttribute("stroke-width",t.sw)),this.innerElem.setAttribute("font-size",t.s);var e=this.globalData.fontManager.getFontByName(t.f);if(e.fClass)this.innerElem.setAttribute("class",e.fClass);else{this.innerElem.setAttribute("font-family",e.fFamily);var s=t.fWeight,i=t.fStyle;this.innerElem.setAttribute("font-style",i),this.innerElem.setAttribute("font-weight",s)}var a,r;this.layerElement===this.parentContainer?this.appendNodeToParent(this.innerElem):this.layerElement.appendChild(this.innerElem);var n=t.l;if(r=n.length){var o,h,l=this.mHelper,p="",m=this.data.singleShape;if(m)var f=0,d=0,c=t.lineWidths,u=t.boxWidth,y=!0;for(a=0;r>a;a+=1){if(this.globalData.fontManager.chars?m&&0!==a||(o=document.createElementNS(svgNS,"path")):o=document.createElementNS(svgNS,"text"),o.setAttribute("stroke-linecap","butt"),o.setAttribute("stroke-linejoin","round"),o.setAttribute("stroke-miterlimit","4"),m&&n[a].n&&(f=0,d+=t.yOffset,d+=y?1:0,y=!1),l.reset(),this.globalData.fontManager.chars&&l.scale(t.s/100,t.s/100),m){switch(t.ps&&l.translate(t.ps[0],t.ps[1]+t.ascent,0),t.j){case 1:l.translate(t.justifyOffset+(u-c[n[a].line]),0,0);break;case 2:l.translate(t.justifyOffset+(u-c[n[a].line])/2,0,0)}l.translate(f,d,0)}if(this.globalData.fontManager.chars){var v,g=this.globalData.fontManager.getCharData(t.t.charAt(a),e.fStyle,this.globalData.fontManager.getFontByName(t.f).fFamily);v=g?g.data:null,v&&v.shapes&&(h=v.shapes[0].it,m||(p=""),p+=this.createPathShape(l,h),m||o.setAttribute("d",p)),m||this.innerElem.appendChild(o)}else o.textContent=n[a].val,o.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),this.innerElem.appendChild(o),m&&o.setAttribute("transform",l.to2dCSS());m&&(f+=n[a].l),this.textSpans.push(o)}m&&this.globalData.fontManager.chars&&(o.setAttribute("d",p),this.innerElem.appendChild(o))}},SVGTextElement.prototype.hide=function(){this.hidden||(this.innerElem.style.display="none",this.hidden=!0)},SVGTextElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);if(e===!1)return void this.hide();if(this.hidden&&(this.hidden=!1,this.innerElem.style.display="block"),this.data.hasMask||(this.finalTransform.matMdf&&this.innerElem.setAttribute("transform",this.finalTransform.mat.to2dCSS()),this.finalTransform.opMdf&&this.innerElem.setAttribute("opacity",this.finalTransform.opacity)),!this.data.singleShape&&(this.getMeasures(),this.lettersChangedFlag)){var s,i,a=this.renderedLetters,r=this.data.t.d.l;i=r.length;var n;for(s=0;i>s;s+=1)r[s].n||(n=a[s],this.textSpans[s].setAttribute("transform",n.m),this.textSpans[s].setAttribute("opacity",n.o),n.sw&&this.textSpans[s].setAttribute("stroke-width",n.sw),n.sc&&this.textSpans[s].setAttribute("stroke",n.sc),n.fc&&this.textSpans[s].setAttribute("fill",n.fc));this.firstFrame&&(this.firstFrame=!1)}},SVGTextElement.prototype.destroy=function(){this.parent.destroy.call(),this.innerElem=null};var PlaceHolderElement=function(t,e,s){if(this.data=t,this.globalData=s,e){this.parentContainer=e;var i=document.createElementNS(svgNS,"g");i.setAttribute("id",this.data.id),e.appendChild(i),this.phElement=i}this.layerId="ly_"+randomString(10)};PlaceHolderElement.prototype.prepareFrame=function(){},PlaceHolderElement.prototype.renderFrame=function(){},PlaceHolderElement.prototype.draw=function(){},createElement(SVGBaseElement,ICompElement),extendPrototype(ExpressionComp,ICompElement),ICompElement.prototype.getComposingElement=function(){return this.layerElement},ICompElement.prototype.hide=function(){if(!this.hidden){var t,e=this.elements.length;for(t=0;e>t;t+=1)this.elements[t].hide();this.hidden=!0}},ICompElement.prototype.prepareFrame=function(t){if(this.parent.prepareFrame.call(this,t),this.isVisible!==!1){var e=t;this.tm&&(e=this.tm.v,e===this.data.op&&(e=this.data.op-1)),this.renderedFrame=e;var s,i=this.elements.length;for(s=0;i>s;s+=1)this.elements[s].prepareFrame(e-this.layers[s].st)}},ICompElement.prototype.renderFrame=function(t){var e,s=this.parent.renderFrame.call(this,t),i=this.layers.length;if(s===!1)return void this.hide();for(this.hidden=!1,e=0;i>e;e+=1)this.data.hasMask?this.elements[e].renderFrame():this.elements[e].renderFrame(this.finalTransform);this.firstFrame&&(this.firstFrame=!1)},ICompElement.prototype.setElements=function(t){this.elements=t},ICompElement.prototype.getElements=function(){return this.elements},ICompElement.prototype.destroy=function(){this.parent.destroy.call();var t,e=this.layers.length;for(t=0;e>t;t+=1)this.elements[t].destroy()},createElement(SVGBaseElement,IImageElement),IImageElement.prototype.createElements=function(){var t=this,e=function(){t.innerElem.setAttributeNS("http://www.w3.org/1999/xlink","href",t.path+t.assetData.p),t.maskedElement=t.innerElem},s=new Image;s.addEventListener("load",e,!1),s.addEventListener("error",e,!1),s.src=this.path+this.assetData.p,this.parent.createElements.call(this),this.innerElem=document.createElementNS(svgNS,"image"),this.innerElem.setAttribute("width",this.assetData.w+"px"),this.innerElem.setAttribute("height",this.assetData.h+"px"),this.layerElement===this.parentContainer?this.appendNodeToParent(this.innerElem):this.layerElement.appendChild(this.innerElem),this.data.ln&&this.innerElem.setAttribute("id",this.data.ln)},IImageElement.prototype.hide=function(){this.hidden||(this.innerElem.setAttribute("visibility","hidden"),this.hidden=!0)},IImageElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden&&(this.hidden=!1,this.innerElem.setAttribute("visibility","visible")),this.data.hasMask||((this.finalTransform.matMdf||this.firstFrame)&&this.innerElem.setAttribute("transform",this.finalTransform.mat.to2dCSS()),(this.finalTransform.opMdf||this.firstFrame)&&this.innerElem.setAttribute("opacity",this.finalTransform.opacity)),void(this.firstFrame&&(this.firstFrame=!1)))},IImageElement.prototype.destroy=function(){this.parent.destroy.call(),this.innerElem=null},createElement(SVGBaseElement,IShapeElement),IShapeElement.prototype.lcEnum={1:"butt",2:"round",3:"butt"},IShapeElement.prototype.ljEnum={1:"miter",2:"round",3:"butt"},IShapeElement.prototype.transformHelper={opacity:1,mat:new Matrix,matMdf:!1,opMdf:!1},IShapeElement.prototype.createElements=function(){this.parent.createElements.call(this),this.searchShapes(this.shapesData,this.viewData,this.dynamicProperties,[]),this.layerElement.appendChild(this.shapesContainer),styleUnselectableDiv(this.layerElement),styleUnselectableDiv(this.shapesContainer),this.buildExpressionInterface()},IShapeElement.prototype.searchShapes=function(t,e,s,i){var a,r,n,o=t.length-1,h=[],l=[];for(a=o;a>=0;a-=1)if("fl"==t[a].ty||"st"==t[a].ty){e[a]={};var p;if(e[a].c=PropertyFactory.getProp(this,t[a].c,1,null,s),e[a].o=PropertyFactory.getProp(this,t[a].o,0,.01,s),"st"==t[a].ty){if(p=document.createElementNS(svgNS,"g"),p.style.strokeLinecap=this.lcEnum[t[a].lc]||"round",p.style.strokeLinejoin=this.ljEnum[t[a].lj]||"round",p.style.fillOpacity=0,1==t[a].lj&&(p.style.strokeMiterlimit=t[a].ml),e[a].c.k||(p.style.stroke="rgb("+e[a].c.v[0]+","+e[a].c.v[1]+","+e[a].c.v[2]+")"),e[a].o.k||(p.style.strokeOpacity=e[a].o.v),e[a].w=PropertyFactory.getProp(this,t[a].w,0,null,s),e[a].w.k||(p.style.strokeWidth=e[a].w.v),t[a].d){var m=PropertyFactory.getDashProp(this,t[a].d,"svg",s);m.k||(p.style.strokeDasharray=m.dasharray,p.style.strokeDashoffset=m.dashoffset),e[a].d=m}}else p=document.createElementNS(svgNS,"path"),e[a].c.k||(p.style.fill="rgb("+e[a].c.v[0]+","+e[a].c.v[1]+","+e[a].c.v[2]+")"),e[a].o.k||(p.style.fillOpacity=e[a].o.v);this.shapesContainer.appendChild(p),this.stylesList.push({pathElement:p,type:t[a].ty,d:"",ld:"",mdf:!1}),e[a].style=this.stylesList[this.stylesList.length-1],h.push(e[a].style)}else if("gr"==t[a].ty)e[a]={it:[]},this.searchShapes(t[a].it,e[a].it,s,i);else if("tr"==t[a].ty)e[a]={transform:{mat:new Matrix,opacity:1,matMdf:!1,opMdf:!1,op:PropertyFactory.getProp(this,t[a].o,0,.01,s),mProps:PropertyFactory.getProp(this,t[a],2,null,s)},elements:[]};else if("sh"==t[a].ty||"rc"==t[a].ty||"el"==t[a].ty||"sr"==t[a].ty){e[a]={elements:[],styles:[],lStr:""};var f=4;"rc"==t[a].ty?f=5:"el"==t[a].ty?f=6:"sr"==t[a].ty&&(f=7),i.length&&(t[a].trimmed=!0),e[a].sh=PropertyFactory.getShapeProp(this,t[a],f,s,i),n=this.stylesList.length;var d,c=!1,u=!1;for(r=0;n>r;r+=1)this.stylesList[r].closed||("st"===this.stylesList[r].type?(c=!0,d=document.createElementNS(svgNS,"path"),this.stylesList[r].pathElement.appendChild(d),e[a].elements.push({ty:this.stylesList[r].type,el:d})):(u=!0,e[a].elements.push({ty:this.stylesList[r].type,st:this.stylesList[r]})));e[a].st=c,e[a].fl=u}else if("tm"==t[a].ty){var y={closed:!1,trimProp:PropertyFactory.getProp(this,t[a],7,null,s)};e[a]={tr:y.trimProp},i.push(y),l.push(y)}for(o=h.length,a=0;o>a;a+=1)h[a].closed=!0;for(o=l.length,a=0;o>a;a+=1)l[a].closed=!0},IShapeElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden=!1,this.finalTransform.matMdf&&!this.data.hasMask&&this.shapesContainer.setAttribute("transform",this.finalTransform.mat.to2dCSS()),this.transformHelper.opacity=this.finalTransform.opacity,this.transformHelper.matMdf=!1,this.transformHelper.opMdf=this.finalTransform.opMdf,void this.renderShape(this.transformHelper,null,null,!0))},IShapeElement.prototype.hide=function(){if(!this.hidden){var t,e=this.stylesList.length;for(t=e-1;t>=0;t-=1)"0"!==this.stylesList[t].ld&&(this.stylesList[t].ld="0",this.stylesList[t].pathElement.style.display="none",this.stylesList[t].pathElement.parentNode&&(this.stylesList[t].parent=this.stylesList[t].pathElement.parentNode));this.hidden=!0}},IShapeElement.prototype.renderShape=function(t,e,s,i){var a,r;if(!e)for(e=this.shapesData,r=this.stylesList.length,a=0;r>a;a+=1)this.stylesList[a].d="",this.stylesList[a].mdf=!1;s||(s=this.viewData),r=e.length-1;var n,o;for(n=t,a=r;a>=0;a-=1)if("tr"==e[a].ty){n=s[a].transform;var h=s[a].transform.mProps.v.props;if(n.matMdf=n.mProps.mdf,n.opMdf=n.op.mdf,o=n.mat,o.cloneFromProps(h),t){var l=t.mat.props;n.opacity=t.opacity,n.opacity*=s[a].transform.op.v,n.matMdf=t.matMdf?!0:n.matMdf,n.opMdf=t.opMdf?!0:n.opMdf,o.transform(l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9],l[10],l[11],l[12],l[13],l[14],l[15])}else n.opacity=n.op.o}else"sh"==e[a].ty||"el"==e[a].ty||"rc"==e[a].ty||"sr"==e[a].ty?this.renderPath(e[a],s[a],n):"fl"==e[a].ty?this.renderFill(e[a],s[a],n):"st"==e[a].ty?this.renderStroke(e[a],s[a],n):"gr"==e[a].ty?this.renderShape(n,e[a].it,s[a].it):"tm"==e[a].ty;if(i){for(r=this.stylesList.length,a=0;r>a;a+=1)"0"===this.stylesList[a].ld&&(this.stylesList[a].ld="1",this.stylesList[a].pathElement.style.display="block"),"fl"===this.stylesList[a].type&&(this.stylesList[a].mdf||this.firstFrame)&&this.stylesList[a].pathElement.setAttribute("d",this.stylesList[a].d);this.firstFrame&&(this.firstFrame=!1)}},IShapeElement.prototype.renderPath=function(t,e,s){var i,a,r=e.sh.v,n="";if(r.v){i=r.v.length;var o=s.matMdf||e.sh.mdf||this.firstFrame;if(o){var h=r.s?r.s:[];for(a=1;i>a;a+=1)h[a-1]?n+=" M"+s.mat.applyToPointStringified(h[a-1][0],h[a-1][1]):1==a&&(n+=" M"+s.mat.applyToPointStringified(r.v[0][0],r.v[0][1])),n+=" C"+s.mat.applyToPointStringified(r.o[a-1][0],r.o[a-1][1])+" "+s.mat.applyToPointStringified(r.i[a][0],r.i[a][1])+" "+s.mat.applyToPointStringified(r.v[a][0],r.v[a][1]);1==i&&(n+=h[0]?" M"+s.mat.applyToPointStringified(h[0][0],h[0][1]):" M"+s.mat.applyToPointStringified(r.v[0][0],r.v[0][1])),i&&t.closed&&(!t.trimmed||r.c)&&(n+=" C"+s.mat.applyToPointStringified(r.o[a-1][0],r.o[a-1][1])+" "+s.mat.applyToPointStringified(r.i[0][0],r.i[0][1])+" "+s.mat.applyToPointStringified(r.v[0][0],r.v[0][1]),n+="z"),e.lStr=n}else n=e.lStr;for(i=e.elements.length,a=0;i>a;a+=1)"st"===e.elements[a].ty?(e.sh.mdf||this.firstFrame)&&e.elements[a].el.setAttribute("d",n):(e.elements[a].st.mdf=o?!0:e.elements[a].st.mdf,e.elements[a].st.d+=n)}},IShapeElement.prototype.renderFill=function(t,e,s){var i=e.style;(e.c.mdf||this.firstFrame)&&(i.pathElement.style.fill="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.pathElement.style.fillOpacity=e.o.v*s.opacity)},IShapeElement.prototype.renderStroke=function(t,e,s){var i=e.style,a=e.d;a&&a.k&&(a.mdf||this.firstFrame)&&(i.pathElement.style.strokeDasharray=a.dasharray,i.pathElement.style.strokeDashoffset=a.dashoffset),(e.c.mdf||this.firstFrame)&&(i.pathElement.style.stroke="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.pathElement.style.strokeOpacity=e.o.v*s.opacity),(e.w.mdf||this.firstFrame)&&(i.pathElement.style.strokeWidth=e.w.v)},IShapeElement.prototype.destroy=function(){this.parent.destroy.call(),this.shapeData=null,this.viewData=null,this.parentContainer=null,this.placeholder=null},extendPrototype(ShapeInterface,IShapeElement),createElement(SVGBaseElement,ISolidElement),ISolidElement.prototype.createElements=function(){this.parent.createElements.call(this);var t=document.createElementNS(svgNS,"rect");t.setAttribute("width",this.data.sw),t.setAttribute("height",this.data.sh),t.setAttribute("fill",this.data.sc),this.layerElement===this.parentContainer?this.appendNodeToParent(t):this.layerElement.appendChild(t),this.data.ln&&this.innerElem.setAttribute("id",this.data.ln),this.innerElem=t},ISolidElement.prototype.hide=IImageElement.prototype.hide,ISolidElement.prototype.renderFrame=IImageElement.prototype.renderFrame,ISolidElement.prototype.destroy=IImageElement.prototype.destroy,createElement(BaseElement,CVBaseElement),CVBaseElement.prototype.createElements=function(){},CVBaseElement.prototype.renderFrame=function(t){if(3===this.data.ty)return!1;if(!this.isVisible)return this.isVisible;this.finalTransform.opMdf=this.finalTransform.op.mdf,this.finalTransform.matMdf=this.finalTransform.mProp.mdf,this.finalTransform.opacity=this.finalTransform.op.v;var e,s=this.finalTransform.mat;if(this.hierarchy){var i,a=this.hierarchy.length;for(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e),i=0;a>i;i+=1)this.finalTransform.matMdf=this.hierarchy[i].finalTransform.mProp.mdf?!0:this.finalTransform.matMdf,e=this.hierarchy[i].finalTransform.mProp.v.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}else t?(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e)):s.cloneFromProps(this.finalTransform.mProp.v.props);return t&&(e=t.mat.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]),this.finalTransform.opacity*=t.opacity,this.finalTransform.opMdf=t.opMdf?!0:this.finalTransform.opMdf,this.finalTransform.matMdf=t.matMdf?!0:this.finalTransform.matMdf),this.data.hasMask&&(this.globalData.renderer.save(!0),this.maskManager.renderFrame(s)),this.isVisible},CVBaseElement.prototype.getCurrentAnimData=function(){return this.currentAnimData},CVBaseElement.prototype.addMasks=function(t){this.maskManager=new CVMaskElement(t,this,this.globalData)},CVBaseElement.prototype.destroy=function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager&&this.maskManager.destroy()},CVBaseElement.prototype.mHelper=new Matrix,createElement(CVBaseElement,CVCompElement),CVCompElement.prototype.prepareFrame=function(t){if(this.parent.prepareFrame.call(this,t),this.isVisible!==!1){var e=t;this.tm&&(e=this.tm.v,e===this.data.op&&(e=this.data.op-1)),this.renderedFrame=e;var s,i=this.elements.length;for(s=0;i>s;s+=1)this.elements[s].prepareFrame(e-this.layers[s].st)}},CVCompElement.prototype.renderFrame=function(t){if(this.parent.renderFrame.call(this,t)!==!1){var e,s=this.layers.length;for(e=s-1;e>=0;e-=1)this.elements[e].renderFrame(this.finalTransform);this.data.hasMask&&this.globalData.renderer.restore(!0),this.firstFrame&&(this.firstFrame=!1)}},CVCompElement.prototype.setElements=function(t){this.elements=t},CVCompElement.prototype.getElements=function(){return this.elements},CVCompElement.prototype.destroy=function(){var t,e=this.layers.length;for(t=e-1;t>=0;t-=1)this.elements[t].destroy();this.layers=null,this.elements=null,this.parent.destroy.call()},createElement(CVBaseElement,CVImageElement),CVImageElement.prototype.createElements=function(){var t=this,e=function(){t.animationItem.elementLoaded()},s=function(){t.failed=!0,t.animationItem.elementLoaded()};this.img=new Image,this.img.addEventListener("load",e,!1),this.img.addEventListener("error",s,!1),this.img.src=this.path+this.assetData.p,this.parent.createElements.call(this)},CVImageElement.prototype.renderFrame=function(t){if(!this.failed&&this.parent.renderFrame.call(this,t)!==!1){var e=this.canvasContext;this.globalData.renderer.save();var s=this.finalTransform.mat.props;this.globalData.renderer.ctxTransform(s),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.drawImage(this.img,0,0),this.globalData.renderer.restore(this.data.hasMask),this.firstFrame&&(this.firstFrame=!1)}},CVImageElement.prototype.destroy=function(){this.img=null,this.animationItem=null,this.parent.destroy.call()},CVMaskElement.prototype.getMaskProperty=function(t){return this.viewData[t]},CVMaskElement.prototype.prepareFrame=function(t){var e,s=this.dynamicProperties.length;for(e=0;s>e;e+=1)this.dynamicProperties[e].getValue(t)},CVMaskElement.prototype.renderFrame=function(t){var e,s,i,a,r,n=this.ctx,o=this.data.masksProperties.length,h=!1;for(e=0;o>e;e++)if("n"!==this.masksProperties[e].mode){h===!1&&(n.beginPath(),h=!0),this.masksProperties[e].inv&&(n.moveTo(0,0),n.lineTo(this.globalData.compWidth,0),n.lineTo(this.globalData.compWidth,this.globalData.compHeight),n.lineTo(0,this.globalData.compHeight),n.lineTo(0,0)),r=this.viewData[e].v,s=t.applyToPointArray(r.v[0][0],r.v[0][1],0),n.moveTo(s[0],s[1]);var l,p=r.v.length;for(l=1;p>l;l++)s=t.applyToPointArray(r.o[l-1][0],r.o[l-1][1],0),
             i=t.applyToPointArray(r.i[l][0],r.i[l][1],0),a=t.applyToPointArray(r.v[l][0],r.v[l][1],0),n.bezierCurveTo(s[0],s[1],i[0],i[1],a[0],a[1]);s=t.applyToPointArray(r.o[l-1][0],r.o[l-1][1],0),i=t.applyToPointArray(r.i[0][0],r.i[0][1],0),a=t.applyToPointArray(r.v[0][0],r.v[0][1],0),n.bezierCurveTo(s[0],s[1],i[0],i[1],a[0],a[1])}h&&n.clip()},CVMaskElement.prototype.getMask=function(t){for(var e=0,s=this.masksProperties.length;s>e;){if(this.masksProperties[e].nm===t)return{maskPath:this.viewData[e].pv};e+=1}},CVMaskElement.prototype.destroy=function(){this.ctx=null},createElement(CVBaseElement,CVShapeElement),CVShapeElement.prototype.lcEnum={1:"butt",2:"round",3:"butt"},CVShapeElement.prototype.ljEnum={1:"miter",2:"round",3:"butt"},CVShapeElement.prototype.transformHelper={opacity:1,mat:new Matrix,matMdf:!1,opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createElements=function(){this.parent.createElements.call(this),this.searchShapes(this.shapesData,this.viewData,this.dynamicProperties,[]),this.buildExpressionInterface()},CVShapeElement.prototype.searchShapes=function(t,e,s,i){var a,r,n,o,h=t.length-1,l=[],p=[];for(a=h;a>=0;a-=1)if("fl"==t[a].ty||"st"==t[a].ty){if(o={type:t[a].ty,elements:[]},e[a]={},e[a].c=PropertyFactory.getProp(this,t[a].c,1,null,s),e[a].c.k||(o.co="rgb("+bm_floor(e[a].c.v[0])+","+bm_floor(e[a].c.v[1])+","+bm_floor(e[a].c.v[2])+")"),e[a].o=PropertyFactory.getProp(this,t[a].o,0,.01,s),"st"==t[a].ty&&(o.lc=this.lcEnum[t[a].lc]||"round",o.lj=this.ljEnum[t[a].lj]||"round",1==t[a].lj&&(o.ml=t[a].ml),e[a].w=PropertyFactory.getProp(this,t[a].w,0,null,s),e[a].w.k||(o.wi=e[a].w.v),t[a].d)){var m=PropertyFactory.getDashProp(this,t[a].d,"canvas",s);e[a].d=m,e[a].d.k||(o.da=e[a].d.dasharray,o["do"]=e[a].d.dashoffset)}this.stylesList.push(o),e[a].style=o,l.push(e[a].style)}else if("gr"==t[a].ty)e[a]={it:[]},this.searchShapes(t[a].it,e[a].it,s,i);else if("tr"==t[a].ty)e[a]={transform:{mat:new Matrix,opacity:1,matMdf:!1,opMdf:!1,op:PropertyFactory.getProp(this,t[a].o,0,.01,s),mProps:PropertyFactory.getProp(this,t[a],2,null,s)},elements:[]};else if("sh"==t[a].ty||"rc"==t[a].ty||"el"==t[a].ty||"sr"==t[a].ty){e[a]={nodes:[],trNodes:[],tr:[0,0,0,0,0,0]};var f=4;"rc"==t[a].ty?f=5:"el"==t[a].ty?f=6:"sr"==t[a].ty&&(f=7),i.length&&(t[a].trimmed=!0),e[a].sh=PropertyFactory.getShapeProp(this,t[a],f,s,i),n=this.stylesList.length;var d=!1,c=!1;for(r=0;n>r;r+=1)this.stylesList[r].closed||(this.stylesList[r].elements.push(e[a]),"st"===this.stylesList[r].type?d=!0:c=!0);e[a].st=d,e[a].fl=c}else if("tm"==t[a].ty){var u={closed:!1,trimProp:PropertyFactory.getProp(this,t[a],7,null,s)};i.push(u),p.push(u)}for(h=l.length,a=0;h>a;a+=1)l[a].closed=!0;for(h=p.length,a=0;h>a;a+=1)p[a].closed=!0},CVShapeElement.prototype.renderFrame=function(t){this.parent.renderFrame.call(this,t)!==!1&&(this.transformHelper.mat.reset(),this.transformHelper.opacity=this.finalTransform.opacity,this.transformHelper.matMdf=!1,this.transformHelper.opMdf=this.finalTransform.opMdf,this.renderShape(this.transformHelper,null,null,!0),this.data.hasMask&&this.globalData.renderer.restore(!0))},CVShapeElement.prototype.renderShape=function(t,e,s,i){var a,r;if(!e)for(e=this.shapesData,r=this.stylesList.length,a=0;r>a;a+=1)this.stylesList[a].d="",this.stylesList[a].mdf=!1;s||(s=this.viewData),r=e.length-1;var n,o;for(n=t,a=r;a>=0;a-=1)if("tr"==e[a].ty){n=s[a].transform;var h=s[a].transform.mProps.v.props;if(n.matMdf=n.mProps.mdf,n.opMdf=n.op.mdf,o=n.mat,o.cloneFromProps(h),t){var l=t.mat.props;n.opacity=t.opacity,n.opacity*=s[a].transform.op.v,n.matMdf=t.matMdf?!0:n.matMdf,n.opMdf=t.opMdf?!0:n.opMdf,o.transform(l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9],l[10],l[11],l[12],l[13],l[14],l[15])}else n.opacity=n.op.o}else"sh"==e[a].ty||"el"==e[a].ty||"rc"==e[a].ty||"sr"==e[a].ty?this.renderPath(e[a],s[a],n):"fl"==e[a].ty?this.renderFill(e[a],s[a],n):"st"==e[a].ty?this.renderStroke(e[a],s[a],n):"gr"==e[a].ty?this.renderShape(n,e[a].it,s[a].it):"tm"==e[a].ty;if(i){r=this.stylesList.length;var p,m,f,d,c,u,y,v=this.globalData.renderer,g=this.globalData.canvasContext;for(v.save(),v.ctxTransform(this.finalTransform.mat.props),a=0;r>a;a+=1)if(y=this.stylesList[a].type,"st"!==y||0!==this.stylesList[a].wi){for(v.save(),c=this.stylesList[a].elements,m=c.length,"st"===y?(g.strokeStyle=this.stylesList[a].co,g.lineWidth=this.stylesList[a].wi,g.lineCap=this.stylesList[a].lc,g.lineJoin=this.stylesList[a].lj,g.miterLimit=this.stylesList[a].ml||0):g.fillStyle=this.stylesList[a].co,v.ctxOpacity(this.stylesList[a].coOp),"st"!==y&&g.beginPath(),p=0;m>p;p+=1){for("st"===y&&(g.beginPath(),this.stylesList[a].da?(g.setLineDash(this.stylesList[a].da),g.lineDashOffset=this.stylesList[a]["do"],this.globalData.isDashed=!0):this.globalData.isDashed&&(g.setLineDash(this.dashResetter),this.globalData.isDashed=!1)),u=c[p].trNodes,d=u.length,f=0;d>f;f+=1)"m"==u[f].t?g.moveTo(u[f].p[0],u[f].p[1]):"c"==u[f].t?g.bezierCurveTo(u[f].p1[0],u[f].p1[1],u[f].p2[0],u[f].p2[1],u[f].p3[0],u[f].p3[1]):g.closePath();"st"===y&&g.stroke()}"st"!==y&&g.fill(),v.restore()}v.restore(),this.firstFrame&&(this.firstFrame=!1)}},CVShapeElement.prototype.renderPath=function(t,e,s){var i,a,r=e.sh.v;if(r.v){i=r.v.length;var n=s.matMdf||e.sh.mdf||this.firstFrame;if(n){var o=e.trNodes;o.length=0;var h=r.s?r.s:[];for(a=1;i>a;a+=1)h[a-1]?o.push({t:"m",p:s.mat.applyToPointArray(h[a-1][0],h[a-1][1],0)}):1==a&&o.push({t:"m",p:s.mat.applyToPointArray(r.v[0][0],r.v[0][1],0)}),o.push({t:"c",p1:s.mat.applyToPointArray(r.o[a-1][0],r.o[a-1][1],0),p2:s.mat.applyToPointArray(r.i[a][0],r.i[a][1],0),p3:s.mat.applyToPointArray(r.v[a][0],r.v[a][1],0)});if(1==i&&o.push(h[0]?{t:"m",p:s.mat.applyToPointArray(h[0][0],h[0][1],0)}:{t:"m",p:s.mat.applyToPointArray(r.v[0][0],r.v[0][1],0)}),i&&t.closed&&(!t.trimmed||r.c)&&(o.push({t:"c",p1:s.mat.applyToPointArray(r.o[a-1][0],r.o[a-1][1],0),p2:s.mat.applyToPointArray(r.i[0][0],r.i[0][1],0),p3:s.mat.applyToPointArray(r.v[0][0],r.v[0][1],0)}),o.push({t:"z"})),e.st)for(a=0;16>a;a+=1)e.tr[a]=s.mat.props[a];e.trNodes=o}}},CVShapeElement.prototype.renderFill=function(t,e,s){var i=e.style;(e.c.mdf||this.firstFrame)&&(i.co="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.coOp=e.o.v*s.opacity)},CVShapeElement.prototype.renderStroke=function(t,e,s){var i=e.style,a=e.d;a&&(a.mdf||this.firstFrame)&&(i.da=a.dasharray,i["do"]=a.dashoffset),(e.c.mdf||this.firstFrame)&&(i.co="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.coOp=e.o.v*s.opacity),(e.w.mdf||this.firstFrame)&&(i.wi=e.w.v)},CVShapeElement.prototype.destroy=function(){this.shapesData=null,this.globalData=null,this.canvasContext=null,this.stylesList.length=0,this.viewData.length=0,this.parent.destroy.call()},extendPrototype(ShapeInterface,CVShapeElement),createElement(CVBaseElement,CVSolidElement),CVSolidElement.prototype.renderFrame=function(t){if(this.parent.renderFrame.call(this,t)!==!1){var e=this.canvasContext;this.globalData.renderer.save();var s=this.finalTransform.mat.props;this.globalData.renderer.ctxTransform(s),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.fillStyle=this.data.sc,e.fillRect(0,0,this.data.sw,this.data.sh),this.globalData.renderer.restore(this.data.hasMask),this.firstFrame&&(this.firstFrame=!1)}},createElement(CVBaseElement,CVTextElement),CVTextElement.prototype.init=ITextElement.prototype.init,CVTextElement.prototype.getMeasures=ITextElement.prototype.getMeasures,CVTextElement.prototype.getMult=ITextElement.prototype.getMult,CVTextElement.prototype.tHelper=document.createElement("canvas").getContext("2d"),CVTextElement.prototype.createElements=function(){this.parent.createElements.call(this);var t=this.data.t.d,e=!1;t.fc?(e=!0,this.values.fill="rgb("+t.fc[0]+","+t.fc[1]+","+t.fc[2]+")"):this.values.fill="rgba(0,0,0,0)",this.fill=e;var s=!1;t.sc&&(s=!0,this.values.stroke="rgb("+t.sc[0]+","+t.sc[1]+","+t.sc[2]+")",this.values.sWidth=t.sw);var i,a,r=this.globalData.fontManager.getFontByName(t.f),n=t.l,o=this.mHelper;this.stroke=s,this.values.fValue=t.s+"px "+this.globalData.fontManager.getFontByName(t.f).fFamily,a=t.t.length,this.tHelper.font=this.values.fValue;var h,l,p,m,f,d,c,u,y,v,g=this.data.singleShape;if(g)var b=0,E=0,P=t.lineWidths,k=t.boxWidth,S=!0;for(i=0;a>i;i+=1){h=this.globalData.fontManager.getCharData(t.t.charAt(i),r.fStyle,this.globalData.fontManager.getFontByName(t.f).fFamily);var l;if(l=h?h.data:null,o.reset(),g&&n[i].n&&(b=0,E+=t.yOffset,E+=S?1:0,S=!1),l&&l.shapes){if(f=l.shapes[0].it,c=f.length,o.scale(t.s/100,t.s/100),g){switch(t.ps&&o.translate(t.ps[0],t.ps[1]+t.ascent,0),t.j){case 1:o.translate(t.justifyOffset+(k-P[n[i].line]),0,0);break;case 2:o.translate(t.justifyOffset+(k-P[n[i].line])/2,0,0)}o.translate(b,E,0)}for(y=new Array(c),d=0;c>d;d+=1){for(m=f[d].ks.k.i.length,u=f[d].ks.k,v=[],p=1;m>p;p+=1)1==p&&v.push(o.applyToX(u.v[0][0],u.v[0][1],0),o.applyToY(u.v[0][0],u.v[0][1],0)),v.push(o.applyToX(u.o[p-1][0],u.o[p-1][1],0),o.applyToY(u.o[p-1][0],u.o[p-1][1],0),o.applyToX(u.i[p][0],u.i[p][1],0),o.applyToY(u.i[p][0],u.i[p][1],0),o.applyToX(u.v[p][0],u.v[p][1],0),o.applyToY(u.v[p][0],u.v[p][1],0));v.push(o.applyToX(u.o[p-1][0],u.o[p-1][1],0),o.applyToY(u.o[p-1][0],u.o[p-1][1],0),o.applyToX(u.i[0][0],u.i[0][1],0),o.applyToY(u.i[0][0],u.i[0][1],0),o.applyToX(u.v[0][0],u.v[0][1],0),o.applyToY(u.v[0][0],u.v[0][1],0)),y[d]=v}}else y=[];g&&(b+=n[i].l),this.textSpans.push({elem:y})}},CVTextElement.prototype.renderFrame=function(t){if(this.parent.renderFrame.call(this,t)!==!1){var e=this.canvasContext,s=this.finalTransform.mat.props;this.globalData.renderer.save(),this.globalData.renderer.ctxTransform(s),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.font=this.values.fValue,e.lineCap="butt",e.lineJoin="miter",e.miterLimit=4,this.data.singleShape||this.getMeasures();var i,a,r,n,o,h,l=this.renderedLetters,p=this.data.t.d.l;a=p.length;var m,f,d,c=null,u=null,y=null;for(i=0;a>i;i+=1)if(!p[i].n){if(m=l[i],m&&(this.globalData.renderer.save(),this.globalData.renderer.ctxTransform(m.props),this.globalData.renderer.ctxOpacity(m.o)),this.fill){for(m&&m.fc?c!==m.fc&&(c=m.fc,e.fillStyle=m.fc):c!==this.values.fill&&(c=this.values.fill,e.fillStyle=this.values.fill),f=this.textSpans[i].elem,n=f.length,this.globalData.canvasContext.beginPath(),r=0;n>r;r+=1)for(d=f[r],h=d.length,this.globalData.canvasContext.moveTo(d[0],d[1]),o=2;h>o;o+=6)this.globalData.canvasContext.bezierCurveTo(d[o],d[o+1],d[o+2],d[o+3],d[o+4],d[o+5]);this.globalData.canvasContext.closePath(),this.globalData.canvasContext.fill()}if(this.stroke){for(m&&m.sw?y!==m.sw&&(y=m.sw,e.lineWidth=m.sw):y!==this.values.sWidth&&(y=this.values.sWidth,e.lineWidth=this.values.sWidth),m&&m.sc?u!==m.sc&&(u=m.sc,e.strokeStyle=m.sc):u!==this.values.stroke&&(u=this.values.stroke,e.strokeStyle=this.values.stroke),f=this.textSpans[i].elem,n=f.length,this.globalData.canvasContext.beginPath(),r=0;n>r;r+=1)for(d=f[r],h=d.length,this.globalData.canvasContext.moveTo(d[0],d[1]),o=2;h>o;o+=6)this.globalData.canvasContext.bezierCurveTo(d[o],d[o+1],d[o+2],d[o+3],d[o+4],d[o+5]);this.globalData.canvasContext.closePath(),this.globalData.canvasContext.stroke()}m&&this.globalData.renderer.restore()}this.globalData.renderer.restore(this.data.hasMask),this.firstFrame&&(this.firstFrame=!1)}},createElement(BaseElement,HBaseElement),HBaseElement.prototype.appendNodeToParent=function(t){if(this.placeholder){var e=this.placeholder.phElement;e.parentNode.insertBefore(t,e)}else this.parentContainer.appendChild(t)},HBaseElement.prototype.createElements=function(){this.data.hasMask?(this.layerElement=document.createElementNS(svgNS,"svg"),this.appendNodeToParent(this.layerElement),this.maskedElement=this.layerElement):this.layerElement=this.parentContainer,!this.data.ln||4!==this.data.ty&&0!==this.data.ty||(this.layerElement===this.parentContainer&&(this.layerElement=document.createElementNS(svgNS,"g"),this.appendNodeToParent(this.layerElement)),this.layerElement.setAttribute("id",this.data.ln)),this.layerElement!==this.parentContainer&&(this.placeholder=null)},HBaseElement.prototype.renderFrame=function(t){if(3===this.data.ty)return!1;if(this.currentFrameNum===this.lastNum||!this.isVisible)return this.isVisible;this.lastNum=this.currentFrameNum,this.data.hasMask&&this.maskManager.renderFrame(),this.finalTransform.opMdf=this.finalTransform.op.mdf,this.finalTransform.matMdf=this.finalTransform.mProp.mdf,this.finalTransform.opacity=this.finalTransform.op.v,this.firstFrame&&(this.finalTransform.opMdf=!0,this.finalTransform.matMdf=!0);var e,s=this.finalTransform.mat;if(this.hierarchy){var i,a=this.hierarchy.length;for(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e),i=0;a>i;i+=1)this.finalTransform.matMdf=this.hierarchy[i].finalTransform.mProp.mdf?!0:this.finalTransform.matMdf,e=this.hierarchy[i].finalTransform.mProp.v.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}else this.isVisible&&this.finalTransform.matMdf&&(t?(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e)):s.cloneFromProps(this.finalTransform.mProp.v.props));return t&&(e=t.mat.props,s.cloneFromProps(e),this.finalTransform.opacity*=t.opacity,this.finalTransform.opMdf=t.opMdf?!0:this.finalTransform.opMdf,this.finalTransform.matMdf=t.matMdf?!0:this.finalTransform.matMdf),this.finalTransform.matMdf&&(this.layerElement.style.transform=this.layerElement.style.webkitTransform=s.toCSS()),this.finalTransform.opMdf&&(this.layerElement.style.opacity=this.finalTransform.opacity),this.isVisible},HBaseElement.prototype.destroy=function(){this.layerElement=null,this.parentContainer=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},HBaseElement.prototype.getDomElement=function(){return this.layerElement},HBaseElement.prototype.addMasks=function(t){this.maskManager=new MaskElement(t,this,this.globalData)},HBaseElement.prototype.hide=function(){},HBaseElement.prototype.setMatte=function(){},createElement(HBaseElement,HSolidElement),HSolidElement.prototype.createElements=function(){var t=document.createElement("div");styleDiv(t);var e=document.createElementNS(svgNS,"svg");e.setAttribute("width",this.data.sw),e.setAttribute("height",this.data.sh),t.appendChild(e),this.layerElement=t,this.parentContainer.appendChild(t),this.innerElem=t,this.data.ln&&this.innerElem.setAttribute("id",this.data.ln);var s=document.createElementNS(svgNS,"rect");s.setAttribute("width",this.data.sw),s.setAttribute("height",this.data.sh),s.setAttribute("fill",this.data.sc),e.appendChild(s),this.data.hasMask&&(this.maskedElement=s)},HSolidElement.prototype.hide=function(){this.hidden||(this.innerElem.style.display="none",this.hidden=!0)},HSolidElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden&&(this.hidden=!1,this.innerElem.style.display="block"),void(this.firstFrame&&(this.firstFrame=!1)))},HSolidElement.prototype.destroy=function(){this.parent.destroy.call(),this.innerElem=null},createElement(HBaseElement,HCompElement),extendPrototype(ExpressionComp,HCompElement),HCompElement.prototype.getDomElement=function(){return this.composingElement},HCompElement.prototype.getComposingElement=function(){return this.layerElement},HCompElement.prototype.createElements=function(){if(this.layerElement=document.createElement("div"),styleDiv(this.layerElement),this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.layerElement.style.clip="rect(0px, "+this.data.w+"px, "+this.data.h+"px, 0px)",this.layerElement!==this.parentContainer&&(this.placeholder=null),this.data.hasMask){var t=document.createElementNS(svgNS,"svg");t.setAttribute("width",this.data.w),t.setAttribute("height",this.data.h);var e=document.createElementNS(svgNS,"g");t.appendChild(e),this.layerElement.appendChild(t),this.maskedElement=e,this.composingElement=e}else this.composingElement=this.layerElement;this.appendNodeToParent(this.layerElement)},HCompElement.prototype.hide=ICompElement.prototype.hide,HCompElement.prototype.prepareFrame=ICompElement.prototype.prepareFrame,HCompElement.prototype.setElements=ICompElement.prototype.setElements,HCompElement.prototype.getElements=ICompElement.prototype.getElements,HCompElement.prototype.destroy=ICompElement.prototype.destroy,HCompElement.prototype.renderFrame=function(t){var e,s=this.parent.renderFrame.call(this,t),i=this.layers.length;if(s===!1)return void this.hide();for(this.hidden=!1,e=0;i>e;e+=1)this.elements[e].renderFrame();this.firstFrame&&(this.firstFrame=!1)},createElement(HBaseElement,HShapeElement);var parent=HShapeElement.prototype.parent;extendPrototype(IShapeElement,HShapeElement),HShapeElement.prototype.parent=parent,HShapeElement.prototype.createElements=function(){var t=document.createElement("div");styleDiv(t);var e=document.createElementNS(svgNS,"svg");if(999999===this.data.bounds.l,e.setAttribute("width",this.data.bounds.r-this.data.bounds.l),e.setAttribute("height",this.data.bounds.b-this.data.bounds.t),e.setAttribute("viewBox",this.data.bounds.l+" "+this.data.bounds.t+" "+(this.data.bounds.r-this.data.bounds.l)+" "+(this.data.bounds.b-this.data.bounds.t)),e.style.transform=e.style.webkitTransform="translate("+this.data.bounds.l+"px,"+this.data.bounds.t+"px)",this.data.hasMask){var s=document.createElementNS(svgNS,"g");t.appendChild(e),e.appendChild(s),this.maskedElement=s,this.layerElement=s,this.shapesContainer=s}else t.appendChild(e),this.layerElement=e,this.shapesContainer=document.createElementNS(svgNS,"g"),this.layerElement.appendChild(this.shapesContainer);this.parentContainer.appendChild(t),this.innerElem=t,this.data.ln&&this.innerElem.setAttribute("id",this.data.ln),this.searchShapes(this.shapesData,this.viewData,this.dynamicProperties,[]),this.buildExpressionInterface(),this.layerElement=t},HShapeElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden=!1,this.transformHelper.opacity=this.finalTransform.opacity,this.transformHelper.matMdf=!1,this.transformHelper.opMdf=this.finalTransform.opMdf,void this.renderShape(this.transformHelper,null,null,!0))},createElement(HBaseElement,HTextElement),HTextElement.prototype.init=ITextElement.prototype.init,HTextElement.prototype.getMeasures=ITextElement.prototype.getMeasures,HTextElement.prototype.createPathShape=ITextElement.prototype.createPathShape,HTextElement.prototype.createElements=function(){this.isMasked=this.checkMasks();var t=this.data.t.d,e=document.createElement("div");if(styleDiv(e),this.layerElement=e,this.isMasked){this.renderType="svg";var s=document.createElementNS(svgNS,"svg");this.cont=s,this.compW=this.comp.data?this.comp.data.w:this.globalData.compSize.w,this.compH=this.comp.data?this.comp.data.h:this.globalData.compSize.h,s.setAttribute("width",this.compW),s.setAttribute("height",this.compH);var i=document.createElementNS(svgNS,"g");s.appendChild(i),e.appendChild(s),this.maskedElement=i,this.innerElem=i}else this.renderType="html",this.innerElem=e;this.parentContainer.appendChild(e),this.innerElem.style.color=this.innerElem.style.fill=t.fc?"rgb("+t.fc[0]+","+t.fc[1]+","+t.fc[2]+")":"rgba(0,0,0,0)",t.sc&&(this.innerElem.style.stroke="rgb("+t.sc[0]+","+t.sc[1]+","+t.sc[2]+")",this.innerElem.style.strokeWidth=t.sw+"px");var a=this.globalData.fontManager.getFontByName(t.f);if(!this.globalData.fontManager.chars)if(this.innerElem.style.fontSize=t.s+"px",this.innerElem.style.lineHeight=t.s+"px",a.fClass)this.innerElem.className=a.fClass;else{this.innerElem.style.fontFamily=a.fFamily;var r=t.fWeight,n=t.fStyle;this.innerElem.style.fontStyle=n,this.innerElem.style.fontWeight=r}var o,h,l=t.l;h=l.length;var p,m,f,d,c=this.mHelper,u="";for(o=0;h>o;o+=1){if(this.globalData.fontManager.chars?(p=document.createElementNS(svgNS,"path"),this.isMasked||(m=document.createElement("div"),f=document.createElementNS(svgNS,"svg"),m.appendChild(f),f.appendChild(p),styleDiv(m)),p.setAttribute("stroke-linecap","butt"),p.setAttribute("stroke-linejoin","round"),p.setAttribute("stroke-miterlimit","4")):this.isMasked?p=document.createElementNS(svgNS,"text"):(m=document.createElement("span"),styleDiv(m),p=document.createElement("span"),styleDiv(p),m.appendChild(p)),this.globalData.fontManager.chars){var y,v=this.globalData.fontManager.getCharData(t.t.charAt(o),a.fStyle,this.globalData.fontManager.getFontByName(t.f).fFamily);if(y=v?v.data:null,c.reset(),y&&y.shapes&&(d=y.shapes[0].it,c.scale(t.s/100,t.s/100),u=this.createPathShape(c,d),p.setAttribute("d",u)),this.isMasked)this.innerElem.appendChild(p);else{this.innerElem.appendChild(m);var g=t.s/100;if(y&&y.shapes){var b=Math.ceil(y.bounds.r*g),E=Math.floor(y.bounds.t*g),P=Math.floor(y.bounds.l*g),k=Math.ceil(y.bounds.b*g);f.setAttribute("width",b-P),f.setAttribute("height",k-E),f.setAttribute("viewBox",P+" "+E+" "+(b-P)+" "+(k-E)),f.style.transform=f.style.webkitTransform="translate("+P+"px,"+E+"px)",l[o].yOffset=E}else f.setAttribute("width",1),f.setAttribute("height",1)}}else p.textContent=l[o].val,p.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),this.isMasked?this.innerElem.appendChild(p):(this.innerElem.appendChild(m),p.style.transform=p.style.webkitTransform="translate3d(0,"+-t.s/1.2+"px,0)");this.textSpans.push(this.isMasked?p:m),this.textPaths.push(p)}},HTextElement.prototype.hide=SVGTextElement.prototype.hide,HTextElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);if(e===!1)return void this.hide();if(this.hidden&&(this.hidden=!1,this.innerElem.style.display="block"),this.data.singleShape){if(!this.firstFrame)return;this.isMasked&&this.finalTransform.matMdf&&(this.cont.setAttribute("viewBox",-this.finalTransform.mProp.p.v[0]+" "+-this.finalTransform.mProp.p.v[1]+" "+this.compW+" "+this.compH),this.cont.style.transform=this.cont.style.webkitTransform="translate("+-this.finalTransform.mProp.p.v[0]+"px,"+-this.finalTransform.mProp.p.v[1]+"px)")}if(this.getMeasures(),this.lettersChangedFlag){var s,i,a=this.renderedLetters,r=this.data.t.d.l;i=r.length;var n;for(s=0;i>s;s+=1)r[s].n||(n=a[s],this.isMasked?this.textSpans[s].setAttribute("transform",n.m):this.textSpans[s].style.transform=this.textSpans[s].style.webkitTransform=n.m,this.textSpans[s].style.opacity=n.o,n.sw&&this.textPaths[s].setAttribute("stroke-width",n.sw),n.sc&&this.textPaths[s].setAttribute("stroke",n.sc),n.fc&&(this.textPaths[s].setAttribute("fill",n.fc),this.textPaths[s].style.color=n.fc));if(this.isMasked){var o=this.innerElem.getBBox();this.currentBBox.w!==o.width&&(this.currentBBox.w=o.width,this.cont.setAttribute("width",o.width)),this.currentBBox.h!==o.height&&(this.currentBBox.h=o.height,this.cont.setAttribute("height",o.height)),(this.currentBBox.w!==o.width||this.currentBBox.h!==o.height||this.currentBBox.x!==o.x||this.currentBBox.y!==o.y)&&(this.currentBBox.w=o.width,this.currentBBox.h=o.height,this.currentBBox.x=o.x,this.currentBBox.y=o.y,this.cont.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h),this.cont.style.transform=this.cont.style.webkitTransform="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)")}this.firstFrame&&(this.firstFrame=!1)}},HTextElement.prototype.destroy=SVGTextElement.prototype.destroy,createElement(HBaseElement,HImageElement),HImageElement.prototype.createElements=function(){var t,e=function(){this.imageElem.setAttributeNS("http://www.w3.org/1999/xlink","href",this.path+this.assetData.p)},s=new Image;if(this.data.hasMask){var t=document.createElement("div");styleDiv(t);var i=document.createElementNS(svgNS,"svg");i.setAttribute("width",this.assetData.w),i.setAttribute("height",this.assetData.h),t.appendChild(i),this.imageElem=document.createElementNS(svgNS,"image"),this.imageElem.setAttribute("width",this.assetData.w+"px"),this.imageElem.setAttribute("height",this.assetData.h+"px"),i.appendChild(this.imageElem),this.layerElement=t,this.parentContainer.appendChild(t),this.innerElem=t,this.maskedElement=this.imageElem,s.addEventListener("load",e.bind(this),!1),s.addEventListener("error",e.bind(this),!1)}else styleDiv(s),this.layerElement=s,this.parentContainer.appendChild(s),this.innerElem=s;s.src=this.path+this.assetData.p,this.data.ln&&this.innerElem.setAttribute("id",this.data.ln)},HImageElement.prototype.hide=HSolidElement.prototype.hide,HImageElement.prototype.renderFrame=HSolidElement.prototype.renderFrame,HImageElement.prototype.destroy=HSolidElement.prototype.destroy,createElement(HBaseElement,HCameraElement),HCameraElement.prototype.setup=function(){var t,e,s=this.comp.threeDElements.length;for(t=0;s>t;t+=1)e=this.comp.threeDElements[t],e[0].style.perspective=e[0].style.webkitPerspective=this.pe.v+"px",e[1].style.transformOrigin=e[1].style.mozTransformOrigin=e[1].style.webkitTransformOrigin="0px 0px 0px",e[0].style.transform=e[0].style.webkitTransform="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)"},HCameraElement.prototype.createElements=function(){},HCameraElement.prototype.hide=function(){},HCameraElement.prototype.renderFrame=function(){var t,e,s=this.firstFrame;if(this.hierarchy)for(e=this.hierarchy.length,t=0;e>t;t+=1)s=this.hierarchy[t].finalTransform.mProp.mdf?!0:s;if(s||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){if(this.mat.reset(),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){var i=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]],a=Math.sqrt(Math.pow(i[0],2)+Math.pow(i[1],2)+Math.pow(i[2],2)),r=[i[0]/a,i[1]/a,i[2]/a],n=Math.sqrt(r[2]*r[2]+r[0]*r[0]),o=Math.atan2(r[1],n),h=Math.atan2(r[0],-r[2]);this.mat.rotateY(h).rotateX(-o)}if(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),this.hierarchy){var l;for(e=this.hierarchy.length,t=0;e>t;t+=1)l=this.hierarchy[t].finalTransform.mProp.iv.props,this.mat.transform(l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9],l[10],l[11],-l[12],-l[13],l[14],l[15])}e=this.comp.threeDElements.length;var p;for(t=0;e>t;t+=1)p=this.comp.threeDElements[t],p[1].style.transform=p[1].style.webkitTransform=this.mat.toCSS()}this.firstFrame=!1},HCameraElement.prototype.destroy=function(){};var animationManager=function(){function t(e){var s=0,i=e.target;for(i.removeEventListener("destroy",t);P>s;)g[s].animation===i&&(g.splice(s,1),s-=1,P-=1),s+=1}function e(e,s){if(!e)return null;for(var i=0;P>i;){if(g[i].elem==e&&null!==g[i].elem)return g[i].animation;i+=1}var a=new AnimationItem;return a.setData(e,s),a.addEventListener("destroy",t),g.push({elem:e,animation:a}),P+=1,a}function s(e){var s=new AnimationItem;return s.setParams(e),s.addEventListener("destroy",t),g.push({elem:null,animation:s}),P+=1,s}function i(t,e){var s;for(s=0;P>s;s+=1)g[s].animation.setSpeed(t,e)}function a(t,e){var s;for(s=0;P>s;s+=1)g[s].animation.setDirection(t,e)}function r(t){var e;for(e=0;P>e;e+=1)g[e].animation.play(t)}function n(t,e){E=!1,b=Date.now();var s;for(s=0;P>s;s+=1)g[s].animation.moveFrame(t,e)}function o(t){var e,s=t-b;for(e=0;P>e;e+=1)g[e].animation.advanceTime(s);b=t,requestAnimationFrame(o)}function h(t){b=t,requestAnimationFrame(o)}function l(t){var e;for(e=0;P>e;e+=1)g[e].animation.pause(t)}function p(t,e,s){var i;for(i=0;P>i;i+=1)g[i].animation.goToAndStop(t,e,s)}function m(t){var e;for(e=0;P>e;e+=1)g[e].animation.stop(t)}function f(t){var e;for(e=0;P>e;e+=1)g[e].animation.togglePause(t)}function d(t){var e;for(e=0;P>e;e+=1)g[e].animation.destroy(t)}function c(t,s,i){var a,r=document.getElementsByClassName("bodymovin"),n=r.length;for(a=0;n>a;a+=1)i&&r[a].setAttribute("data-bm-type",i),e(r[a],t);if(s&&0===n){i||(i="svg");var o=document.getElementsByTagName("body")[0];o.innerHTML="";var h=document.createElement("div");h.style.width="100%",h.style.height="100%",h.setAttribute("data-bm-type",i),o.appendChild(h),e(h,t)}}function u(){var t;for(t=0;P>t;t+=1)g[t].animation.resize()}function y(){requestAnimationFrame(h)}var v={},g=[],b=0,E=!0,P=0;return setTimeout(y,0),v.registerAnimation=e,v.loadAnimation=s,v.setSpeed=i,v.setDirection=a,v.play=r,v.moveFrame=n,v.pause=l,v.stop=m,v.togglePause=f,v.searchAnimations=c,v.resize=u,v.start=y,v.goToAndStop=p,v.destroy=d,v}(),AnimationItem=function(){this._cbs=[],this.name="",this.path="",this.isLoaded=!1,this.currentFrame=0,this.currentRawFrame=0,this.totalFrames=0,this.frameRate=0,this.frameMult=0,this.playSpeed=1,this.playDirection=1,this.pendingElements=0,this.playCount=0,this.prerenderFramesFlag=!0,this.repeat="indefinite",this.animationData={},this.layers=[],this.assets=[],this.isPaused=!0,this.isScrolling=!1,this.autoplay=!1,this.loop=!0,this.renderer=null,this.animationID=randomString(10),this.renderedFrameCount=0,this.scaleMode="fit",this.math=Math,this.removed=!1,this.timeCompleted=0,this.segmentPos=0,this.segments=[]};AnimationItem.prototype.setParams=function(t){var e=this;t.context&&(this.context=t.context),(t.wrapper||t.container)&&(this.wrapper=t.wrapper||t.container);var s=t.animType?t.animType:t.renderer?t.renderer:"canvas";switch(s){case"canvas":this.renderer=new CanvasRenderer(this,t.rendererSettings);break;case"svg":this.renderer=new SVGRenderer(this,t.rendererSettings);break;case"hybrid":case"html":default:this.renderer=new HybridRenderer(this,t.rendererSettings)}if(this.animType=s,""===t.loop||null===t.loop||(this.loop=t.loop===!1?!1:t.loop===!0?!0:parseInt(t.loop)),this.autoplay="autoplay"in t?t.autoplay:!0,this.name=t.name?t.name:"",this.prerenderFramesFlag="prerender"in t?t.prerender:!0,this.autoloadSegments=t.hasOwnProperty("autoloadSegments")?t.autoloadSegments:!0,t.animationData)e.configAnimation(t.animationData);else if(t.path){"json"!=t.path.substr(-4)&&("/"!=t.path.substr(-1,1)&&(t.path+="/"),t.path+="data.json");var i=new XMLHttpRequest;this.path=-1!=t.path.lastIndexOf("\\")?t.path.substr(0,t.path.lastIndexOf("\\")+1):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")),i.open("GET",t.path,!0),i.send(),i.onreadystatechange=function(){if(4==i.readyState)if(200==i.status)e.configAnimation(JSON.parse(i.responseText));else try{var t=JSON.parse(i.responseText);e.configAnimation(t)}catch(s){}}}},AnimationItem.prototype.setData=function(t,e){var s={wrapper:t,animationData:e?"object"==typeof e?e:JSON.parse(e):null},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:"";""===a||(s.loop="false"===a?!1:"true"===a?!0:parseInt(a)),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:"";var r=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:"";
 
-        "false"===r&&(s.prerender=!1),this.setParams(s)},AnimationItem.prototype.includeLayers=function(t){t.op>this.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip),this.animationData.tf=this.totalFrames);var e,s,i=this.animationData.layers,a=i.length,r=t.layers,n=r.length;for(s=0;n>s;s+=1)for(e=0;a>e;){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;a>e;e+=1)this.animationData.assets.push(t.assets[e]);dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.includeLayers(t.layers),this.renderer.buildStage(this.container,this.layers),this.renderer.renderFrame(null),this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var t=this.animationData.segments;if(!t||0===t.length||!this.autoloadSegments)return this.trigger("data_ready"),void(this.timeCompleted=this.animationData.tf);var e=t.shift();this.timeCompleted=e.time*this.frameRate;var s=new XMLHttpRequest,i=this,a=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,s.open("GET",a,!0),s.send(),s.onreadystatechange=function(){if(4==s.readyState)if(200==s.status)i.includeLayers(JSON.parse(s.responseText));else try{var t=JSON.parse(s.responseText);i.includeLayers(t)}catch(e){}}},AnimationItem.prototype.loadSegments=function(){var t=this.animationData.segments;t||(this.timeCompleted=this.animationData.tf),this.loadNextSegment()},AnimationItem.prototype.configAnimation=function(t){this.animationData=t,this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.animationData.tf=this.totalFrames,this.renderer.configAnimation(t),t.assets||(t.assets=[]),t.comps&&(t.assets=t.assets.concat(t.comps),t.comps=null),this.animationData._id=this.animationID,this.animationData._animType=this.animType,this.layers=this.animationData.layers,this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.firstFrame=Math.round(this.animationData.ip),this.frameMult=this.animationData.fr/1e3,this.trigger("config_ready"),this.loadSegments(),this.updaFrameModifier(),this.renderer.globalData.fontManager?this.waitForFontsLoaded():(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.checkLoaded())},AnimationItem.prototype.waitForFontsLoaded=function(){function t(){this.renderer.globalData.fontManager.loaded?(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.buildItems(this.animationData.layers),this.checkLoaded()):setTimeout(t.bind(this),20)}return function(){t.bind(this)()}}(),AnimationItem.prototype.elementLoaded=function(){this.pendingElements--,this.checkLoaded()},AnimationItem.prototype.checkLoaded=function(){0===this.pendingElements&&(this.renderer.buildStage(this.container,this.layers),this.trigger("DOMLoaded"),this.isLoaded=!0,this.gotoFrame(),this.autoplay&&this.play())},AnimationItem.prototype.resize=function(){this.renderer.updateContainerSize()},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=subframeEnabled?this.currentRawFrame:this.math.floor(this.currentRawFrame),this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame()},AnimationItem.prototype.renderFrame=function(){this.isLoaded!==!1&&this.renderer.renderFrame(this.currentFrame+this.firstFrame)},AnimationItem.prototype.play=function(t){t&&this.name!=t||this.isPaused===!0&&(this.isPaused=!1)},AnimationItem.prototype.pause=function(t){t&&this.name!=t||this.isPaused===!1&&(this.isPaused=!0)},AnimationItem.prototype.togglePause=function(t){t&&this.name!=t||(this.isPaused===!0?(this.isPaused=!1,this.play()):(this.isPaused=!0,this.pause()))},AnimationItem.prototype.stop=function(t){t&&this.name!=t||(this.isPaused=!0,this.currentFrame=this.currentRawFrame=0,this.playCount=0,this.gotoFrame())},AnimationItem.prototype.goToAndStop=function(t,e,s){s&&this.name!=s||(this.setCurrentRawFrameValue(e?t:t*this.frameModifier),this.isPaused=!0)},AnimationItem.prototype.advanceTime=function(t){this.isPaused!==!0&&this.isScrolling!==!0&&this.isLoaded!==!1&&this.setCurrentRawFrameValue(this.currentRawFrame+t*this.frameModifier)},AnimationItem.prototype.updateAnimation=function(t){this.setCurrentRawFrameValue(this.totalFrames*t)},AnimationItem.prototype.moveFrame=function(t,e){e&&this.name!=e||this.setCurrentRawFrameValue(this.currentRawFrame+t)},AnimationItem.prototype.adjustSegment=function(t){this.totalFrames=t[1]-t[0],this.firstFrame=t[0],this.trigger("segmentStart")},AnimationItem.prototype.playSegments=function(t,e){if("object"==typeof t[0]){var s,i=t.length;for(s=0;i>s;s+=1)this.segments.push(t[s])}else this.segments.push(t);e&&(this.adjustSegment(this.segments.shift()),this.setCurrentRawFrameValue(0)),this.isPaused&&this.play()},AnimationItem.prototype.resetSegments=function(t){this.segments.length=0,this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op-this.animationData.ip+this.animationData.ip*this.frameRate)]),t&&this.adjustSegment(this.segments.shift())},AnimationItem.prototype.remove=function(t){t&&this.name!=t||this.renderer.destroy()},AnimationItem.prototype.destroy=function(t){t&&this.name!=t||this.renderer&&this.renderer.destroyed||(this.renderer.destroy(),this.trigger("destroy"),this._cbs=null)},AnimationItem.prototype.setCurrentRawFrameValue=function(t){this.currentRawFrame=t;var e=!1;if(this.currentRawFrame>=this.totalFrames){if(this.segments.length&&(e=!0),this.loop===!1)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete");if(this.trigger("loopComplete"),this.playCount+=1,this.loop!==!0&&this.playCount==this.loop)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete")}else if(this.currentRawFrame<0)return this.playCount-=1,this.playCount<0&&(this.playCount=0),this.loop===!1?(this.currentRawFrame=0,this.gotoFrame(),this.pause(),void this.trigger("complete")):(this.trigger("loopComplete"),this.currentRawFrame=this.totalFrames+this.currentRawFrame,void this.gotoFrame());if(e){var s=this.currentRawFrame%this.totalFrames;this.adjustSegment(this.segments.shift()),this.currentRawFrame=s}else this.currentRawFrame=this.currentRawFrame%this.totalFrames;this.gotoFrame()},AnimationItem.prototype.setSpeed=function(t){this.playSpeed=t,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(t){this.playDirection=0>t?-1:1,this.updaFrameModifier()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetData=function(t){for(var e=0,s=this.assets.length;s>e;){if(t==this.assets[e].id)return this.assets[e];e+=1}},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getAssets=function(){return this.assets},AnimationItem.prototype.trigger=function(t){if(this._cbs[t])switch(t){case"enterFrame":this.triggerEvent(t,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult));break;case"loopComplete":this.triggerEvent(t,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(t,new BMCompleteEvent(t,this.frameMult));break;case"segmentStart":this.triggerEvent(t,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(t,new BMDestroyEvent(t,this));break;default:this.triggerEvent(t)}"enterFrame"===t&&this.onEnterFrame&&this.onEnterFrame.call(this,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult)),"loopComplete"===t&&this.onLoopComplete&&this.onLoopComplete.call(this,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult)),"complete"===t&&this.onComplete&&this.onComplete.call(this,new BMCompleteEvent(t,this.frameMult)),"segmentStart"===t&&this.onSegmentStart&&this.onSegmentStart.call(this,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames)),"destroy"===t&&this.onDestroy&&this.onDestroy.call(this,new BMDestroyEvent(t,this))},AnimationItem.prototype.addEventListener=_addEventListener,AnimationItem.prototype.removeEventListener=_removeEventListener,AnimationItem.prototype.triggerEvent=_triggerEvent;var bodymovinjs = {}; function play(animation){ animationManager.play(animation); } function pause(animation){ animationManager.pause(animation); } function togglePause(animation){ animationManager.togglePause(animation); } function setSpeed(value,animation){ animationManager.setSpeed(value, animation); } function setDirection(value,animation){ animationManager.setDirection(value, animation); } function stop(animation){ animationManager.stop(animation); } function moveFrame(value){ animationManager.moveFrame(value); } function searchAnimations(){ if(standalone === true){ animationManager.searchAnimations(animationData,standalone, renderer); }else{ animationManager.searchAnimations(); } } function registerAnimation(elem){ return animationManager.registerAnimation(elem); } function resize(){ animationManager.resize(); } function start(){ animationManager.start(); } function goToAndStop(val,isFrame, animation){ animationManager.goToAndStop(val,isFrame, animation); } function setSubframeRendering(flag){ subframeEnabled = flag; } function loadAnimation(params){ if(standalone === true){ params.animationData = JSON.parse(animationData); } return animationManager.loadAnimation(params); } function destroy(animation){ return animationManager.destroy(animation); } function setQuality(value){ if(typeof value === 'string'){ switch(value){ case 'high': defaultCurveSegments = 200; break; case 'medium': defaultCurveSegments = 50; break; case 'low': defaultCurveSegments = 10; break; } }else if(!isNaN(value) && value > 1){ defaultCurveSegments = value; } if(defaultCurveSegments >= 50){ roundValues(false); }else{ roundValues(true); } } bodymovinjs.play = play; bodymovinjs.pause = pause; bodymovinjs.togglePause = togglePause; bodymovinjs.setSpeed = setSpeed; bodymovinjs.setDirection = setDirection; bodymovinjs.stop = stop; bodymovinjs.moveFrame = moveFrame; bodymovinjs.searchAnimations = searchAnimations; bodymovinjs.registerAnimation = registerAnimation; bodymovinjs.loadAnimation = loadAnimation; bodymovinjs.setSubframeRendering = setSubframeRendering; bodymovinjs.resize = resize; bodymovinjs.start = start; bodymovinjs.goToAndStop = goToAndStop; bodymovinjs.destroy = destroy; bodymovinjs.setQuality = setQuality; bodymovinjs.version = '4.1.3'; function checkReady(){ if (document.readyState === "complete") { clearInterval(readyStateCheckInterval); searchAnimations(); } } function getQueryVariable(variable) { var vars = queryString.split('&'); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split('='); if (decodeURIComponent(pair[0]) == variable) { return decodeURIComponent(pair[1]); } } } var standalone = '__[STANDALONE]__'; var animationData = '__[ANIMATIONDATA]__'; var renderer = ''; if(standalone) { var scripts = document.getElementsByTagName('script'); var index = scripts.length - 1; var myScript = scripts[index]; var queryString = myScript.src.replace(/^[^\?]+\??/,''); renderer = getQueryVariable('renderer'); } var readyStateCheckInterval = setInterval(checkReady, 100); return bodymovinjs; }));
+        "false"===r&&(s.prerender=!1),this.setParams(s)},AnimationItem.prototype.includeLayers=function(t){t.op>this.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip),this.animationData.tf=this.totalFrames);var e,s,i=this.animationData.layers,a=i.length,r=t.layers,n=r.length;for(s=0;n>s;s+=1)for(e=0;a>e;){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;a>e;e+=1)this.animationData.assets.push(t.assets[e]);dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.includeLayers(t.layers),this.renderer.buildStage(this.container,this.layers),this.renderer.renderFrame(null),this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var t=this.animationData.segments;if(!t||0===t.length||!this.autoloadSegments)return this.trigger("data_ready"),void(this.timeCompleted=this.animationData.tf);var e=t.shift();this.timeCompleted=e.time*this.frameRate;var s=new XMLHttpRequest,i=this,a=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,s.open("GET",a,!0),s.send(),s.onreadystatechange=function(){if(4==s.readyState)if(200==s.status)i.includeLayers(JSON.parse(s.responseText));else try{var t=JSON.parse(s.responseText);i.includeLayers(t)}catch(e){}}},AnimationItem.prototype.loadSegments=function(){var t=this.animationData.segments;t||(this.timeCompleted=this.animationData.tf),this.loadNextSegment()},AnimationItem.prototype.configAnimation=function(t){this.animationData=t,this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.animationData.tf=this.totalFrames,this.renderer.configAnimation(t),t.assets||(t.assets=[]),t.comps&&(t.assets=t.assets.concat(t.comps),t.comps=null),this.animationData._id=this.animationID,this.animationData._animType=this.animType,this.layers=this.animationData.layers,this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.firstFrame=Math.round(this.animationData.ip),this.frameMult=this.animationData.fr/1e3,this.trigger("config_ready"),this.loadSegments(),this.updaFrameModifier(),this.renderer.globalData.fontManager?this.waitForFontsLoaded():(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.checkLoaded())},AnimationItem.prototype.waitForFontsLoaded=function(){function t(){this.renderer.globalData.fontManager.loaded?(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.buildItems(this.animationData.layers),this.checkLoaded()):setTimeout(t.bind(this),20)}return function(){t.bind(this)()}}(),AnimationItem.prototype.elementLoaded=function(){this.pendingElements--,this.checkLoaded()},AnimationItem.prototype.checkLoaded=function(){0===this.pendingElements&&(this.renderer.buildStage(this.container,this.layers),this.trigger("DOMLoaded"),this.isLoaded=!0,this.gotoFrame(),this.autoplay&&this.play())},AnimationItem.prototype.resize=function(){this.renderer.updateContainerSize()},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=subframeEnabled?this.currentRawFrame:this.math.floor(this.currentRawFrame),this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame()},AnimationItem.prototype.renderFrame=function(){this.isLoaded!==!1&&this.renderer.renderFrame(this.currentFrame+this.firstFrame)},AnimationItem.prototype.play=function(t){t&&this.name!=t||this.isPaused===!0&&(this.isPaused=!1)},AnimationItem.prototype.pause=function(t){t&&this.name!=t||this.isPaused===!1&&(this.isPaused=!0)},AnimationItem.prototype.togglePause=function(t){t&&this.name!=t||(this.isPaused===!0?(this.isPaused=!1,this.play()):(this.isPaused=!0,this.pause()))},AnimationItem.prototype.stop=function(t){t&&this.name!=t||(this.isPaused=!0,this.currentFrame=this.currentRawFrame=0,this.playCount=0,this.gotoFrame())},AnimationItem.prototype.goToAndStop=function(t,e,s){s&&this.name!=s||(this.setCurrentRawFrameValue(e?t:t*this.frameModifier),this.isPaused=!0)},AnimationItem.prototype.advanceTime=function(t){this.isPaused!==!0&&this.isScrolling!==!0&&this.isLoaded!==!1&&this.setCurrentRawFrameValue(this.currentRawFrame+t*this.frameModifier)},AnimationItem.prototype.updateAnimation=function(t){this.setCurrentRawFrameValue(this.totalFrames*t)},AnimationItem.prototype.moveFrame=function(t,e){e&&this.name!=e||this.setCurrentRawFrameValue(this.currentRawFrame+t)},AnimationItem.prototype.adjustSegment=function(t){this.totalFrames=t[1]-t[0],this.firstFrame=t[0],this.trigger("segmentStart")},AnimationItem.prototype.playSegments=function(t,e){if("object"==typeof t[0]){var s,i=t.length;for(s=0;i>s;s+=1)this.segments.push(t[s])}else this.segments.push(t);e&&(this.adjustSegment(this.segments.shift()),this.setCurrentRawFrameValue(0)),this.isPaused&&this.play()},AnimationItem.prototype.resetSegments=function(t){this.segments.length=0,this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op-this.animationData.ip+this.animationData.ip*this.frameRate)]),t&&this.adjustSegment(this.segments.shift())},AnimationItem.prototype.remove=function(t){t&&this.name!=t||this.renderer.destroy()},AnimationItem.prototype.destroy=function(t){t&&this.name!=t||this.renderer&&this.renderer.destroyed||(this.renderer.destroy(),this.trigger("destroy"),this._cbs=null)},AnimationItem.prototype.setCurrentRawFrameValue=function(t){this.currentRawFrame=t;var e=!1;if(this.currentRawFrame>=this.totalFrames){if(this.segments.length&&(e=!0),this.loop===!1)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete");if(this.trigger("loopComplete"),this.playCount+=1,this.loop!==!0&&this.playCount==this.loop)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete")}else if(this.currentRawFrame<0)return this.playCount-=1,this.playCount<0&&(this.playCount=0),this.loop===!1?(this.currentRawFrame=0,this.gotoFrame(),this.pause(),void this.trigger("complete")):(this.trigger("loopComplete"),this.currentRawFrame=this.totalFrames+this.currentRawFrame,void this.gotoFrame());if(e){var s=this.currentRawFrame%this.totalFrames;this.adjustSegment(this.segments.shift()),this.currentRawFrame=s}else this.currentRawFrame=this.currentRawFrame%this.totalFrames;this.gotoFrame()},AnimationItem.prototype.setSpeed=function(t){this.playSpeed=t,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(t){this.playDirection=0>t?-1:1,this.updaFrameModifier()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetData=function(t){for(var e=0,s=this.assets.length;s>e;){if(t==this.assets[e].id)return this.assets[e];e+=1}},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getAssets=function(){return this.assets},AnimationItem.prototype.trigger=function(t){if(this._cbs[t])switch(t){case"enterFrame":this.triggerEvent(t,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult));break;case"loopComplete":this.triggerEvent(t,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(t,new BMCompleteEvent(t,this.frameMult));break;case"segmentStart":this.triggerEvent(t,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(t,new BMDestroyEvent(t,this));break;default:this.triggerEvent(t)}"enterFrame"===t&&this.onEnterFrame&&this.onEnterFrame.call(this,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult)),"loopComplete"===t&&this.onLoopComplete&&this.onLoopComplete.call(this,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult)),"complete"===t&&this.onComplete&&this.onComplete.call(this,new BMCompleteEvent(t,this.frameMult)),"segmentStart"===t&&this.onSegmentStart&&this.onSegmentStart.call(this,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames)),"destroy"===t&&this.onDestroy&&this.onDestroy.call(this,new BMDestroyEvent(t,this))},AnimationItem.prototype.addEventListener=_addEventListener,AnimationItem.prototype.removeEventListener=_removeEventListener,AnimationItem.prototype.triggerEvent=_triggerEvent;var bodymovinjs = {}; function play(animation){ animationManager.play(animation); } function pause(animation){ animationManager.pause(animation); } function togglePause(animation){ animationManager.togglePause(animation); } function setSpeed(value,animation){ animationManager.setSpeed(value, animation); } function setDirection(value,animation){ animationManager.setDirection(value, animation); } function stop(animation){ animationManager.stop(animation); } function moveFrame(value){ animationManager.moveFrame(value); } function searchAnimations(){ if(standalone === true){ animationManager.searchAnimations(animationData,standalone, renderer); }else{ animationManager.searchAnimations(); } } function registerAnimation(elem){ return animationManager.registerAnimation(elem); } function resize(){ animationManager.resize(); } function start(){ animationManager.start(); } function goToAndStop(val,isFrame, animation){ animationManager.goToAndStop(val,isFrame, animation); } function setSubframeRendering(flag){ subframeEnabled = flag; } function loadAnimation(params){ if(standalone === true){ params.animationData = JSON.parse(animationData); } return animationManager.loadAnimation(params); } function destroy(animation){ return animationManager.destroy(animation); } function setQuality(value){ if(typeof value === 'string'){ switch(value){ case 'high': defaultCurveSegments = 200; break; case 'medium': defaultCurveSegments = 50; break; case 'low': defaultCurveSegments = 10; break; } }else if(!isNaN(value) && value > 1){ defaultCurveSegments = value; } if(defaultCurveSegments >= 50){ roundValues(false); }else{ roundValues(true); } } bodymovinjs.play = play; bodymovinjs.pause = pause; bodymovinjs.togglePause = togglePause; bodymovinjs.setSpeed = setSpeed; bodymovinjs.setDirection = setDirection; bodymovinjs.stop = stop; bodymovinjs.moveFrame = moveFrame; bodymovinjs.searchAnimations = searchAnimations; bodymovinjs.registerAnimation = registerAnimation; bodymovinjs.loadAnimation = loadAnimation; bodymovinjs.setSubframeRendering = setSubframeRendering; bodymovinjs.resize = resize; bodymovinjs.start = start; bodymovinjs.goToAndStop = goToAndStop; bodymovinjs.destroy = destroy; bodymovinjs.setQuality = setQuality; bodymovinjs.version = '4.1.4'; function checkReady(){ if (document.readyState === "complete") { clearInterval(readyStateCheckInterval); searchAnimations(); } } function getQueryVariable(variable) { var vars = queryString.split('&'); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split('='); if (decodeURIComponent(pair[0]) == variable) { return decodeURIComponent(pair[1]); } } } var standalone = '__[STANDALONE]__'; var animationData = '__[ANIMATIONDATA]__'; var renderer = ''; if(standalone) { var scripts = document.getElementsByTagName('script'); var index = scripts.length - 1; var myScript = scripts[index]; var queryString = myScript.src.replace(/^[^\?]+\??/,''); renderer = getQueryVariable('renderer'); } var readyStateCheckInterval = setInterval(checkReady, 100); return bodymovinjs; }));
 </script>
 <div id="bodymovin"></div>
 
diff --git a/extension/assets/player/standalone.js b/extension/assets/player/standalone.js
index 09d6fc2..86c7a4b 100644
--- a/extension/assets/player/standalone.js
+++ b/extension/assets/player/standalone.js
@@ -5,4 +5,4 @@
 else if(2==this.data.td){var t=document.createElementNS(svgNS,"mask");t.setAttribute("id",this.layerId),t.setAttribute("mask-type","alpha");var e=document.createElementNS(svgNS,"g");t.appendChild(e),this.layerElement=document.createElementNS(svgNS,"g");var s=document.createElementNS(svgNS,"filter"),i=randomString(10);s.setAttribute("id",i),s.setAttribute("filterUnits","objectBoundingBox"),s.setAttribute("x","0%"),s.setAttribute("y","0%"),s.setAttribute("width","100%"),s.setAttribute("height","100%");var a=document.createElementNS(svgNS,"feComponentTransfer");a.setAttribute("in","SourceGraphic"),s.appendChild(a);var r=document.createElementNS(svgNS,"feFuncA");r.setAttribute("type","table"),r.setAttribute("tableValues","1.0 0.0"),a.appendChild(r),this.globalData.defs.appendChild(s);var n=document.createElementNS(svgNS,"rect");n.setAttribute("width","100%"),n.setAttribute("height","100%"),n.setAttribute("x","0"),n.setAttribute("y","0"),n.setAttribute("fill","#ffffff"),n.setAttribute("opacity","0"),e.setAttribute("filter","url(#"+i+")"),e.appendChild(n),e.appendChild(this.layerElement),this.globalData.defs.appendChild(t)}else{this.layerElement=document.createElementNS(svgNS,"g");var o=document.createElementNS(svgNS,"mask");o.setAttribute("id",this.layerId),o.setAttribute("mask-type","alpha"),o.appendChild(this.layerElement),this.globalData.defs.appendChild(o)}this.data.hasMask&&(this.maskedElement=this.layerElement)}else this.data.hasMask?(this.layerElement=document.createElementNS(svgNS,"g"),this.data.tt?(this.matteElement=document.createElementNS(svgNS,"g"),this.matteElement.appendChild(this.layerElement),this.appendNodeToParent(this.matteElement)):this.appendNodeToParent(this.layerElement),this.maskedElement=this.layerElement):this.data.tt?(this.matteElement=document.createElementNS(svgNS,"g"),this.matteElement.setAttribute("id",this.layerId),this.appendNodeToParent(this.matteElement),this.layerElement=this.matteElement):this.layerElement=this.parentContainer;!this.data.ln||4!==this.data.ty&&0!==this.data.ty||(this.layerElement===this.parentContainer&&(this.layerElement=document.createElementNS(svgNS,"g"),this.appendNodeToParent(this.layerElement)),this.layerElement.setAttribute("id",this.data.ln)),0!==this.data.ty||!this.finalTransform.op.k&&1===this.finalTransform.op.p||this.layerElement!==this.parentContainer||(this.layerElement=document.createElementNS(svgNS,"g"),this.appendNodeToParent(this.layerElement)),this.layerElement!==this.parentContainer&&(this.placeholder=null)},SVGBaseElement.prototype.renderFrame=function(t){if(3===this.data.ty)return!1;if(this.currentFrameNum===this.lastNum||!this.isVisible)return this.isVisible;this.lastNum=this.currentFrameNum,this.data.hasMask&&this.maskManager.renderFrame(),this.finalTransform.opMdf=this.finalTransform.op.mdf,this.finalTransform.matMdf=this.finalTransform.mProp.mdf,this.finalTransform.opacity=this.finalTransform.op.v,this.firstFrame&&(this.finalTransform.opMdf=!0,this.finalTransform.matMdf=!0);var e,s=this.finalTransform.mat;if(this.hierarchy){var i,a=this.hierarchy.length;for(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e),i=0;a>i;i+=1)this.finalTransform.matMdf=this.hierarchy[i].finalTransform.mProp.mdf?!0:this.finalTransform.matMdf,e=this.hierarchy[i].finalTransform.mProp.v.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}else this.isVisible&&(t?(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e)):s.cloneFromProps(this.finalTransform.mProp.v.props));return t&&(e=t.mat.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]),this.finalTransform.opacity*=t.opacity,this.finalTransform.opMdf=t.opMdf?!0:this.finalTransform.opMdf,this.finalTransform.matMdf=t.matMdf?!0:this.finalTransform.matMdf),this.data.hasMask?(this.finalTransform.matMdf&&this.layerElement.setAttribute("transform",s.to2dCSS()),this.finalTransform.opMdf&&this.layerElement.setAttribute("opacity",this.finalTransform.opacity)):0===this.data.ty&&this.finalTransform.opMdf&&(this.finalTransform.op.k||1!==this.finalTransform.op.p)&&(this.layerElement.setAttribute("opacity",this.finalTransform.opacity),this.finalTransform.opacity=1),this.isVisible},SVGBaseElement.prototype.destroy=function(){this.layerElement=null,this.parentContainer=null,this.matteElement&&(this.matteElement=null),this.maskManager&&this.maskManager.destroy()},SVGBaseElement.prototype.getDomElement=function(){return this.layerElement},SVGBaseElement.prototype.addMasks=function(t){this.maskManager=new MaskElement(t,this,this.globalData)},SVGBaseElement.prototype.setMatte=function(t){this.matteElement&&this.matteElement.setAttribute("mask","url(#"+t+")")},SVGBaseElement.prototype.hide=function(){},ITextElement.prototype.init=function(){this.parent.init.call(this),this.lettersChangedFlag=!1;var t=this.data;this.renderedLetters=Array.apply(null,{length:t.t.d.l.length}),this.viewData={m:{a:PropertyFactory.getProp(this,t.t.m.a,1,0,this.dynamicProperties)}};var e=this.data.t;if(e.a.length){this.viewData.a=Array.apply(null,{length:e.a.length});var s,i,a,r=e.a.length;for(s=0;r>s;s+=1)a=e.a[s],i={a:{},s:{}},"r"in a.a&&(i.a.r=PropertyFactory.getProp(this,a.a.r,0,degToRads,this.dynamicProperties)),"rx"in a.a&&(i.a.rx=PropertyFactory.getProp(this,a.a.rx,0,degToRads,this.dynamicProperties)),"ry"in a.a&&(i.a.ry=PropertyFactory.getProp(this,a.a.ry,0,degToRads,this.dynamicProperties)),"sk"in a.a&&(i.a.sk=PropertyFactory.getProp(this,a.a.sk,0,degToRads,this.dynamicProperties)),"sa"in a.a&&(i.a.sa=PropertyFactory.getProp(this,a.a.sa,0,degToRads,this.dynamicProperties)),"s"in a.a&&(i.a.s=PropertyFactory.getProp(this,a.a.s,1,.01,this.dynamicProperties)),"a"in a.a&&(i.a.a=PropertyFactory.getProp(this,a.a.a,1,0,this.dynamicProperties)),"o"in a.a&&(i.a.o=PropertyFactory.getProp(this,a.a.o,0,.01,this.dynamicProperties)),"p"in a.a&&(i.a.p=PropertyFactory.getProp(this,a.a.p,1,0,this.dynamicProperties)),"sw"in a.a&&(i.a.sw=PropertyFactory.getProp(this,a.a.sw,0,0,this.dynamicProperties)),"sc"in a.a&&(i.a.sc=PropertyFactory.getProp(this,a.a.sc,1,0,this.dynamicProperties)),"fc"in a.a&&(i.a.fc=PropertyFactory.getProp(this,a.a.fc,1,0,this.dynamicProperties)),"fh"in a.a&&(i.a.fh=PropertyFactory.getProp(this,a.a.fh,0,0,this.dynamicProperties)),"fs"in a.a&&(i.a.fs=PropertyFactory.getProp(this,a.a.fs,0,.01,this.dynamicProperties)),"fb"in a.a&&(i.a.fb=PropertyFactory.getProp(this,a.a.fb,0,.01,this.dynamicProperties)),"t"in a.a&&(i.a.t=PropertyFactory.getProp(this,a.a.t,0,0,this.dynamicProperties)),i.s=PropertyFactory.getTextSelectorProp(this,a.s,this.dynamicProperties),i.s.t=a.s.t,this.viewData.a[s]=i}else this.viewData.a=[];e.p&&"m"in e.p?(this.viewData.p={f:PropertyFactory.getProp(this,e.p.f,0,0,this.dynamicProperties),l:PropertyFactory.getProp(this,e.p.l,0,0,this.dynamicProperties),r:e.p.r,m:this.maskManager.getMaskProperty(e.p.m)},this.maskPath=!0):this.maskPath=!1},ITextElement.prototype.createPathShape=function(t,e){var s,i,a,r,n=e.length,o="";for(s=0;n>s;s+=1){for(a=e[s].ks.k.i.length,r=e[s].ks.k,i=1;a>i;i+=1)1==i&&(o+=" M"+t.applyToPointStringified(r.v[0][0],r.v[0][1])),o+=" C"+t.applyToPointStringified(r.o[i-1][0],r.o[i-1][1])+" "+t.applyToPointStringified(r.i[i][0],r.i[i][1])+" "+t.applyToPointStringified(r.v[i][0],r.v[i][1]);o+=" C"+t.applyToPointStringified(r.o[i-1][0],r.o[i-1][1])+" "+t.applyToPointStringified(r.i[0][0],r.i[0][1])+" "+t.applyToPointStringified(r.v[0][0],r.v[0][1]),o+="z"}return o},ITextElement.prototype.getMeasures=function(){var t,e,s,i,a=this.mHelper,r=this.renderType,n=this.data,o=n.t.d,h=o.l;if(this.maskPath){var l=this.viewData.p.m;if(!this.viewData.p.n||this.viewData.p.mdf){var p=l.v;this.viewData.p.r&&(p=reversePath(p,l.closed));var m={tLength:0,segments:[]};i=p.v.length-1;var f,d=0;for(s=0;i>s;s+=1)f={s:p.v[s],e:p.v[s+1],to:[p.o[s][0]-p.v[s][0],p.o[s][1]-p.v[s][1]],ti:[p.i[s+1][0]-p.v[s+1][0],p.i[s+1][1]-p.v[s+1][1]]},bez.buildBezierData(f),m.tLength+=f.bezierData.segmentLength,m.segments.push(f),d+=f.bezierData.segmentLength;s=i,l.closed&&(f={s:p.v[s],e:p.v[0],to:[p.o[s][0]-p.v[s][0],p.o[s][1]-p.v[s][1]],ti:[p.i[0][0]-p.v[0][0],p.i[0][1]-p.v[0][1]]},bez.buildBezierData(f),m.tLength+=f.bezierData.segmentLength,m.segments.push(f),d+=f.bezierData.segmentLength),this.viewData.p.pi=m}var c,u,y,m=this.viewData.p.pi,v=this.viewData.p.f.v,g=0,b=1,E=0,P=!0,k=m.segments;if(0>v&&l.closed)for(m.tLength<Math.abs(v)&&(v=-Math.abs(v)%m.tLength),g=k.length-1,y=k[g].bezierData.points,b=y.length-1;0>v;)v+=y[b].partialLength,b-=1,0>b&&(g-=1,y=k[g].bezierData.points,b=y.length-1);y=k[g].bezierData.points,u=y[b-1],c=y[b];var S,C,x=c.partialLength}i=h.length,t=0,e=0;var w,D,T,M,I,F=1.2*n.t.d.s*.714,A=!0,V=this.viewData,N=Array.apply(null,{length:i});this.lettersChangedFlag=!1,M=V.a.length;var L,B,_,H,R,z,O,j,G,W,X,q,Y,Z,J,U,K=-1,Q=v,$=g,tt=b,et=-1,st=0;for(s=0;i>s;s+=1)if(a.reset(),z=1,h[s].n)t=0,e+=o.yOffset,e+=A?1:0,v=Q,A=!1,st=0,this.maskPath&&(g=$,b=tt,y=k[g].bezierData.points,u=y[b-1],c=y[b],x=c.partialLength,E=0),N[s]=this.emptyProp;else{if(this.maskPath){if(et!==h[s].line){switch(o.j){case 1:v+=d-o.lineWidths[h[s].line];break;case 2:v+=(d-o.lineWidths[h[s].line])/2}et=h[s].line}K!==h[s].ind&&(h[K]&&(v+=h[K].extra),v+=h[s].an/2,K=h[s].ind),v+=V.m.a.v[0]*h[s].an/200;var it=0;for(T=0;M>T;T+=1)w=V.a[T].a,"p"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),it+=B.length?w.p.v[0]*B[0]:w.p.v[0]*B);for(P=!0;P;)E+x>=v+it||!y?(S=(v+it-E)/c.partialLength,H=u.point[0]+(c.point[0]-u.point[0])*S,R=u.point[1]+(c.point[1]-u.point[1])*S,a.translate(0,-(V.m.a.v[1]*F/100)+e),P=!1):y&&(E+=c.partialLength,b+=1,b>=y.length&&(b=0,g+=1,k[g]?y=k[g].bezierData.points:l.closed?(b=0,g=0,y=k[g].bezierData.points):(E-=c.partialLength,y=null)),y&&(u=c,c=y[b],x=c.partialLength));_=h[s].an/2-h[s].add,a.translate(-_,0,0)}else _=h[s].an/2-h[s].add,a.translate(-_,0,0),a.translate(-V.m.a.v[0]*h[s].an/200,-V.m.a.v[1]*F/100,0);for(st+=h[s].l/2,T=0;M>T;T+=1)w=V.a[T].a,"t"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),this.maskPath?v+=B.length?w.t*B[0]:w.t*B:t+=B.length?w.t.v*B[0]:w.t.v*B);for(st+=h[s].l/2,o.strokeWidthAnim&&(j=n.t.d.sw||0),o.strokeColorAnim&&(O=n.t.d.sc?[n.t.d.sc[0],n.t.d.sc[1],n.t.d.sc[2]]:[0,0,0]),o.fillColorAnim&&(G=[n.t.d.fc[0],n.t.d.fc[1],n.t.d.fc[2]]),T=0;M>T;T+=1)w=V.a[T].a,"a"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),B.length?a.translate(-w.a.v[0]*B[0],-w.a.v[1]*B[1],w.a.v[2]*B[2]):a.translate(-w.a.v[0]*B,-w.a.v[1]*B,w.a.v[2]*B));for(T=0;M>T;T+=1)w=V.a[T].a,"s"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),B.length?a.scale(1+(w.s.v[0]-1)*B[0],1+(w.s.v[1]-1)*B[1],1):a.scale(1+(w.s.v[0]-1)*B,1+(w.s.v[1]-1)*B,1));for(T=0;M>T;T+=1){if(w=V.a[T].a,D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),"sk"in w&&(B.length?a.skewFromAxis(-w.sk.v*B[0],w.sa.v*B[1]):a.skewFromAxis(-w.sk.v*B,w.sa.v*B)),"r"in w&&a.rotateZ(B.length?-w.r.v*B[2]:-w.r.v*B),"ry"in w&&a.rotateY(B.length?w.ry.v*B[1]:w.ry.v*B),"rx"in w&&a.rotateX(B.length?w.rx.v*B[0]:w.rx.v*B),"o"in w&&(z+=B.length?(w.o.v*B[0]-z)*B[0]:(w.o.v*B-z)*B),o.strokeWidthAnim&&"sw"in w&&(j+=B.length?w.sw.v*B[0]:w.sw.v*B),o.strokeColorAnim&&"sc"in w)for(W=0;3>W;W+=1)O[W]=Math.round(B.length?O[W]+(w.sc.v[W]-O[W])*B[0]:O[W]+(w.sc.v[W]-O[W])*B);if(o.fillColorAnim){if("fc"in w)for(W=0;3>W;W+=1)G[W]=Math.round(B.length?G[W]+(w.fc.v[W]-G[W])*B[0]:G[W]+(w.fc.v[W]-G[W])*B);"fh"in w&&(G=B.length?addHueToRGB(G,w.fh.v*B[0]):addHueToRGB(G,w.fh.v*B)),"fs"in w&&(G=B.length?addSaturationToRGB(G,w.fs.v*B[0]):addSaturationToRGB(G,w.fs.v*B)),"fb"in w&&(G=B.length?addBrightnessToRGB(G,w.fb.v*B[0]):addBrightnessToRGB(G,w.fb.v*B))}}for(T=0;M>T;T+=1)w=V.a[T].a,"p"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),this.maskPath?B.length?a.translate(0,w.p.v[1]*B[0],-w.p.v[2]*B[1]):a.translate(0,w.p.v[1]*B,-w.p.v[2]*B):B.length?a.translate(w.p.v[0]*B[0],w.p.v[1]*B[1],-w.p.v[2]*B[2]):a.translate(w.p.v[0]*B,w.p.v[1]*B,-w.p.v[2]*B));if(o.strokeWidthAnim&&(X=0>j?0:j),o.strokeColorAnim&&(q="rgb("+O[0]+","+O[1]+","+O[2]+")"),o.fillColorAnim&&(Y="rgb("+G[0]+","+G[1]+","+G[2]+")"),this.maskPath){if(n.t.p.p){C=(c.point[1]-u.point[1])/(c.point[0]-u.point[0]);var at=180*Math.atan(C)/Math.PI;c.point[0]<u.point[0]&&(at+=180),a.rotate(-at*Math.PI/180)}a.translate(H,R,0),a.translate(V.m.a.v[0]*h[s].an/200,V.m.a.v[1]*F/100,0),v-=V.m.a.v[0]*h[s].an/200,h[s+1]&&K!==h[s+1].ind&&(v+=h[s].an/2,v+=o.tr/1e3*n.t.d.s)}else{switch(a.translate(t,e,0),o.ps&&a.translate(o.ps[0],o.ps[1]+o.ascent,0),o.j){case 1:a.translate(o.justifyOffset+(o.boxWidth-o.lineWidths[h[s].line]),0,0);break;case 2:a.translate(o.justifyOffset+(o.boxWidth-o.lineWidths[h[s].line])/2,0,0)}a.translate(_,0,0),a.translate(V.m.a.v[0]*h[s].an/200,V.m.a.v[1]*F/100,0),t+=h[s].l+o.tr/1e3*n.t.d.s}"html"===r?Z=a.toCSS():"svg"===r?Z=a.to2dCSS():J=[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]],U=z,L=this.renderedLetters[s],!L||L.o===U&&L.sw===X&&L.sc===q&&L.fc===Y?"svg"!==r&&"html"!==r||L&&L.m===Z?"canvas"!==r||L&&L.props[0]===J[0]&&L.props[1]===J[1]&&L.props[4]===J[4]&&L.props[5]===J[5]&&L.props[12]===J[12]&&L.props[13]===J[13]?I=L:(this.lettersChangedFlag=!0,I=new LetterProps(U,X,q,Y,null,J)):(this.lettersChangedFlag=!0,I=new LetterProps(U,X,q,Y,Z)):(this.lettersChangedFlag=!0,I=new LetterProps(U,X,q,Y,Z,J)),this.renderedLetters[s]=I}},ITextElement.prototype.emptyProp=new LetterProps,createElement(SVGBaseElement,SVGTextElement),SVGTextElement.prototype.init=ITextElement.prototype.init,SVGTextElement.prototype.createPathShape=ITextElement.prototype.createPathShape,SVGTextElement.prototype.getMeasures=ITextElement.prototype.getMeasures,SVGTextElement.prototype.createElements=function(){this.parent.createElements.call(this);var t=this.data.t.d;this.innerElem=document.createElementNS(svgNS,"g"),t.fc?this.innerElem.setAttribute("fill","rgb("+t.fc[0]+","+t.fc[1]+","+t.fc[2]+")"):this.innerElem.setAttribute("fill","rgba(0,0,0,0)"),t.sc&&(this.innerElem.setAttribute("stroke","rgb("+t.sc[0]+","+t.sc[1]+","+t.sc[2]+")"),this.innerElem.setAttribute("stroke-width",t.sw)),this.innerElem.setAttribute("font-size",t.s);var e=this.globalData.fontManager.getFontByName(t.f);if(e.fClass)this.innerElem.setAttribute("class",e.fClass);else{this.innerElem.setAttribute("font-family",e.fFamily);var s=t.fWeight,i=t.fStyle;this.innerElem.setAttribute("font-style",i),this.innerElem.setAttribute("font-weight",s)}var a,r;this.layerElement===this.parentContainer?this.appendNodeToParent(this.innerElem):this.layerElement.appendChild(this.innerElem);var n=t.l;if(r=n.length){var o,h,l=this.mHelper,p="",m=this.data.singleShape;if(m)var f=0,d=0,c=t.lineWidths,u=t.boxWidth,y=!0;for(a=0;r>a;a+=1){if(this.globalData.fontManager.chars?m&&0!==a||(o=document.createElementNS(svgNS,"path")):o=document.createElementNS(svgNS,"text"),o.setAttribute("stroke-linecap","butt"),o.setAttribute("stroke-linejoin","round"),o.setAttribute("stroke-miterlimit","4"),m&&n[a].n&&(f=0,d+=t.yOffset,d+=y?1:0,y=!1),l.reset(),this.globalData.fontManager.chars&&l.scale(t.s/100,t.s/100),m){switch(t.ps&&l.translate(t.ps[0],t.ps[1]+t.ascent,0),t.j){case 1:l.translate(t.justifyOffset+(u-c[n[a].line]),0,0);break;case 2:l.translate(t.justifyOffset+(u-c[n[a].line])/2,0,0)}l.translate(f,d,0)}if(this.globalData.fontManager.chars){var v,g=this.globalData.fontManager.getCharData(t.t.charAt(a),e.fStyle,this.globalData.fontManager.getFontByName(t.f).fFamily);v=g?g.data:null,v&&v.shapes&&(h=v.shapes[0].it,m||(p=""),p+=this.createPathShape(l,h),m||o.setAttribute("d",p)),m||this.innerElem.appendChild(o)}else o.textContent=n[a].val,o.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),this.innerElem.appendChild(o),m&&o.setAttribute("transform",l.to2dCSS());m&&(f+=n[a].l),this.textSpans.push(o)}m&&this.globalData.fontManager.chars&&(o.setAttribute("d",p),this.innerElem.appendChild(o))}},SVGTextElement.prototype.hide=function(){this.hidden||(this.innerElem.style.display="none",this.hidden=!0)},SVGTextElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);if(e===!1)return void this.hide();if(this.hidden&&(this.hidden=!1,this.innerElem.style.display="block"),this.data.hasMask||(this.finalTransform.matMdf&&this.innerElem.setAttribute("transform",this.finalTransform.mat.to2dCSS()),this.finalTransform.opMdf&&this.innerElem.setAttribute("opacity",this.finalTransform.opacity)),!this.data.singleShape&&(this.getMeasures(),this.lettersChangedFlag)){var s,i,a=this.renderedLetters,r=this.data.t.d.l;i=r.length;var n;for(s=0;i>s;s+=1)r[s].n||(n=a[s],this.textSpans[s].setAttribute("transform",n.m),this.textSpans[s].setAttribute("opacity",n.o),n.sw&&this.textSpans[s].setAttribute("stroke-width",n.sw),n.sc&&this.textSpans[s].setAttribute("stroke",n.sc),n.fc&&this.textSpans[s].setAttribute("fill",n.fc));this.firstFrame&&(this.firstFrame=!1)}},SVGTextElement.prototype.destroy=function(){this.parent.destroy.call(),this.innerElem=null};var PlaceHolderElement=function(t,e,s){if(this.data=t,this.globalData=s,e){this.parentContainer=e;var i=document.createElementNS(svgNS,"g");i.setAttribute("id",this.data.id),e.appendChild(i),this.phElement=i}this.layerId="ly_"+randomString(10)};PlaceHolderElement.prototype.prepareFrame=function(){},PlaceHolderElement.prototype.renderFrame=function(){},PlaceHolderElement.prototype.draw=function(){},createElement(SVGBaseElement,ICompElement),extendPrototype(ExpressionComp,ICompElement),ICompElement.prototype.getComposingElement=function(){return this.layerElement},ICompElement.prototype.hide=function(){if(!this.hidden){var t,e=this.elements.length;for(t=0;e>t;t+=1)this.elements[t].hide();this.hidden=!0}},ICompElement.prototype.prepareFrame=function(t){if(this.parent.prepareFrame.call(this,t),this.isVisible!==!1){var e=t;this.tm&&(e=this.tm.v,e===this.data.op&&(e=this.data.op-1)),this.renderedFrame=e;var s,i=this.elements.length;for(s=0;i>s;s+=1)this.elements[s].prepareFrame(e-this.layers[s].st)}},ICompElement.prototype.renderFrame=function(t){var e,s=this.parent.renderFrame.call(this,t),i=this.layers.length;if(s===!1)return void this.hide();for(this.hidden=!1,e=0;i>e;e+=1)this.data.hasMask?this.elements[e].renderFrame():this.elements[e].renderFrame(this.finalTransform);this.firstFrame&&(this.firstFrame=!1)},ICompElement.prototype.setElements=function(t){this.elements=t},ICompElement.prototype.getElements=function(){return this.elements},ICompElement.prototype.destroy=function(){this.parent.destroy.call();var t,e=this.layers.length;for(t=0;e>t;t+=1)this.elements[t].destroy()},createElement(SVGBaseElement,IImageElement),IImageElement.prototype.createElements=function(){var t=this,e=function(){t.innerElem.setAttributeNS("http://www.w3.org/1999/xlink","href",t.path+t.assetData.p),t.maskedElement=t.innerElem},s=new Image;s.addEventListener("load",e,!1),s.addEventListener("error",e,!1),s.src=this.path+this.assetData.p,this.parent.createElements.call(this),this.innerElem=document.createElementNS(svgNS,"image"),this.innerElem.setAttribute("width",this.assetData.w+"px"),this.innerElem.setAttribute("height",this.assetData.h+"px"),this.layerElement===this.parentContainer?this.appendNodeToParent(this.innerElem):this.layerElement.appendChild(this.innerElem),this.data.ln&&this.innerElem.setAttribute("id",this.data.ln)},IImageElement.prototype.hide=function(){this.hidden||(this.innerElem.setAttribute("visibility","hidden"),this.hidden=!0)},IImageElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden&&(this.hidden=!1,this.innerElem.setAttribute("visibility","visible")),this.data.hasMask||((this.finalTransform.matMdf||this.firstFrame)&&this.innerElem.setAttribute("transform",this.finalTransform.mat.to2dCSS()),(this.finalTransform.opMdf||this.firstFrame)&&this.innerElem.setAttribute("opacity",this.finalTransform.opacity)),void(this.firstFrame&&(this.firstFrame=!1)))},IImageElement.prototype.destroy=function(){this.parent.destroy.call(),this.innerElem=null},createElement(SVGBaseElement,IShapeElement),IShapeElement.prototype.lcEnum={1:"butt",2:"round",3:"butt"},IShapeElement.prototype.ljEnum={1:"miter",2:"round",3:"butt"},IShapeElement.prototype.transformHelper={opacity:1,mat:new Matrix,matMdf:!1,opMdf:!1},IShapeElement.prototype.createElements=function(){this.parent.createElements.call(this),this.searchShapes(this.shapesData,this.viewData,this.dynamicProperties,[]),this.layerElement.appendChild(this.shapesContainer),styleUnselectableDiv(this.layerElement),styleUnselectableDiv(this.shapesContainer),this.buildExpressionInterface()},IShapeElement.prototype.searchShapes=function(t,e,s,i){var a,r,n,o=t.length-1,h=[],l=[];for(a=o;a>=0;a-=1)if("fl"==t[a].ty||"st"==t[a].ty){e[a]={};var p;if(e[a].c=PropertyFactory.getProp(this,t[a].c,1,null,s),e[a].o=PropertyFactory.getProp(this,t[a].o,0,.01,s),"st"==t[a].ty){if(p=document.createElementNS(svgNS,"g"),p.style.strokeLinecap=this.lcEnum[t[a].lc]||"round",p.style.strokeLinejoin=this.ljEnum[t[a].lj]||"round",p.style.fillOpacity=0,1==t[a].lj&&(p.style.strokeMiterlimit=t[a].ml),e[a].c.k||(p.style.stroke="rgb("+e[a].c.v[0]+","+e[a].c.v[1]+","+e[a].c.v[2]+")"),e[a].o.k||(p.style.strokeOpacity=e[a].o.v),e[a].w=PropertyFactory.getProp(this,t[a].w,0,null,s),e[a].w.k||(p.style.strokeWidth=e[a].w.v),t[a].d){var m=PropertyFactory.getDashProp(this,t[a].d,"svg",s);m.k||(p.style.strokeDasharray=m.dasharray,p.style.strokeDashoffset=m.dashoffset),e[a].d=m}}else p=document.createElementNS(svgNS,"path"),e[a].c.k||(p.style.fill="rgb("+e[a].c.v[0]+","+e[a].c.v[1]+","+e[a].c.v[2]+")"),e[a].o.k||(p.style.fillOpacity=e[a].o.v);this.shapesContainer.appendChild(p),this.stylesList.push({pathElement:p,type:t[a].ty,d:"",ld:"",mdf:!1}),e[a].style=this.stylesList[this.stylesList.length-1],h.push(e[a].style)}else if("gr"==t[a].ty)e[a]={it:[]},this.searchShapes(t[a].it,e[a].it,s,i);else if("tr"==t[a].ty)e[a]={transform:{mat:new Matrix,opacity:1,matMdf:!1,opMdf:!1,op:PropertyFactory.getProp(this,t[a].o,0,.01,s),mProps:PropertyFactory.getProp(this,t[a],2,null,s)},elements:[]};else if("sh"==t[a].ty||"rc"==t[a].ty||"el"==t[a].ty||"sr"==t[a].ty){e[a]={elements:[],styles:[],lStr:""};var f=4;"rc"==t[a].ty?f=5:"el"==t[a].ty?f=6:"sr"==t[a].ty&&(f=7),i.length&&(t[a].trimmed=!0),e[a].sh=PropertyFactory.getShapeProp(this,t[a],f,s,i),n=this.stylesList.length;var d,c=!1,u=!1;for(r=0;n>r;r+=1)this.stylesList[r].closed||("st"===this.stylesList[r].type?(c=!0,d=document.createElementNS(svgNS,"path"),this.stylesList[r].pathElement.appendChild(d),e[a].elements.push({ty:this.stylesList[r].type,el:d})):(u=!0,e[a].elements.push({ty:this.stylesList[r].type,st:this.stylesList[r]})));e[a].st=c,e[a].fl=u}else if("tm"==t[a].ty){var y={closed:!1,trimProp:PropertyFactory.getProp(this,t[a],7,null,s)};e[a]={tr:y.trimProp},i.push(y),l.push(y)}for(o=h.length,a=0;o>a;a+=1)h[a].closed=!0;for(o=l.length,a=0;o>a;a+=1)l[a].closed=!0},IShapeElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden=!1,this.finalTransform.matMdf&&!this.data.hasMask&&this.shapesContainer.setAttribute("transform",this.finalTransform.mat.to2dCSS()),this.transformHelper.opacity=this.finalTransform.opacity,this.transformHelper.matMdf=!1,this.transformHelper.opMdf=this.finalTransform.opMdf,void this.renderShape(this.transformHelper,null,null,!0))},IShapeElement.prototype.hide=function(){if(!this.hidden){var t,e=this.stylesList.length;for(t=e-1;t>=0;t-=1)"0"!==this.stylesList[t].ld&&(this.stylesList[t].ld="0",this.stylesList[t].pathElement.style.display="none",this.stylesList[t].pathElement.parentNode&&(this.stylesList[t].parent=this.stylesList[t].pathElement.parentNode));this.hidden=!0}},IShapeElement.prototype.renderShape=function(t,e,s,i){var a,r;if(!e)for(e=this.shapesData,r=this.stylesList.length,a=0;r>a;a+=1)this.stylesList[a].d="",this.stylesList[a].mdf=!1;s||(s=this.viewData),r=e.length-1;var n,o;for(n=t,a=r;a>=0;a-=1)if("tr"==e[a].ty){n=s[a].transform;var h=s[a].transform.mProps.v.props;if(n.matMdf=n.mProps.mdf,n.opMdf=n.op.mdf,o=n.mat,o.cloneFromProps(h),t){var l=t.mat.props;n.opacity=t.opacity,n.opacity*=s[a].transform.op.v,n.matMdf=t.matMdf?!0:n.matMdf,n.opMdf=t.opMdf?!0:n.opMdf,o.transform(l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9],l[10],l[11],l[12],l[13],l[14],l[15])}else n.opacity=n.op.o}else"sh"==e[a].ty||"el"==e[a].ty||"rc"==e[a].ty||"sr"==e[a].ty?this.renderPath(e[a],s[a],n):"fl"==e[a].ty?this.renderFill(e[a],s[a],n):"st"==e[a].ty?this.renderStroke(e[a],s[a],n):"gr"==e[a].ty?this.renderShape(n,e[a].it,s[a].it):"tm"==e[a].ty;if(i){for(r=this.stylesList.length,a=0;r>a;a+=1)"0"===this.stylesList[a].ld&&(this.stylesList[a].ld="1",this.stylesList[a].pathElement.style.display="block"),"fl"===this.stylesList[a].type&&(this.stylesList[a].mdf||this.firstFrame)&&this.stylesList[a].pathElement.setAttribute("d",this.stylesList[a].d);this.firstFrame&&(this.firstFrame=!1)}},IShapeElement.prototype.renderPath=function(t,e,s){var i,a,r=e.sh.v,n="";if(r.v){i=r.v.length;var o=s.matMdf||e.sh.mdf||this.firstFrame;if(o){var h=r.s?r.s:[];for(a=1;i>a;a+=1)h[a-1]?n+=" M"+s.mat.applyToPointStringified(h[a-1][0],h[a-1][1]):1==a&&(n+=" M"+s.mat.applyToPointStringified(r.v[0][0],r.v[0][1])),n+=" C"+s.mat.applyToPointStringified(r.o[a-1][0],r.o[a-1][1])+" "+s.mat.applyToPointStringified(r.i[a][0],r.i[a][1])+" "+s.mat.applyToPointStringified(r.v[a][0],r.v[a][1]);1==i&&(n+=h[0]?" M"+s.mat.applyToPointStringified(h[0][0],h[0][1]):" M"+s.mat.applyToPointStringified(r.v[0][0],r.v[0][1])),i&&t.closed&&(!t.trimmed||r.c)&&(n+=" C"+s.mat.applyToPointStringified(r.o[a-1][0],r.o[a-1][1])+" "+s.mat.applyToPointStringified(r.i[0][0],r.i[0][1])+" "+s.mat.applyToPointStringified(r.v[0][0],r.v[0][1]),n+="z"),e.lStr=n}else n=e.lStr;for(i=e.elements.length,a=0;i>a;a+=1)"st"===e.elements[a].ty?(e.sh.mdf||this.firstFrame)&&e.elements[a].el.setAttribute("d",n):(e.elements[a].st.mdf=o?!0:e.elements[a].st.mdf,e.elements[a].st.d+=n)}},IShapeElement.prototype.renderFill=function(t,e,s){var i=e.style;(e.c.mdf||this.firstFrame)&&(i.pathElement.style.fill="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.pathElement.style.fillOpacity=e.o.v*s.opacity)},IShapeElement.prototype.renderStroke=function(t,e,s){var i=e.style,a=e.d;a&&a.k&&(a.mdf||this.firstFrame)&&(i.pathElement.style.strokeDasharray=a.dasharray,i.pathElement.style.strokeDashoffset=a.dashoffset),(e.c.mdf||this.firstFrame)&&(i.pathElement.style.stroke="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.pathElement.style.strokeOpacity=e.o.v*s.opacity),(e.w.mdf||this.firstFrame)&&(i.pathElement.style.strokeWidth=e.w.v)},IShapeElement.prototype.destroy=function(){this.parent.destroy.call(),this.shapeData=null,this.viewData=null,this.parentContainer=null,this.placeholder=null},extendPrototype(ShapeInterface,IShapeElement),createElement(SVGBaseElement,ISolidElement),ISolidElement.prototype.createElements=function(){this.parent.createElements.call(this);var t=document.createElementNS(svgNS,"rect");t.setAttribute("width",this.data.sw),t.setAttribute("height",this.data.sh),t.setAttribute("fill",this.data.sc),this.layerElement===this.parentContainer?this.appendNodeToParent(t):this.layerElement.appendChild(t),this.data.ln&&this.innerElem.setAttribute("id",this.data.ln),this.innerElem=t},ISolidElement.prototype.hide=IImageElement.prototype.hide,ISolidElement.prototype.renderFrame=IImageElement.prototype.renderFrame,ISolidElement.prototype.destroy=IImageElement.prototype.destroy,createElement(BaseElement,CVBaseElement),CVBaseElement.prototype.createElements=function(){},CVBaseElement.prototype.renderFrame=function(t){if(3===this.data.ty)return!1;if(!this.isVisible)return this.isVisible;this.finalTransform.opMdf=this.finalTransform.op.mdf,this.finalTransform.matMdf=this.finalTransform.mProp.mdf,this.finalTransform.opacity=this.finalTransform.op.v;var e,s=this.finalTransform.mat;if(this.hierarchy){var i,a=this.hierarchy.length;for(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e),i=0;a>i;i+=1)this.finalTransform.matMdf=this.hierarchy[i].finalTransform.mProp.mdf?!0:this.finalTransform.matMdf,e=this.hierarchy[i].finalTransform.mProp.v.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}else t?(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e)):s.cloneFromProps(this.finalTransform.mProp.v.props);return t&&(e=t.mat.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]),this.finalTransform.opacity*=t.opacity,this.finalTransform.opMdf=t.opMdf?!0:this.finalTransform.opMdf,this.finalTransform.matMdf=t.matMdf?!0:this.finalTransform.matMdf),this.data.hasMask&&(this.globalData.renderer.save(!0),this.maskManager.renderFrame(s)),this.isVisible},CVBaseElement.prototype.getCurrentAnimData=function(){return this.currentAnimData},CVBaseElement.prototype.addMasks=function(t){this.maskManager=new CVMaskElement(t,this,this.globalData)},CVBaseElement.prototype.destroy=function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager&&this.maskManager.destroy()},CVBaseElement.prototype.mHelper=new Matrix,createElement(CVBaseElement,CVCompElement),CVCompElement.prototype.prepareFrame=function(t){if(this.parent.prepareFrame.call(this,t),this.isVisible!==!1){var e=t;this.tm&&(e=this.tm.v,e===this.data.op&&(e=this.data.op-1)),this.renderedFrame=e;var s,i=this.elements.length;for(s=0;i>s;s+=1)this.elements[s].prepareFrame(e-this.layers[s].st)}},CVCompElement.prototype.renderFrame=function(t){if(this.parent.renderFrame.call(this,t)!==!1){var e,s=this.layers.length;for(e=s-1;e>=0;e-=1)this.elements[e].renderFrame(this.finalTransform);this.data.hasMask&&this.globalData.renderer.restore(!0),this.firstFrame&&(this.firstFrame=!1)}},CVCompElement.prototype.setElements=function(t){this.elements=t},CVCompElement.prototype.getElements=function(){return this.elements},CVCompElement.prototype.destroy=function(){var t,e=this.layers.length;for(t=e-1;t>=0;t-=1)this.elements[t].destroy();this.layers=null,this.elements=null,this.parent.destroy.call()},createElement(CVBaseElement,CVImageElement),CVImageElement.prototype.createElements=function(){var t=this,e=function(){t.animationItem.elementLoaded()},s=function(){t.failed=!0,t.animationItem.elementLoaded()};this.img=new Image,this.img.addEventListener("load",e,!1),this.img.addEventListener("error",s,!1),this.img.src=this.path+this.assetData.p,this.parent.createElements.call(this)},CVImageElement.prototype.renderFrame=function(t){if(!this.failed&&this.parent.renderFrame.call(this,t)!==!1){var e=this.canvasContext;this.globalData.renderer.save();var s=this.finalTransform.mat.props;this.globalData.renderer.ctxTransform(s),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.drawImage(this.img,0,0),this.globalData.renderer.restore(this.data.hasMask),this.firstFrame&&(this.firstFrame=!1)}},CVImageElement.prototype.destroy=function(){this.img=null,this.animationItem=null,this.parent.destroy.call()},CVMaskElement.prototype.getMaskProperty=function(t){return this.viewData[t]},CVMaskElement.prototype.prepareFrame=function(t){var e,s=this.dynamicProperties.length;for(e=0;s>e;e+=1)this.dynamicProperties[e].getValue(t)},CVMaskElement.prototype.renderFrame=function(t){var e,s,i,a,r,n=this.ctx,o=this.data.masksProperties.length,h=!1;for(e=0;o>e;e++)if("n"!==this.masksProperties[e].mode){h===!1&&(n.beginPath(),h=!0),this.masksProperties[e].inv&&(n.moveTo(0,0),n.lineTo(this.globalData.compWidth,0),n.lineTo(this.globalData.compWidth,this.globalData.compHeight),n.lineTo(0,this.globalData.compHeight),n.lineTo(0,0)),r=this.viewData[e].v,s=t.applyToPointArray(r.v[0][0],r.v[0][1],0),n.moveTo(s[0],s[1]);var l,p=r.v.length;for(l=1;p>l;l++)s=t.applyToPointArray(r.o[l-1][0],r.o[l-1][1],0),
 i=t.applyToPointArray(r.i[l][0],r.i[l][1],0),a=t.applyToPointArray(r.v[l][0],r.v[l][1],0),n.bezierCurveTo(s[0],s[1],i[0],i[1],a[0],a[1]);s=t.applyToPointArray(r.o[l-1][0],r.o[l-1][1],0),i=t.applyToPointArray(r.i[0][0],r.i[0][1],0),a=t.applyToPointArray(r.v[0][0],r.v[0][1],0),n.bezierCurveTo(s[0],s[1],i[0],i[1],a[0],a[1])}h&&n.clip()},CVMaskElement.prototype.getMask=function(t){for(var e=0,s=this.masksProperties.length;s>e;){if(this.masksProperties[e].nm===t)return{maskPath:this.viewData[e].pv};e+=1}},CVMaskElement.prototype.destroy=function(){this.ctx=null},createElement(CVBaseElement,CVShapeElement),CVShapeElement.prototype.lcEnum={1:"butt",2:"round",3:"butt"},CVShapeElement.prototype.ljEnum={1:"miter",2:"round",3:"butt"},CVShapeElement.prototype.transformHelper={opacity:1,mat:new Matrix,matMdf:!1,opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createElements=function(){this.parent.createElements.call(this),this.searchShapes(this.shapesData,this.viewData,this.dynamicProperties,[]),this.buildExpressionInterface()},CVShapeElement.prototype.searchShapes=function(t,e,s,i){var a,r,n,o,h=t.length-1,l=[],p=[];for(a=h;a>=0;a-=1)if("fl"==t[a].ty||"st"==t[a].ty){if(o={type:t[a].ty,elements:[]},e[a]={},e[a].c=PropertyFactory.getProp(this,t[a].c,1,null,s),e[a].c.k||(o.co="rgb("+bm_floor(e[a].c.v[0])+","+bm_floor(e[a].c.v[1])+","+bm_floor(e[a].c.v[2])+")"),e[a].o=PropertyFactory.getProp(this,t[a].o,0,.01,s),"st"==t[a].ty&&(o.lc=this.lcEnum[t[a].lc]||"round",o.lj=this.ljEnum[t[a].lj]||"round",1==t[a].lj&&(o.ml=t[a].ml),e[a].w=PropertyFactory.getProp(this,t[a].w,0,null,s),e[a].w.k||(o.wi=e[a].w.v),t[a].d)){var m=PropertyFactory.getDashProp(this,t[a].d,"canvas",s);e[a].d=m,e[a].d.k||(o.da=e[a].d.dasharray,o["do"]=e[a].d.dashoffset)}this.stylesList.push(o),e[a].style=o,l.push(e[a].style)}else if("gr"==t[a].ty)e[a]={it:[]},this.searchShapes(t[a].it,e[a].it,s,i);else if("tr"==t[a].ty)e[a]={transform:{mat:new Matrix,opacity:1,matMdf:!1,opMdf:!1,op:PropertyFactory.getProp(this,t[a].o,0,.01,s),mProps:PropertyFactory.getProp(this,t[a],2,null,s)},elements:[]};else if("sh"==t[a].ty||"rc"==t[a].ty||"el"==t[a].ty||"sr"==t[a].ty){e[a]={nodes:[],trNodes:[],tr:[0,0,0,0,0,0]};var f=4;"rc"==t[a].ty?f=5:"el"==t[a].ty?f=6:"sr"==t[a].ty&&(f=7),i.length&&(t[a].trimmed=!0),e[a].sh=PropertyFactory.getShapeProp(this,t[a],f,s,i),n=this.stylesList.length;var d=!1,c=!1;for(r=0;n>r;r+=1)this.stylesList[r].closed||(this.stylesList[r].elements.push(e[a]),"st"===this.stylesList[r].type?d=!0:c=!0);e[a].st=d,e[a].fl=c}else if("tm"==t[a].ty){var u={closed:!1,trimProp:PropertyFactory.getProp(this,t[a],7,null,s)};i.push(u),p.push(u)}for(h=l.length,a=0;h>a;a+=1)l[a].closed=!0;for(h=p.length,a=0;h>a;a+=1)p[a].closed=!0},CVShapeElement.prototype.renderFrame=function(t){this.parent.renderFrame.call(this,t)!==!1&&(this.transformHelper.mat.reset(),this.transformHelper.opacity=this.finalTransform.opacity,this.transformHelper.matMdf=!1,this.transformHelper.opMdf=this.finalTransform.opMdf,this.renderShape(this.transformHelper,null,null,!0),this.data.hasMask&&this.globalData.renderer.restore(!0))},CVShapeElement.prototype.renderShape=function(t,e,s,i){var a,r;if(!e)for(e=this.shapesData,r=this.stylesList.length,a=0;r>a;a+=1)this.stylesList[a].d="",this.stylesList[a].mdf=!1;s||(s=this.viewData),r=e.length-1;var n,o;for(n=t,a=r;a>=0;a-=1)if("tr"==e[a].ty){n=s[a].transform;var h=s[a].transform.mProps.v.props;if(n.matMdf=n.mProps.mdf,n.opMdf=n.op.mdf,o=n.mat,o.cloneFromProps(h),t){var l=t.mat.props;n.opacity=t.opacity,n.opacity*=s[a].transform.op.v,n.matMdf=t.matMdf?!0:n.matMdf,n.opMdf=t.opMdf?!0:n.opMdf,o.transform(l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9],l[10],l[11],l[12],l[13],l[14],l[15])}else n.opacity=n.op.o}else"sh"==e[a].ty||"el"==e[a].ty||"rc"==e[a].ty||"sr"==e[a].ty?this.renderPath(e[a],s[a],n):"fl"==e[a].ty?this.renderFill(e[a],s[a],n):"st"==e[a].ty?this.renderStroke(e[a],s[a],n):"gr"==e[a].ty?this.renderShape(n,e[a].it,s[a].it):"tm"==e[a].ty;if(i){r=this.stylesList.length;var p,m,f,d,c,u,y,v=this.globalData.renderer,g=this.globalData.canvasContext;for(v.save(),v.ctxTransform(this.finalTransform.mat.props),a=0;r>a;a+=1)if(y=this.stylesList[a].type,"st"!==y||0!==this.stylesList[a].wi){for(v.save(),c=this.stylesList[a].elements,m=c.length,"st"===y?(g.strokeStyle=this.stylesList[a].co,g.lineWidth=this.stylesList[a].wi,g.lineCap=this.stylesList[a].lc,g.lineJoin=this.stylesList[a].lj,g.miterLimit=this.stylesList[a].ml||0):g.fillStyle=this.stylesList[a].co,v.ctxOpacity(this.stylesList[a].coOp),"st"!==y&&g.beginPath(),p=0;m>p;p+=1){for("st"===y&&(g.beginPath(),this.stylesList[a].da?(g.setLineDash(this.stylesList[a].da),g.lineDashOffset=this.stylesList[a]["do"],this.globalData.isDashed=!0):this.globalData.isDashed&&(g.setLineDash(this.dashResetter),this.globalData.isDashed=!1)),u=c[p].trNodes,d=u.length,f=0;d>f;f+=1)"m"==u[f].t?g.moveTo(u[f].p[0],u[f].p[1]):"c"==u[f].t?g.bezierCurveTo(u[f].p1[0],u[f].p1[1],u[f].p2[0],u[f].p2[1],u[f].p3[0],u[f].p3[1]):g.closePath();"st"===y&&g.stroke()}"st"!==y&&g.fill(),v.restore()}v.restore(),this.firstFrame&&(this.firstFrame=!1)}},CVShapeElement.prototype.renderPath=function(t,e,s){var i,a,r=e.sh.v;if(r.v){i=r.v.length;var n=s.matMdf||e.sh.mdf||this.firstFrame;if(n){var o=e.trNodes;o.length=0;var h=r.s?r.s:[];for(a=1;i>a;a+=1)h[a-1]?o.push({t:"m",p:s.mat.applyToPointArray(h[a-1][0],h[a-1][1],0)}):1==a&&o.push({t:"m",p:s.mat.applyToPointArray(r.v[0][0],r.v[0][1],0)}),o.push({t:"c",p1:s.mat.applyToPointArray(r.o[a-1][0],r.o[a-1][1],0),p2:s.mat.applyToPointArray(r.i[a][0],r.i[a][1],0),p3:s.mat.applyToPointArray(r.v[a][0],r.v[a][1],0)});if(1==i&&o.push(h[0]?{t:"m",p:s.mat.applyToPointArray(h[0][0],h[0][1],0)}:{t:"m",p:s.mat.applyToPointArray(r.v[0][0],r.v[0][1],0)}),i&&t.closed&&(!t.trimmed||r.c)&&(o.push({t:"c",p1:s.mat.applyToPointArray(r.o[a-1][0],r.o[a-1][1],0),p2:s.mat.applyToPointArray(r.i[0][0],r.i[0][1],0),p3:s.mat.applyToPointArray(r.v[0][0],r.v[0][1],0)}),o.push({t:"z"})),e.st)for(a=0;16>a;a+=1)e.tr[a]=s.mat.props[a];e.trNodes=o}}},CVShapeElement.prototype.renderFill=function(t,e,s){var i=e.style;(e.c.mdf||this.firstFrame)&&(i.co="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.coOp=e.o.v*s.opacity)},CVShapeElement.prototype.renderStroke=function(t,e,s){var i=e.style,a=e.d;a&&(a.mdf||this.firstFrame)&&(i.da=a.dasharray,i["do"]=a.dashoffset),(e.c.mdf||this.firstFrame)&&(i.co="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.coOp=e.o.v*s.opacity),(e.w.mdf||this.firstFrame)&&(i.wi=e.w.v)},CVShapeElement.prototype.destroy=function(){this.shapesData=null,this.globalData=null,this.canvasContext=null,this.stylesList.length=0,this.viewData.length=0,this.parent.destroy.call()},extendPrototype(ShapeInterface,CVShapeElement),createElement(CVBaseElement,CVSolidElement),CVSolidElement.prototype.renderFrame=function(t){if(this.parent.renderFrame.call(this,t)!==!1){var e=this.canvasContext;this.globalData.renderer.save();var s=this.finalTransform.mat.props;this.globalData.renderer.ctxTransform(s),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.fillStyle=this.data.sc,e.fillRect(0,0,this.data.sw,this.data.sh),this.globalData.renderer.restore(this.data.hasMask),this.firstFrame&&(this.firstFrame=!1)}},createElement(CVBaseElement,CVTextElement),CVTextElement.prototype.init=ITextElement.prototype.init,CVTextElement.prototype.getMeasures=ITextElement.prototype.getMeasures,CVTextElement.prototype.getMult=ITextElement.prototype.getMult,CVTextElement.prototype.tHelper=document.createElement("canvas").getContext("2d"),CVTextElement.prototype.createElements=function(){this.parent.createElements.call(this);var t=this.data.t.d,e=!1;t.fc?(e=!0,this.values.fill="rgb("+t.fc[0]+","+t.fc[1]+","+t.fc[2]+")"):this.values.fill="rgba(0,0,0,0)",this.fill=e;var s=!1;t.sc&&(s=!0,this.values.stroke="rgb("+t.sc[0]+","+t.sc[1]+","+t.sc[2]+")",this.values.sWidth=t.sw);var i,a,r=this.globalData.fontManager.getFontByName(t.f),n=t.l,o=this.mHelper;this.stroke=s,this.values.fValue=t.s+"px "+this.globalData.fontManager.getFontByName(t.f).fFamily,a=t.t.length,this.tHelper.font=this.values.fValue;var h,l,p,m,f,d,c,u,y,v,g=this.data.singleShape;if(g)var b=0,E=0,P=t.lineWidths,k=t.boxWidth,S=!0;for(i=0;a>i;i+=1){h=this.globalData.fontManager.getCharData(t.t.charAt(i),r.fStyle,this.globalData.fontManager.getFontByName(t.f).fFamily);var l;if(l=h?h.data:null,o.reset(),g&&n[i].n&&(b=0,E+=t.yOffset,E+=S?1:0,S=!1),l&&l.shapes){if(f=l.shapes[0].it,c=f.length,o.scale(t.s/100,t.s/100),g){switch(t.ps&&o.translate(t.ps[0],t.ps[1]+t.ascent,0),t.j){case 1:o.translate(t.justifyOffset+(k-P[n[i].line]),0,0);break;case 2:o.translate(t.justifyOffset+(k-P[n[i].line])/2,0,0)}o.translate(b,E,0)}for(y=new Array(c),d=0;c>d;d+=1){for(m=f[d].ks.k.i.length,u=f[d].ks.k,v=[],p=1;m>p;p+=1)1==p&&v.push(o.applyToX(u.v[0][0],u.v[0][1],0),o.applyToY(u.v[0][0],u.v[0][1],0)),v.push(o.applyToX(u.o[p-1][0],u.o[p-1][1],0),o.applyToY(u.o[p-1][0],u.o[p-1][1],0),o.applyToX(u.i[p][0],u.i[p][1],0),o.applyToY(u.i[p][0],u.i[p][1],0),o.applyToX(u.v[p][0],u.v[p][1],0),o.applyToY(u.v[p][0],u.v[p][1],0));v.push(o.applyToX(u.o[p-1][0],u.o[p-1][1],0),o.applyToY(u.o[p-1][0],u.o[p-1][1],0),o.applyToX(u.i[0][0],u.i[0][1],0),o.applyToY(u.i[0][0],u.i[0][1],0),o.applyToX(u.v[0][0],u.v[0][1],0),o.applyToY(u.v[0][0],u.v[0][1],0)),y[d]=v}}else y=[];g&&(b+=n[i].l),this.textSpans.push({elem:y})}},CVTextElement.prototype.renderFrame=function(t){if(this.parent.renderFrame.call(this,t)!==!1){var e=this.canvasContext,s=this.finalTransform.mat.props;this.globalData.renderer.save(),this.globalData.renderer.ctxTransform(s),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.font=this.values.fValue,e.lineCap="butt",e.lineJoin="miter",e.miterLimit=4,this.data.singleShape||this.getMeasures();var i,a,r,n,o,h,l=this.renderedLetters,p=this.data.t.d.l;a=p.length;var m,f,d,c=null,u=null,y=null;for(i=0;a>i;i+=1)if(!p[i].n){if(m=l[i],m&&(this.globalData.renderer.save(),this.globalData.renderer.ctxTransform(m.props),this.globalData.renderer.ctxOpacity(m.o)),this.fill){for(m&&m.fc?c!==m.fc&&(c=m.fc,e.fillStyle=m.fc):c!==this.values.fill&&(c=this.values.fill,e.fillStyle=this.values.fill),f=this.textSpans[i].elem,n=f.length,this.globalData.canvasContext.beginPath(),r=0;n>r;r+=1)for(d=f[r],h=d.length,this.globalData.canvasContext.moveTo(d[0],d[1]),o=2;h>o;o+=6)this.globalData.canvasContext.bezierCurveTo(d[o],d[o+1],d[o+2],d[o+3],d[o+4],d[o+5]);this.globalData.canvasContext.closePath(),this.globalData.canvasContext.fill()}if(this.stroke){for(m&&m.sw?y!==m.sw&&(y=m.sw,e.lineWidth=m.sw):y!==this.values.sWidth&&(y=this.values.sWidth,e.lineWidth=this.values.sWidth),m&&m.sc?u!==m.sc&&(u=m.sc,e.strokeStyle=m.sc):u!==this.values.stroke&&(u=this.values.stroke,e.strokeStyle=this.values.stroke),f=this.textSpans[i].elem,n=f.length,this.globalData.canvasContext.beginPath(),r=0;n>r;r+=1)for(d=f[r],h=d.length,this.globalData.canvasContext.moveTo(d[0],d[1]),o=2;h>o;o+=6)this.globalData.canvasContext.bezierCurveTo(d[o],d[o+1],d[o+2],d[o+3],d[o+4],d[o+5]);this.globalData.canvasContext.closePath(),this.globalData.canvasContext.stroke()}m&&this.globalData.renderer.restore()}this.globalData.renderer.restore(this.data.hasMask),this.firstFrame&&(this.firstFrame=!1)}},createElement(BaseElement,HBaseElement),HBaseElement.prototype.appendNodeToParent=function(t){if(this.placeholder){var e=this.placeholder.phElement;e.parentNode.insertBefore(t,e)}else this.parentContainer.appendChild(t)},HBaseElement.prototype.createElements=function(){this.data.hasMask?(this.layerElement=document.createElementNS(svgNS,"svg"),this.appendNodeToParent(this.layerElement),this.maskedElement=this.layerElement):this.layerElement=this.parentContainer,!this.data.ln||4!==this.data.ty&&0!==this.data.ty||(this.layerElement===this.parentContainer&&(this.layerElement=document.createElementNS(svgNS,"g"),this.appendNodeToParent(this.layerElement)),this.layerElement.setAttribute("id",this.data.ln)),this.layerElement!==this.parentContainer&&(this.placeholder=null)},HBaseElement.prototype.renderFrame=function(t){if(3===this.data.ty)return!1;if(this.currentFrameNum===this.lastNum||!this.isVisible)return this.isVisible;this.lastNum=this.currentFrameNum,this.data.hasMask&&this.maskManager.renderFrame(),this.finalTransform.opMdf=this.finalTransform.op.mdf,this.finalTransform.matMdf=this.finalTransform.mProp.mdf,this.finalTransform.opacity=this.finalTransform.op.v,this.firstFrame&&(this.finalTransform.opMdf=!0,this.finalTransform.matMdf=!0);var e,s=this.finalTransform.mat;if(this.hierarchy){var i,a=this.hierarchy.length;for(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e),i=0;a>i;i+=1)this.finalTransform.matMdf=this.hierarchy[i].finalTransform.mProp.mdf?!0:this.finalTransform.matMdf,e=this.hierarchy[i].finalTransform.mProp.v.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}else this.isVisible&&this.finalTransform.matMdf&&(t?(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e)):s.cloneFromProps(this.finalTransform.mProp.v.props));return t&&(e=t.mat.props,s.cloneFromProps(e),this.finalTransform.opacity*=t.opacity,this.finalTransform.opMdf=t.opMdf?!0:this.finalTransform.opMdf,this.finalTransform.matMdf=t.matMdf?!0:this.finalTransform.matMdf),this.finalTransform.matMdf&&(this.layerElement.style.transform=this.layerElement.style.webkitTransform=s.toCSS()),this.finalTransform.opMdf&&(this.layerElement.style.opacity=this.finalTransform.opacity),this.isVisible},HBaseElement.prototype.destroy=function(){this.layerElement=null,this.parentContainer=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},HBaseElement.prototype.getDomElement=function(){return this.layerElement},HBaseElement.prototype.addMasks=function(t){this.maskManager=new MaskElement(t,this,this.globalData)},HBaseElement.prototype.hide=function(){},HBaseElement.prototype.setMatte=function(){},createElement(HBaseElement,HSolidElement),HSolidElement.prototype.createElements=function(){var t=document.createElement("div");styleDiv(t);var e=document.createElementNS(svgNS,"svg");e.setAttribute("width",this.data.sw),e.setAttribute("height",this.data.sh),t.appendChild(e),this.layerElement=t,this.parentContainer.appendChild(t),this.innerElem=t,this.data.ln&&this.innerElem.setAttribute("id",this.data.ln);var s=document.createElementNS(svgNS,"rect");s.setAttribute("width",this.data.sw),s.setAttribute("height",this.data.sh),s.setAttribute("fill",this.data.sc),e.appendChild(s),this.data.hasMask&&(this.maskedElement=s)},HSolidElement.prototype.hide=function(){this.hidden||(this.innerElem.style.display="none",this.hidden=!0)},HSolidElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden&&(this.hidden=!1,this.innerElem.style.display="block"),void(this.firstFrame&&(this.firstFrame=!1)))},HSolidElement.prototype.destroy=function(){this.parent.destroy.call(),this.innerElem=null},createElement(HBaseElement,HCompElement),extendPrototype(ExpressionComp,HCompElement),HCompElement.prototype.getDomElement=function(){return this.composingElement},HCompElement.prototype.getComposingElement=function(){return this.layerElement},HCompElement.prototype.createElements=function(){if(this.layerElement=document.createElement("div"),styleDiv(this.layerElement),this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.layerElement.style.clip="rect(0px, "+this.data.w+"px, "+this.data.h+"px, 0px)",this.layerElement!==this.parentContainer&&(this.placeholder=null),this.data.hasMask){var t=document.createElementNS(svgNS,"svg");t.setAttribute("width",this.data.w),t.setAttribute("height",this.data.h);var e=document.createElementNS(svgNS,"g");t.appendChild(e),this.layerElement.appendChild(t),this.maskedElement=e,this.composingElement=e}else this.composingElement=this.layerElement;this.appendNodeToParent(this.layerElement)},HCompElement.prototype.hide=ICompElement.prototype.hide,HCompElement.prototype.prepareFrame=ICompElement.prototype.prepareFrame,HCompElement.prototype.setElements=ICompElement.prototype.setElements,HCompElement.prototype.getElements=ICompElement.prototype.getElements,HCompElement.prototype.destroy=ICompElement.prototype.destroy,HCompElement.prototype.renderFrame=function(t){var e,s=this.parent.renderFrame.call(this,t),i=this.layers.length;if(s===!1)return void this.hide();for(this.hidden=!1,e=0;i>e;e+=1)this.elements[e].renderFrame();this.firstFrame&&(this.firstFrame=!1)},createElement(HBaseElement,HShapeElement);var parent=HShapeElement.prototype.parent;extendPrototype(IShapeElement,HShapeElement),HShapeElement.prototype.parent=parent,HShapeElement.prototype.createElements=function(){var t=document.createElement("div");styleDiv(t);var e=document.createElementNS(svgNS,"svg");if(999999===this.data.bounds.l,e.setAttribute("width",this.data.bounds.r-this.data.bounds.l),e.setAttribute("height",this.data.bounds.b-this.data.bounds.t),e.setAttribute("viewBox",this.data.bounds.l+" "+this.data.bounds.t+" "+(this.data.bounds.r-this.data.bounds.l)+" "+(this.data.bounds.b-this.data.bounds.t)),e.style.transform=e.style.webkitTransform="translate("+this.data.bounds.l+"px,"+this.data.bounds.t+"px)",this.data.hasMask){var s=document.createElementNS(svgNS,"g");t.appendChild(e),e.appendChild(s),this.maskedElement=s,this.layerElement=s,this.shapesContainer=s}else t.appendChild(e),this.layerElement=e,this.shapesContainer=document.createElementNS(svgNS,"g"),this.layerElement.appendChild(this.shapesContainer);this.parentContainer.appendChild(t),this.innerElem=t,this.data.ln&&this.innerElem.setAttribute("id",this.data.ln),this.searchShapes(this.shapesData,this.viewData,this.dynamicProperties,[]),this.buildExpressionInterface(),this.layerElement=t},HShapeElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden=!1,this.transformHelper.opacity=this.finalTransform.opacity,this.transformHelper.matMdf=!1,this.transformHelper.opMdf=this.finalTransform.opMdf,void this.renderShape(this.transformHelper,null,null,!0))},createElement(HBaseElement,HTextElement),HTextElement.prototype.init=ITextElement.prototype.init,HTextElement.prototype.getMeasures=ITextElement.prototype.getMeasures,HTextElement.prototype.createPathShape=ITextElement.prototype.createPathShape,HTextElement.prototype.createElements=function(){this.isMasked=this.checkMasks();var t=this.data.t.d,e=document.createElement("div");if(styleDiv(e),this.layerElement=e,this.isMasked){this.renderType="svg";var s=document.createElementNS(svgNS,"svg");this.cont=s,this.compW=this.comp.data?this.comp.data.w:this.globalData.compSize.w,this.compH=this.comp.data?this.comp.data.h:this.globalData.compSize.h,s.setAttribute("width",this.compW),s.setAttribute("height",this.compH);var i=document.createElementNS(svgNS,"g");s.appendChild(i),e.appendChild(s),this.maskedElement=i,this.innerElem=i}else this.renderType="html",this.innerElem=e;this.parentContainer.appendChild(e),this.innerElem.style.color=this.innerElem.style.fill=t.fc?"rgb("+t.fc[0]+","+t.fc[1]+","+t.fc[2]+")":"rgba(0,0,0,0)",t.sc&&(this.innerElem.style.stroke="rgb("+t.sc[0]+","+t.sc[1]+","+t.sc[2]+")",this.innerElem.style.strokeWidth=t.sw+"px");var a=this.globalData.fontManager.getFontByName(t.f);if(!this.globalData.fontManager.chars)if(this.innerElem.style.fontSize=t.s+"px",this.innerElem.style.lineHeight=t.s+"px",a.fClass)this.innerElem.className=a.fClass;else{this.innerElem.style.fontFamily=a.fFamily;var r=t.fWeight,n=t.fStyle;this.innerElem.style.fontStyle=n,this.innerElem.style.fontWeight=r}var o,h,l=t.l;h=l.length;var p,m,f,d,c=this.mHelper,u="";for(o=0;h>o;o+=1){if(this.globalData.fontManager.chars?(p=document.createElementNS(svgNS,"path"),this.isMasked||(m=document.createElement("div"),f=document.createElementNS(svgNS,"svg"),m.appendChild(f),f.appendChild(p),styleDiv(m)),p.setAttribute("stroke-linecap","butt"),p.setAttribute("stroke-linejoin","round"),p.setAttribute("stroke-miterlimit","4")):this.isMasked?p=document.createElementNS(svgNS,"text"):(m=document.createElement("span"),styleDiv(m),p=document.createElement("span"),styleDiv(p),m.appendChild(p)),this.globalData.fontManager.chars){var y,v=this.globalData.fontManager.getCharData(t.t.charAt(o),a.fStyle,this.globalData.fontManager.getFontByName(t.f).fFamily);if(y=v?v.data:null,c.reset(),y&&y.shapes&&(d=y.shapes[0].it,c.scale(t.s/100,t.s/100),u=this.createPathShape(c,d),p.setAttribute("d",u)),this.isMasked)this.innerElem.appendChild(p);else{this.innerElem.appendChild(m);var g=t.s/100;if(y&&y.shapes){var b=Math.ceil(y.bounds.r*g),E=Math.floor(y.bounds.t*g),P=Math.floor(y.bounds.l*g),k=Math.ceil(y.bounds.b*g);f.setAttribute("width",b-P),f.setAttribute("height",k-E),f.setAttribute("viewBox",P+" "+E+" "+(b-P)+" "+(k-E)),f.style.transform=f.style.webkitTransform="translate("+P+"px,"+E+"px)",l[o].yOffset=E}else f.setAttribute("width",1),f.setAttribute("height",1)}}else p.textContent=l[o].val,p.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),this.isMasked?this.innerElem.appendChild(p):(this.innerElem.appendChild(m),p.style.transform=p.style.webkitTransform="translate3d(0,"+-t.s/1.2+"px,0)");this.textSpans.push(this.isMasked?p:m),this.textPaths.push(p)}},HTextElement.prototype.hide=SVGTextElement.prototype.hide,HTextElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);if(e===!1)return void this.hide();if(this.hidden&&(this.hidden=!1,this.innerElem.style.display="block"),this.data.singleShape){if(!this.firstFrame)return;this.isMasked&&this.finalTransform.matMdf&&(this.cont.setAttribute("viewBox",-this.finalTransform.mProp.p.v[0]+" "+-this.finalTransform.mProp.p.v[1]+" "+this.compW+" "+this.compH),this.cont.style.transform=this.cont.style.webkitTransform="translate("+-this.finalTransform.mProp.p.v[0]+"px,"+-this.finalTransform.mProp.p.v[1]+"px)")}if(this.getMeasures(),this.lettersChangedFlag){var s,i,a=this.renderedLetters,r=this.data.t.d.l;i=r.length;var n;for(s=0;i>s;s+=1)r[s].n||(n=a[s],this.isMasked?this.textSpans[s].setAttribute("transform",n.m):this.textSpans[s].style.transform=this.textSpans[s].style.webkitTransform=n.m,this.textSpans[s].style.opacity=n.o,n.sw&&this.textPaths[s].setAttribute("stroke-width",n.sw),n.sc&&this.textPaths[s].setAttribute("stroke",n.sc),n.fc&&(this.textPaths[s].setAttribute("fill",n.fc),this.textPaths[s].style.color=n.fc));if(this.isMasked){var o=this.innerElem.getBBox();this.currentBBox.w!==o.width&&(this.currentBBox.w=o.width,this.cont.setAttribute("width",o.width)),this.currentBBox.h!==o.height&&(this.currentBBox.h=o.height,this.cont.setAttribute("height",o.height)),(this.currentBBox.w!==o.width||this.currentBBox.h!==o.height||this.currentBBox.x!==o.x||this.currentBBox.y!==o.y)&&(this.currentBBox.w=o.width,this.currentBBox.h=o.height,this.currentBBox.x=o.x,this.currentBBox.y=o.y,this.cont.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h),this.cont.style.transform=this.cont.style.webkitTransform="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)")}this.firstFrame&&(this.firstFrame=!1)}},HTextElement.prototype.destroy=SVGTextElement.prototype.destroy,createElement(HBaseElement,HImageElement),HImageElement.prototype.createElements=function(){var t,e=function(){this.imageElem.setAttributeNS("http://www.w3.org/1999/xlink","href",this.path+this.assetData.p)},s=new Image;if(this.data.hasMask){var t=document.createElement("div");styleDiv(t);var i=document.createElementNS(svgNS,"svg");i.setAttribute("width",this.assetData.w),i.setAttribute("height",this.assetData.h),t.appendChild(i),this.imageElem=document.createElementNS(svgNS,"image"),this.imageElem.setAttribute("width",this.assetData.w+"px"),this.imageElem.setAttribute("height",this.assetData.h+"px"),i.appendChild(this.imageElem),this.layerElement=t,this.parentContainer.appendChild(t),this.innerElem=t,this.maskedElement=this.imageElem,s.addEventListener("load",e.bind(this),!1),s.addEventListener("error",e.bind(this),!1)}else styleDiv(s),this.layerElement=s,this.parentContainer.appendChild(s),this.innerElem=s;s.src=this.path+this.assetData.p,this.data.ln&&this.innerElem.setAttribute("id",this.data.ln)},HImageElement.prototype.hide=HSolidElement.prototype.hide,HImageElement.prototype.renderFrame=HSolidElement.prototype.renderFrame,HImageElement.prototype.destroy=HSolidElement.prototype.destroy,createElement(HBaseElement,HCameraElement),HCameraElement.prototype.setup=function(){var t,e,s=this.comp.threeDElements.length;for(t=0;s>t;t+=1)e=this.comp.threeDElements[t],e[0].style.perspective=e[0].style.webkitPerspective=this.pe.v+"px",e[1].style.transformOrigin=e[1].style.mozTransformOrigin=e[1].style.webkitTransformOrigin="0px 0px 0px",e[0].style.transform=e[0].style.webkitTransform="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)"},HCameraElement.prototype.createElements=function(){},HCameraElement.prototype.hide=function(){},HCameraElement.prototype.renderFrame=function(){var t,e,s=this.firstFrame;if(this.hierarchy)for(e=this.hierarchy.length,t=0;e>t;t+=1)s=this.hierarchy[t].finalTransform.mProp.mdf?!0:s;if(s||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){if(this.mat.reset(),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){var i=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]],a=Math.sqrt(Math.pow(i[0],2)+Math.pow(i[1],2)+Math.pow(i[2],2)),r=[i[0]/a,i[1]/a,i[2]/a],n=Math.sqrt(r[2]*r[2]+r[0]*r[0]),o=Math.atan2(r[1],n),h=Math.atan2(r[0],-r[2]);this.mat.rotateY(h).rotateX(-o)}if(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),this.hierarchy){var l;for(e=this.hierarchy.length,t=0;e>t;t+=1)l=this.hierarchy[t].finalTransform.mProp.iv.props,this.mat.transform(l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9],l[10],l[11],-l[12],-l[13],l[14],l[15])}e=this.comp.threeDElements.length;var p;for(t=0;e>t;t+=1)p=this.comp.threeDElements[t],p[1].style.transform=p[1].style.webkitTransform=this.mat.toCSS()}this.firstFrame=!1},HCameraElement.prototype.destroy=function(){};var animationManager=function(){function t(e){var s=0,i=e.target;for(i.removeEventListener("destroy",t);P>s;)g[s].animation===i&&(g.splice(s,1),s-=1,P-=1),s+=1}function e(e,s){if(!e)return null;for(var i=0;P>i;){if(g[i].elem==e&&null!==g[i].elem)return g[i].animation;i+=1}var a=new AnimationItem;return a.setData(e,s),a.addEventListener("destroy",t),g.push({elem:e,animation:a}),P+=1,a}function s(e){var s=new AnimationItem;return s.setParams(e),s.addEventListener("destroy",t),g.push({elem:null,animation:s}),P+=1,s}function i(t,e){var s;for(s=0;P>s;s+=1)g[s].animation.setSpeed(t,e)}function a(t,e){var s;for(s=0;P>s;s+=1)g[s].animation.setDirection(t,e)}function r(t){var e;for(e=0;P>e;e+=1)g[e].animation.play(t)}function n(t,e){E=!1,b=Date.now();var s;for(s=0;P>s;s+=1)g[s].animation.moveFrame(t,e)}function o(t){var e,s=t-b;for(e=0;P>e;e+=1)g[e].animation.advanceTime(s);b=t,requestAnimationFrame(o)}function h(t){b=t,requestAnimationFrame(o)}function l(t){var e;for(e=0;P>e;e+=1)g[e].animation.pause(t)}function p(t,e,s){var i;for(i=0;P>i;i+=1)g[i].animation.goToAndStop(t,e,s)}function m(t){var e;for(e=0;P>e;e+=1)g[e].animation.stop(t)}function f(t){var e;for(e=0;P>e;e+=1)g[e].animation.togglePause(t)}function d(t){var e;for(e=0;P>e;e+=1)g[e].animation.destroy(t)}function c(t,s,i){var a,r=document.getElementsByClassName("bodymovin"),n=r.length;for(a=0;n>a;a+=1)i&&r[a].setAttribute("data-bm-type",i),e(r[a],t);if(s&&0===n){i||(i="svg");var o=document.getElementsByTagName("body")[0];o.innerHTML="";var h=document.createElement("div");h.style.width="100%",h.style.height="100%",h.setAttribute("data-bm-type",i),o.appendChild(h),e(h,t)}}function u(){var t;for(t=0;P>t;t+=1)g[t].animation.resize()}function y(){requestAnimationFrame(h)}var v={},g=[],b=0,E=!0,P=0;return setTimeout(y,0),v.registerAnimation=e,v.loadAnimation=s,v.setSpeed=i,v.setDirection=a,v.play=r,v.moveFrame=n,v.pause=l,v.stop=m,v.togglePause=f,v.searchAnimations=c,v.resize=u,v.start=y,v.goToAndStop=p,v.destroy=d,v}(),AnimationItem=function(){this._cbs=[],this.name="",this.path="",this.isLoaded=!1,this.currentFrame=0,this.currentRawFrame=0,this.totalFrames=0,this.frameRate=0,this.frameMult=0,this.playSpeed=1,this.playDirection=1,this.pendingElements=0,this.playCount=0,this.prerenderFramesFlag=!0,this.repeat="indefinite",this.animationData={},this.layers=[],this.assets=[],this.isPaused=!0,this.isScrolling=!1,this.autoplay=!1,this.loop=!0,this.renderer=null,this.animationID=randomString(10),this.renderedFrameCount=0,this.scaleMode="fit",this.math=Math,this.removed=!1,this.timeCompleted=0,this.segmentPos=0,this.segments=[]};AnimationItem.prototype.setParams=function(t){var e=this;t.context&&(this.context=t.context),(t.wrapper||t.container)&&(this.wrapper=t.wrapper||t.container);var s=t.animType?t.animType:t.renderer?t.renderer:"canvas";switch(s){case"canvas":this.renderer=new CanvasRenderer(this,t.rendererSettings);break;case"svg":this.renderer=new SVGRenderer(this,t.rendererSettings);break;case"hybrid":case"html":default:this.renderer=new HybridRenderer(this,t.rendererSettings)}if(this.animType=s,""===t.loop||null===t.loop||(this.loop=t.loop===!1?!1:t.loop===!0?!0:parseInt(t.loop)),this.autoplay="autoplay"in t?t.autoplay:!0,this.name=t.name?t.name:"",this.prerenderFramesFlag="prerender"in t?t.prerender:!0,this.autoloadSegments=t.hasOwnProperty("autoloadSegments")?t.autoloadSegments:!0,t.animationData)e.configAnimation(t.animationData);else if(t.path){"json"!=t.path.substr(-4)&&("/"!=t.path.substr(-1,1)&&(t.path+="/"),t.path+="data.json");var i=new XMLHttpRequest;this.path=-1!=t.path.lastIndexOf("\\")?t.path.substr(0,t.path.lastIndexOf("\\")+1):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")),i.open("GET",t.path,!0),i.send(),i.onreadystatechange=function(){if(4==i.readyState)if(200==i.status)e.configAnimation(JSON.parse(i.responseText));else try{var t=JSON.parse(i.responseText);e.configAnimation(t)}catch(s){}}}},AnimationItem.prototype.setData=function(t,e){var s={wrapper:t,animationData:e?"object"==typeof e?e:JSON.parse(e):null},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:"";""===a||(s.loop="false"===a?!1:"true"===a?!0:parseInt(a)),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:"";var r=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:"";
 
-"false"===r&&(s.prerender=!1),this.setParams(s)},AnimationItem.prototype.includeLayers=function(t){t.op>this.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip),this.animationData.tf=this.totalFrames);var e,s,i=this.animationData.layers,a=i.length,r=t.layers,n=r.length;for(s=0;n>s;s+=1)for(e=0;a>e;){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;a>e;e+=1)this.animationData.assets.push(t.assets[e]);dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.includeLayers(t.layers),this.renderer.buildStage(this.container,this.layers),this.renderer.renderFrame(null),this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var t=this.animationData.segments;if(!t||0===t.length||!this.autoloadSegments)return this.trigger("data_ready"),void(this.timeCompleted=this.animationData.tf);var e=t.shift();this.timeCompleted=e.time*this.frameRate;var s=new XMLHttpRequest,i=this,a=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,s.open("GET",a,!0),s.send(),s.onreadystatechange=function(){if(4==s.readyState)if(200==s.status)i.includeLayers(JSON.parse(s.responseText));else try{var t=JSON.parse(s.responseText);i.includeLayers(t)}catch(e){}}},AnimationItem.prototype.loadSegments=function(){var t=this.animationData.segments;t||(this.timeCompleted=this.animationData.tf),this.loadNextSegment()},AnimationItem.prototype.configAnimation=function(t){this.animationData=t,this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.animationData.tf=this.totalFrames,this.renderer.configAnimation(t),t.assets||(t.assets=[]),t.comps&&(t.assets=t.assets.concat(t.comps),t.comps=null),this.animationData._id=this.animationID,this.animationData._animType=this.animType,this.layers=this.animationData.layers,this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.firstFrame=Math.round(this.animationData.ip),this.frameMult=this.animationData.fr/1e3,this.trigger("config_ready"),this.loadSegments(),this.updaFrameModifier(),this.renderer.globalData.fontManager?this.waitForFontsLoaded():(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.checkLoaded())},AnimationItem.prototype.waitForFontsLoaded=function(){function t(){this.renderer.globalData.fontManager.loaded?(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.buildItems(this.animationData.layers),this.checkLoaded()):setTimeout(t.bind(this),20)}return function(){t.bind(this)()}}(),AnimationItem.prototype.elementLoaded=function(){this.pendingElements--,this.checkLoaded()},AnimationItem.prototype.checkLoaded=function(){0===this.pendingElements&&(this.renderer.buildStage(this.container,this.layers),this.trigger("DOMLoaded"),this.isLoaded=!0,this.gotoFrame(),this.autoplay&&this.play())},AnimationItem.prototype.resize=function(){this.renderer.updateContainerSize()},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=subframeEnabled?this.currentRawFrame:this.math.floor(this.currentRawFrame),this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame()},AnimationItem.prototype.renderFrame=function(){this.isLoaded!==!1&&this.renderer.renderFrame(this.currentFrame+this.firstFrame)},AnimationItem.prototype.play=function(t){t&&this.name!=t||this.isPaused===!0&&(this.isPaused=!1)},AnimationItem.prototype.pause=function(t){t&&this.name!=t||this.isPaused===!1&&(this.isPaused=!0)},AnimationItem.prototype.togglePause=function(t){t&&this.name!=t||(this.isPaused===!0?(this.isPaused=!1,this.play()):(this.isPaused=!0,this.pause()))},AnimationItem.prototype.stop=function(t){t&&this.name!=t||(this.isPaused=!0,this.currentFrame=this.currentRawFrame=0,this.playCount=0,this.gotoFrame())},AnimationItem.prototype.goToAndStop=function(t,e,s){s&&this.name!=s||(this.setCurrentRawFrameValue(e?t:t*this.frameModifier),this.isPaused=!0)},AnimationItem.prototype.advanceTime=function(t){this.isPaused!==!0&&this.isScrolling!==!0&&this.isLoaded!==!1&&this.setCurrentRawFrameValue(this.currentRawFrame+t*this.frameModifier)},AnimationItem.prototype.updateAnimation=function(t){this.setCurrentRawFrameValue(this.totalFrames*t)},AnimationItem.prototype.moveFrame=function(t,e){e&&this.name!=e||this.setCurrentRawFrameValue(this.currentRawFrame+t)},AnimationItem.prototype.adjustSegment=function(t){this.totalFrames=t[1]-t[0],this.firstFrame=t[0],this.trigger("segmentStart")},AnimationItem.prototype.playSegments=function(t,e){if("object"==typeof t[0]){var s,i=t.length;for(s=0;i>s;s+=1)this.segments.push(t[s])}else this.segments.push(t);e&&(this.adjustSegment(this.segments.shift()),this.setCurrentRawFrameValue(0)),this.isPaused&&this.play()},AnimationItem.prototype.resetSegments=function(t){this.segments.length=0,this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op-this.animationData.ip+this.animationData.ip*this.frameRate)]),t&&this.adjustSegment(this.segments.shift())},AnimationItem.prototype.remove=function(t){t&&this.name!=t||this.renderer.destroy()},AnimationItem.prototype.destroy=function(t){t&&this.name!=t||this.renderer&&this.renderer.destroyed||(this.renderer.destroy(),this.trigger("destroy"),this._cbs=null)},AnimationItem.prototype.setCurrentRawFrameValue=function(t){this.currentRawFrame=t;var e=!1;if(this.currentRawFrame>=this.totalFrames){if(this.segments.length&&(e=!0),this.loop===!1)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete");if(this.trigger("loopComplete"),this.playCount+=1,this.loop!==!0&&this.playCount==this.loop)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete")}else if(this.currentRawFrame<0)return this.playCount-=1,this.playCount<0&&(this.playCount=0),this.loop===!1?(this.currentRawFrame=0,this.gotoFrame(),this.pause(),void this.trigger("complete")):(this.trigger("loopComplete"),this.currentRawFrame=this.totalFrames+this.currentRawFrame,void this.gotoFrame());if(e){var s=this.currentRawFrame%this.totalFrames;this.adjustSegment(this.segments.shift()),this.currentRawFrame=s}else this.currentRawFrame=this.currentRawFrame%this.totalFrames;this.gotoFrame()},AnimationItem.prototype.setSpeed=function(t){this.playSpeed=t,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(t){this.playDirection=0>t?-1:1,this.updaFrameModifier()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetData=function(t){for(var e=0,s=this.assets.length;s>e;){if(t==this.assets[e].id)return this.assets[e];e+=1}},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getAssets=function(){return this.assets},AnimationItem.prototype.trigger=function(t){if(this._cbs[t])switch(t){case"enterFrame":this.triggerEvent(t,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult));break;case"loopComplete":this.triggerEvent(t,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(t,new BMCompleteEvent(t,this.frameMult));break;case"segmentStart":this.triggerEvent(t,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(t,new BMDestroyEvent(t,this));break;default:this.triggerEvent(t)}"enterFrame"===t&&this.onEnterFrame&&this.onEnterFrame.call(this,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult)),"loopComplete"===t&&this.onLoopComplete&&this.onLoopComplete.call(this,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult)),"complete"===t&&this.onComplete&&this.onComplete.call(this,new BMCompleteEvent(t,this.frameMult)),"segmentStart"===t&&this.onSegmentStart&&this.onSegmentStart.call(this,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames)),"destroy"===t&&this.onDestroy&&this.onDestroy.call(this,new BMDestroyEvent(t,this))},AnimationItem.prototype.addEventListener=_addEventListener,AnimationItem.prototype.removeEventListener=_removeEventListener,AnimationItem.prototype.triggerEvent=_triggerEvent;var bodymovinjs = {}; function play(animation){ animationManager.play(animation); } function pause(animation){ animationManager.pause(animation); } function togglePause(animation){ animationManager.togglePause(animation); } function setSpeed(value,animation){ animationManager.setSpeed(value, animation); } function setDirection(value,animation){ animationManager.setDirection(value, animation); } function stop(animation){ animationManager.stop(animation); } function moveFrame(value){ animationManager.moveFrame(value); } function searchAnimations(){ if(standalone === true){ animationManager.searchAnimations(animationData,standalone, renderer); }else{ animationManager.searchAnimations(); } } function registerAnimation(elem){ return animationManager.registerAnimation(elem); } function resize(){ animationManager.resize(); } function start(){ animationManager.start(); } function goToAndStop(val,isFrame, animation){ animationManager.goToAndStop(val,isFrame, animation); } function setSubframeRendering(flag){ subframeEnabled = flag; } function loadAnimation(params){ if(standalone === true){ params.animationData = JSON.parse(animationData); } return animationManager.loadAnimation(params); } function destroy(animation){ return animationManager.destroy(animation); } function setQuality(value){ if(typeof value === 'string'){ switch(value){ case 'high': defaultCurveSegments = 200; break; case 'medium': defaultCurveSegments = 50; break; case 'low': defaultCurveSegments = 10; break; } }else if(!isNaN(value) && value > 1){ defaultCurveSegments = value; } if(defaultCurveSegments >= 50){ roundValues(false); }else{ roundValues(true); } } bodymovinjs.play = play; bodymovinjs.pause = pause; bodymovinjs.togglePause = togglePause; bodymovinjs.setSpeed = setSpeed; bodymovinjs.setDirection = setDirection; bodymovinjs.stop = stop; bodymovinjs.moveFrame = moveFrame; bodymovinjs.searchAnimations = searchAnimations; bodymovinjs.registerAnimation = registerAnimation; bodymovinjs.loadAnimation = loadAnimation; bodymovinjs.setSubframeRendering = setSubframeRendering; bodymovinjs.resize = resize; bodymovinjs.start = start; bodymovinjs.goToAndStop = goToAndStop; bodymovinjs.destroy = destroy; bodymovinjs.setQuality = setQuality; bodymovinjs.version = '4.1.3'; function checkReady(){ if (document.readyState === "complete") { clearInterval(readyStateCheckInterval); searchAnimations(); } } function getQueryVariable(variable) { var vars = queryString.split('&'); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split('='); if (decodeURIComponent(pair[0]) == variable) { return decodeURIComponent(pair[1]); } } } var standalone = '__[STANDALONE]__'; var animationData = '__[ANIMATIONDATA]__'; var renderer = ''; if(standalone) { var scripts = document.getElementsByTagName('script'); var index = scripts.length - 1; var myScript = scripts[index]; var queryString = myScript.src.replace(/^[^\?]+\??/,''); renderer = getQueryVariable('renderer'); } var readyStateCheckInterval = setInterval(checkReady, 100); return bodymovinjs; })); 
\ No newline at end of file
+"false"===r&&(s.prerender=!1),this.setParams(s)},AnimationItem.prototype.includeLayers=function(t){t.op>this.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip),this.animationData.tf=this.totalFrames);var e,s,i=this.animationData.layers,a=i.length,r=t.layers,n=r.length;for(s=0;n>s;s+=1)for(e=0;a>e;){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;a>e;e+=1)this.animationData.assets.push(t.assets[e]);dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.includeLayers(t.layers),this.renderer.buildStage(this.container,this.layers),this.renderer.renderFrame(null),this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var t=this.animationData.segments;if(!t||0===t.length||!this.autoloadSegments)return this.trigger("data_ready"),void(this.timeCompleted=this.animationData.tf);var e=t.shift();this.timeCompleted=e.time*this.frameRate;var s=new XMLHttpRequest,i=this,a=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,s.open("GET",a,!0),s.send(),s.onreadystatechange=function(){if(4==s.readyState)if(200==s.status)i.includeLayers(JSON.parse(s.responseText));else try{var t=JSON.parse(s.responseText);i.includeLayers(t)}catch(e){}}},AnimationItem.prototype.loadSegments=function(){var t=this.animationData.segments;t||(this.timeCompleted=this.animationData.tf),this.loadNextSegment()},AnimationItem.prototype.configAnimation=function(t){this.animationData=t,this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.animationData.tf=this.totalFrames,this.renderer.configAnimation(t),t.assets||(t.assets=[]),t.comps&&(t.assets=t.assets.concat(t.comps),t.comps=null),this.animationData._id=this.animationID,this.animationData._animType=this.animType,this.layers=this.animationData.layers,this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.firstFrame=Math.round(this.animationData.ip),this.frameMult=this.animationData.fr/1e3,this.trigger("config_ready"),this.loadSegments(),this.updaFrameModifier(),this.renderer.globalData.fontManager?this.waitForFontsLoaded():(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.checkLoaded())},AnimationItem.prototype.waitForFontsLoaded=function(){function t(){this.renderer.globalData.fontManager.loaded?(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.buildItems(this.animationData.layers),this.checkLoaded()):setTimeout(t.bind(this),20)}return function(){t.bind(this)()}}(),AnimationItem.prototype.elementLoaded=function(){this.pendingElements--,this.checkLoaded()},AnimationItem.prototype.checkLoaded=function(){0===this.pendingElements&&(this.renderer.buildStage(this.container,this.layers),this.trigger("DOMLoaded"),this.isLoaded=!0,this.gotoFrame(),this.autoplay&&this.play())},AnimationItem.prototype.resize=function(){this.renderer.updateContainerSize()},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=subframeEnabled?this.currentRawFrame:this.math.floor(this.currentRawFrame),this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame()},AnimationItem.prototype.renderFrame=function(){this.isLoaded!==!1&&this.renderer.renderFrame(this.currentFrame+this.firstFrame)},AnimationItem.prototype.play=function(t){t&&this.name!=t||this.isPaused===!0&&(this.isPaused=!1)},AnimationItem.prototype.pause=function(t){t&&this.name!=t||this.isPaused===!1&&(this.isPaused=!0)},AnimationItem.prototype.togglePause=function(t){t&&this.name!=t||(this.isPaused===!0?(this.isPaused=!1,this.play()):(this.isPaused=!0,this.pause()))},AnimationItem.prototype.stop=function(t){t&&this.name!=t||(this.isPaused=!0,this.currentFrame=this.currentRawFrame=0,this.playCount=0,this.gotoFrame())},AnimationItem.prototype.goToAndStop=function(t,e,s){s&&this.name!=s||(this.setCurrentRawFrameValue(e?t:t*this.frameModifier),this.isPaused=!0)},AnimationItem.prototype.advanceTime=function(t){this.isPaused!==!0&&this.isScrolling!==!0&&this.isLoaded!==!1&&this.setCurrentRawFrameValue(this.currentRawFrame+t*this.frameModifier)},AnimationItem.prototype.updateAnimation=function(t){this.setCurrentRawFrameValue(this.totalFrames*t)},AnimationItem.prototype.moveFrame=function(t,e){e&&this.name!=e||this.setCurrentRawFrameValue(this.currentRawFrame+t)},AnimationItem.prototype.adjustSegment=function(t){this.totalFrames=t[1]-t[0],this.firstFrame=t[0],this.trigger("segmentStart")},AnimationItem.prototype.playSegments=function(t,e){if("object"==typeof t[0]){var s,i=t.length;for(s=0;i>s;s+=1)this.segments.push(t[s])}else this.segments.push(t);e&&(this.adjustSegment(this.segments.shift()),this.setCurrentRawFrameValue(0)),this.isPaused&&this.play()},AnimationItem.prototype.resetSegments=function(t){this.segments.length=0,this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op-this.animationData.ip+this.animationData.ip*this.frameRate)]),t&&this.adjustSegment(this.segments.shift())},AnimationItem.prototype.remove=function(t){t&&this.name!=t||this.renderer.destroy()},AnimationItem.prototype.destroy=function(t){t&&this.name!=t||this.renderer&&this.renderer.destroyed||(this.renderer.destroy(),this.trigger("destroy"),this._cbs=null)},AnimationItem.prototype.setCurrentRawFrameValue=function(t){this.currentRawFrame=t;var e=!1;if(this.currentRawFrame>=this.totalFrames){if(this.segments.length&&(e=!0),this.loop===!1)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete");if(this.trigger("loopComplete"),this.playCount+=1,this.loop!==!0&&this.playCount==this.loop)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete")}else if(this.currentRawFrame<0)return this.playCount-=1,this.playCount<0&&(this.playCount=0),this.loop===!1?(this.currentRawFrame=0,this.gotoFrame(),this.pause(),void this.trigger("complete")):(this.trigger("loopComplete"),this.currentRawFrame=this.totalFrames+this.currentRawFrame,void this.gotoFrame());if(e){var s=this.currentRawFrame%this.totalFrames;this.adjustSegment(this.segments.shift()),this.currentRawFrame=s}else this.currentRawFrame=this.currentRawFrame%this.totalFrames;this.gotoFrame()},AnimationItem.prototype.setSpeed=function(t){this.playSpeed=t,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(t){this.playDirection=0>t?-1:1,this.updaFrameModifier()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetData=function(t){for(var e=0,s=this.assets.length;s>e;){if(t==this.assets[e].id)return this.assets[e];e+=1}},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getAssets=function(){return this.assets},AnimationItem.prototype.trigger=function(t){if(this._cbs[t])switch(t){case"enterFrame":this.triggerEvent(t,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult));break;case"loopComplete":this.triggerEvent(t,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(t,new BMCompleteEvent(t,this.frameMult));break;case"segmentStart":this.triggerEvent(t,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(t,new BMDestroyEvent(t,this));break;default:this.triggerEvent(t)}"enterFrame"===t&&this.onEnterFrame&&this.onEnterFrame.call(this,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult)),"loopComplete"===t&&this.onLoopComplete&&this.onLoopComplete.call(this,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult)),"complete"===t&&this.onComplete&&this.onComplete.call(this,new BMCompleteEvent(t,this.frameMult)),"segmentStart"===t&&this.onSegmentStart&&this.onSegmentStart.call(this,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames)),"destroy"===t&&this.onDestroy&&this.onDestroy.call(this,new BMDestroyEvent(t,this))},AnimationItem.prototype.addEventListener=_addEventListener,AnimationItem.prototype.removeEventListener=_removeEventListener,AnimationItem.prototype.triggerEvent=_triggerEvent;var bodymovinjs = {}; function play(animation){ animationManager.play(animation); } function pause(animation){ animationManager.pause(animation); } function togglePause(animation){ animationManager.togglePause(animation); } function setSpeed(value,animation){ animationManager.setSpeed(value, animation); } function setDirection(value,animation){ animationManager.setDirection(value, animation); } function stop(animation){ animationManager.stop(animation); } function moveFrame(value){ animationManager.moveFrame(value); } function searchAnimations(){ if(standalone === true){ animationManager.searchAnimations(animationData,standalone, renderer); }else{ animationManager.searchAnimations(); } } function registerAnimation(elem){ return animationManager.registerAnimation(elem); } function resize(){ animationManager.resize(); } function start(){ animationManager.start(); } function goToAndStop(val,isFrame, animation){ animationManager.goToAndStop(val,isFrame, animation); } function setSubframeRendering(flag){ subframeEnabled = flag; } function loadAnimation(params){ if(standalone === true){ params.animationData = JSON.parse(animationData); } return animationManager.loadAnimation(params); } function destroy(animation){ return animationManager.destroy(animation); } function setQuality(value){ if(typeof value === 'string'){ switch(value){ case 'high': defaultCurveSegments = 200; break; case 'medium': defaultCurveSegments = 50; break; case 'low': defaultCurveSegments = 10; break; } }else if(!isNaN(value) && value > 1){ defaultCurveSegments = value; } if(defaultCurveSegments >= 50){ roundValues(false); }else{ roundValues(true); } } bodymovinjs.play = play; bodymovinjs.pause = pause; bodymovinjs.togglePause = togglePause; bodymovinjs.setSpeed = setSpeed; bodymovinjs.setDirection = setDirection; bodymovinjs.stop = stop; bodymovinjs.moveFrame = moveFrame; bodymovinjs.searchAnimations = searchAnimations; bodymovinjs.registerAnimation = registerAnimation; bodymovinjs.loadAnimation = loadAnimation; bodymovinjs.setSubframeRendering = setSubframeRendering; bodymovinjs.resize = resize; bodymovinjs.start = start; bodymovinjs.goToAndStop = goToAndStop; bodymovinjs.destroy = destroy; bodymovinjs.setQuality = setQuality; bodymovinjs.version = '4.1.4'; function checkReady(){ if (document.readyState === "complete") { clearInterval(readyStateCheckInterval); searchAnimations(); } } function getQueryVariable(variable) { var vars = queryString.split('&'); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split('='); if (decodeURIComponent(pair[0]) == variable) { return decodeURIComponent(pair[1]); } } } var standalone = '__[STANDALONE]__'; var animationData = '__[ANIMATIONDATA]__'; var renderer = ''; if(standalone) { var scripts = document.getElementsByTagName('script'); var index = scripts.length - 1; var myScript = scripts[index]; var queryString = myScript.src.replace(/^[^\?]+\??/,''); renderer = getQueryVariable('renderer'); } var readyStateCheckInterval = setInterval(checkReady, 100); return bodymovinjs; })); 
\ No newline at end of file
diff --git a/extension/js/libs/bm.js b/extension/js/libs/bm.js
index 48849b6..0f0eea9 100644
--- a/extension/js/libs/bm.js
+++ b/extension/js/libs/bm.js
@@ -5,4 +5,4 @@
 else if(2==this.data.td){var t=document.createElementNS(svgNS,"mask");t.setAttribute("id",this.layerId),t.setAttribute("mask-type","alpha");var e=document.createElementNS(svgNS,"g");t.appendChild(e),this.layerElement=document.createElementNS(svgNS,"g");var s=document.createElementNS(svgNS,"filter"),i=randomString(10);s.setAttribute("id",i),s.setAttribute("filterUnits","objectBoundingBox"),s.setAttribute("x","0%"),s.setAttribute("y","0%"),s.setAttribute("width","100%"),s.setAttribute("height","100%");var a=document.createElementNS(svgNS,"feComponentTransfer");a.setAttribute("in","SourceGraphic"),s.appendChild(a);var r=document.createElementNS(svgNS,"feFuncA");r.setAttribute("type","table"),r.setAttribute("tableValues","1.0 0.0"),a.appendChild(r),this.globalData.defs.appendChild(s);var n=document.createElementNS(svgNS,"rect");n.setAttribute("width","100%"),n.setAttribute("height","100%"),n.setAttribute("x","0"),n.setAttribute("y","0"),n.setAttribute("fill","#ffffff"),n.setAttribute("opacity","0"),e.setAttribute("filter","url(#"+i+")"),e.appendChild(n),e.appendChild(this.layerElement),this.globalData.defs.appendChild(t)}else{this.layerElement=document.createElementNS(svgNS,"g");var o=document.createElementNS(svgNS,"mask");o.setAttribute("id",this.layerId),o.setAttribute("mask-type","alpha"),o.appendChild(this.layerElement),this.globalData.defs.appendChild(o)}this.data.hasMask&&(this.maskedElement=this.layerElement)}else this.data.hasMask?(this.layerElement=document.createElementNS(svgNS,"g"),this.data.tt?(this.matteElement=document.createElementNS(svgNS,"g"),this.matteElement.appendChild(this.layerElement),this.appendNodeToParent(this.matteElement)):this.appendNodeToParent(this.layerElement),this.maskedElement=this.layerElement):this.data.tt?(this.matteElement=document.createElementNS(svgNS,"g"),this.matteElement.setAttribute("id",this.layerId),this.appendNodeToParent(this.matteElement),this.layerElement=this.matteElement):this.layerElement=this.parentContainer;!this.data.ln||4!==this.data.ty&&0!==this.data.ty||(this.layerElement===this.parentContainer&&(this.layerElement=document.createElementNS(svgNS,"g"),this.appendNodeToParent(this.layerElement)),this.layerElement.setAttribute("id",this.data.ln)),0!==this.data.ty||!this.finalTransform.op.k&&1===this.finalTransform.op.p||this.layerElement!==this.parentContainer||(this.layerElement=document.createElementNS(svgNS,"g"),this.appendNodeToParent(this.layerElement)),this.layerElement!==this.parentContainer&&(this.placeholder=null)},SVGBaseElement.prototype.renderFrame=function(t){if(3===this.data.ty)return!1;if(this.currentFrameNum===this.lastNum||!this.isVisible)return this.isVisible;this.lastNum=this.currentFrameNum,this.data.hasMask&&this.maskManager.renderFrame(),this.finalTransform.opMdf=this.finalTransform.op.mdf,this.finalTransform.matMdf=this.finalTransform.mProp.mdf,this.finalTransform.opacity=this.finalTransform.op.v,this.firstFrame&&(this.finalTransform.opMdf=!0,this.finalTransform.matMdf=!0);var e,s=this.finalTransform.mat;if(this.hierarchy){var i,a=this.hierarchy.length;for(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e),i=0;a>i;i+=1)this.finalTransform.matMdf=this.hierarchy[i].finalTransform.mProp.mdf?!0:this.finalTransform.matMdf,e=this.hierarchy[i].finalTransform.mProp.v.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}else this.isVisible&&(t?(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e)):s.cloneFromProps(this.finalTransform.mProp.v.props));return t&&(e=t.mat.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]),this.finalTransform.opacity*=t.opacity,this.finalTransform.opMdf=t.opMdf?!0:this.finalTransform.opMdf,this.finalTransform.matMdf=t.matMdf?!0:this.finalTransform.matMdf),this.data.hasMask?(this.finalTransform.matMdf&&this.layerElement.setAttribute("transform",s.to2dCSS()),this.finalTransform.opMdf&&this.layerElement.setAttribute("opacity",this.finalTransform.opacity)):0===this.data.ty&&this.finalTransform.opMdf&&(this.finalTransform.op.k||1!==this.finalTransform.op.p)&&(this.layerElement.setAttribute("opacity",this.finalTransform.opacity),this.finalTransform.opacity=1),this.isVisible},SVGBaseElement.prototype.destroy=function(){this.layerElement=null,this.parentContainer=null,this.matteElement&&(this.matteElement=null),this.maskManager&&this.maskManager.destroy()},SVGBaseElement.prototype.getDomElement=function(){return this.layerElement},SVGBaseElement.prototype.addMasks=function(t){this.maskManager=new MaskElement(t,this,this.globalData)},SVGBaseElement.prototype.setMatte=function(t){this.matteElement&&this.matteElement.setAttribute("mask","url(#"+t+")")},SVGBaseElement.prototype.hide=function(){},ITextElement.prototype.init=function(){this.parent.init.call(this),this.lettersChangedFlag=!1;var t=this.data;this.renderedLetters=Array.apply(null,{length:t.t.d.l.length}),this.viewData={m:{a:PropertyFactory.getProp(this,t.t.m.a,1,0,this.dynamicProperties)}};var e=this.data.t;if(e.a.length){this.viewData.a=Array.apply(null,{length:e.a.length});var s,i,a,r=e.a.length;for(s=0;r>s;s+=1)a=e.a[s],i={a:{},s:{}},"r"in a.a&&(i.a.r=PropertyFactory.getProp(this,a.a.r,0,degToRads,this.dynamicProperties)),"rx"in a.a&&(i.a.rx=PropertyFactory.getProp(this,a.a.rx,0,degToRads,this.dynamicProperties)),"ry"in a.a&&(i.a.ry=PropertyFactory.getProp(this,a.a.ry,0,degToRads,this.dynamicProperties)),"sk"in a.a&&(i.a.sk=PropertyFactory.getProp(this,a.a.sk,0,degToRads,this.dynamicProperties)),"sa"in a.a&&(i.a.sa=PropertyFactory.getProp(this,a.a.sa,0,degToRads,this.dynamicProperties)),"s"in a.a&&(i.a.s=PropertyFactory.getProp(this,a.a.s,1,.01,this.dynamicProperties)),"a"in a.a&&(i.a.a=PropertyFactory.getProp(this,a.a.a,1,0,this.dynamicProperties)),"o"in a.a&&(i.a.o=PropertyFactory.getProp(this,a.a.o,0,.01,this.dynamicProperties)),"p"in a.a&&(i.a.p=PropertyFactory.getProp(this,a.a.p,1,0,this.dynamicProperties)),"sw"in a.a&&(i.a.sw=PropertyFactory.getProp(this,a.a.sw,0,0,this.dynamicProperties)),"sc"in a.a&&(i.a.sc=PropertyFactory.getProp(this,a.a.sc,1,0,this.dynamicProperties)),"fc"in a.a&&(i.a.fc=PropertyFactory.getProp(this,a.a.fc,1,0,this.dynamicProperties)),"fh"in a.a&&(i.a.fh=PropertyFactory.getProp(this,a.a.fh,0,0,this.dynamicProperties)),"fs"in a.a&&(i.a.fs=PropertyFactory.getProp(this,a.a.fs,0,.01,this.dynamicProperties)),"fb"in a.a&&(i.a.fb=PropertyFactory.getProp(this,a.a.fb,0,.01,this.dynamicProperties)),"t"in a.a&&(i.a.t=PropertyFactory.getProp(this,a.a.t,0,0,this.dynamicProperties)),i.s=PropertyFactory.getTextSelectorProp(this,a.s,this.dynamicProperties),i.s.t=a.s.t,this.viewData.a[s]=i}else this.viewData.a=[];e.p&&"m"in e.p?(this.viewData.p={f:PropertyFactory.getProp(this,e.p.f,0,0,this.dynamicProperties),l:PropertyFactory.getProp(this,e.p.l,0,0,this.dynamicProperties),r:e.p.r,m:this.maskManager.getMaskProperty(e.p.m)},this.maskPath=!0):this.maskPath=!1},ITextElement.prototype.createPathShape=function(t,e){var s,i,a,r,n=e.length,o="";for(s=0;n>s;s+=1){for(a=e[s].ks.k.i.length,r=e[s].ks.k,i=1;a>i;i+=1)1==i&&(o+=" M"+t.applyToPointStringified(r.v[0][0],r.v[0][1])),o+=" C"+t.applyToPointStringified(r.o[i-1][0],r.o[i-1][1])+" "+t.applyToPointStringified(r.i[i][0],r.i[i][1])+" "+t.applyToPointStringified(r.v[i][0],r.v[i][1]);o+=" C"+t.applyToPointStringified(r.o[i-1][0],r.o[i-1][1])+" "+t.applyToPointStringified(r.i[0][0],r.i[0][1])+" "+t.applyToPointStringified(r.v[0][0],r.v[0][1]),o+="z"}return o},ITextElement.prototype.getMeasures=function(){var t,e,s,i,a=this.mHelper,r=this.renderType,n=this.data,o=n.t.d,h=o.l;if(this.maskPath){var l=this.viewData.p.m;if(!this.viewData.p.n||this.viewData.p.mdf){var p=l.v;this.viewData.p.r&&(p=reversePath(p,l.closed));var m={tLength:0,segments:[]};i=p.v.length-1;var f,d=0;for(s=0;i>s;s+=1)f={s:p.v[s],e:p.v[s+1],to:[p.o[s][0]-p.v[s][0],p.o[s][1]-p.v[s][1]],ti:[p.i[s+1][0]-p.v[s+1][0],p.i[s+1][1]-p.v[s+1][1]]},bez.buildBezierData(f),m.tLength+=f.bezierData.segmentLength,m.segments.push(f),d+=f.bezierData.segmentLength;s=i,l.closed&&(f={s:p.v[s],e:p.v[0],to:[p.o[s][0]-p.v[s][0],p.o[s][1]-p.v[s][1]],ti:[p.i[0][0]-p.v[0][0],p.i[0][1]-p.v[0][1]]},bez.buildBezierData(f),m.tLength+=f.bezierData.segmentLength,m.segments.push(f),d+=f.bezierData.segmentLength),this.viewData.p.pi=m}var c,u,y,m=this.viewData.p.pi,v=this.viewData.p.f.v,g=0,b=1,E=0,P=!0,k=m.segments;if(0>v&&l.closed)for(m.tLength<Math.abs(v)&&(v=-Math.abs(v)%m.tLength),g=k.length-1,y=k[g].bezierData.points,b=y.length-1;0>v;)v+=y[b].partialLength,b-=1,0>b&&(g-=1,y=k[g].bezierData.points,b=y.length-1);y=k[g].bezierData.points,u=y[b-1],c=y[b];var S,C,x=c.partialLength}i=h.length,t=0,e=0;var w,D,T,M,I,F=1.2*n.t.d.s*.714,A=!0,V=this.viewData,N=Array.apply(null,{length:i});this.lettersChangedFlag=!1,M=V.a.length;var L,B,_,H,R,z,O,j,G,W,X,q,Y,Z,J,U,K=-1,Q=v,$=g,tt=b,et=-1,st=0;for(s=0;i>s;s+=1)if(a.reset(),z=1,h[s].n)t=0,e+=o.yOffset,e+=A?1:0,v=Q,A=!1,st=0,this.maskPath&&(g=$,b=tt,y=k[g].bezierData.points,u=y[b-1],c=y[b],x=c.partialLength,E=0),N[s]=this.emptyProp;else{if(this.maskPath){if(et!==h[s].line){switch(o.j){case 1:v+=d-o.lineWidths[h[s].line];break;case 2:v+=(d-o.lineWidths[h[s].line])/2}et=h[s].line}K!==h[s].ind&&(h[K]&&(v+=h[K].extra),v+=h[s].an/2,K=h[s].ind),v+=V.m.a.v[0]*h[s].an/200;var it=0;for(T=0;M>T;T+=1)w=V.a[T].a,"p"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),it+=B.length?w.p.v[0]*B[0]:w.p.v[0]*B);for(P=!0;P;)E+x>=v+it||!y?(S=(v+it-E)/c.partialLength,H=u.point[0]+(c.point[0]-u.point[0])*S,R=u.point[1]+(c.point[1]-u.point[1])*S,a.translate(0,-(V.m.a.v[1]*F/100)+e),P=!1):y&&(E+=c.partialLength,b+=1,b>=y.length&&(b=0,g+=1,k[g]?y=k[g].bezierData.points:l.closed?(b=0,g=0,y=k[g].bezierData.points):(E-=c.partialLength,y=null)),y&&(u=c,c=y[b],x=c.partialLength));_=h[s].an/2-h[s].add,a.translate(-_,0,0)}else _=h[s].an/2-h[s].add,a.translate(-_,0,0),a.translate(-V.m.a.v[0]*h[s].an/200,-V.m.a.v[1]*F/100,0);for(st+=h[s].l/2,T=0;M>T;T+=1)w=V.a[T].a,"t"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),this.maskPath?v+=B.length?w.t*B[0]:w.t*B:t+=B.length?w.t.v*B[0]:w.t.v*B);for(st+=h[s].l/2,o.strokeWidthAnim&&(j=n.t.d.sw||0),o.strokeColorAnim&&(O=n.t.d.sc?[n.t.d.sc[0],n.t.d.sc[1],n.t.d.sc[2]]:[0,0,0]),o.fillColorAnim&&(G=[n.t.d.fc[0],n.t.d.fc[1],n.t.d.fc[2]]),T=0;M>T;T+=1)w=V.a[T].a,"a"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),B.length?a.translate(-w.a.v[0]*B[0],-w.a.v[1]*B[1],w.a.v[2]*B[2]):a.translate(-w.a.v[0]*B,-w.a.v[1]*B,w.a.v[2]*B));for(T=0;M>T;T+=1)w=V.a[T].a,"s"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),B.length?a.scale(1+(w.s.v[0]-1)*B[0],1+(w.s.v[1]-1)*B[1],1):a.scale(1+(w.s.v[0]-1)*B,1+(w.s.v[1]-1)*B,1));for(T=0;M>T;T+=1){if(w=V.a[T].a,D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),"sk"in w&&(B.length?a.skewFromAxis(-w.sk.v*B[0],w.sa.v*B[1]):a.skewFromAxis(-w.sk.v*B,w.sa.v*B)),"r"in w&&a.rotateZ(B.length?-w.r.v*B[2]:-w.r.v*B),"ry"in w&&a.rotateY(B.length?w.ry.v*B[1]:w.ry.v*B),"rx"in w&&a.rotateX(B.length?w.rx.v*B[0]:w.rx.v*B),"o"in w&&(z+=B.length?(w.o.v*B[0]-z)*B[0]:(w.o.v*B-z)*B),o.strokeWidthAnim&&"sw"in w&&(j+=B.length?w.sw.v*B[0]:w.sw.v*B),o.strokeColorAnim&&"sc"in w)for(W=0;3>W;W+=1)O[W]=Math.round(B.length?O[W]+(w.sc.v[W]-O[W])*B[0]:O[W]+(w.sc.v[W]-O[W])*B);if(o.fillColorAnim){if("fc"in w)for(W=0;3>W;W+=1)G[W]=Math.round(B.length?G[W]+(w.fc.v[W]-G[W])*B[0]:G[W]+(w.fc.v[W]-G[W])*B);"fh"in w&&(G=B.length?addHueToRGB(G,w.fh.v*B[0]):addHueToRGB(G,w.fh.v*B)),"fs"in w&&(G=B.length?addSaturationToRGB(G,w.fs.v*B[0]):addSaturationToRGB(G,w.fs.v*B)),"fb"in w&&(G=B.length?addBrightnessToRGB(G,w.fb.v*B[0]):addBrightnessToRGB(G,w.fb.v*B))}}for(T=0;M>T;T+=1)w=V.a[T].a,"p"in w&&(D=V.a[T].s,B=D.getMult(h[s].anIndexes[T]),this.maskPath?B.length?a.translate(0,w.p.v[1]*B[0],-w.p.v[2]*B[1]):a.translate(0,w.p.v[1]*B,-w.p.v[2]*B):B.length?a.translate(w.p.v[0]*B[0],w.p.v[1]*B[1],-w.p.v[2]*B[2]):a.translate(w.p.v[0]*B,w.p.v[1]*B,-w.p.v[2]*B));if(o.strokeWidthAnim&&(X=0>j?0:j),o.strokeColorAnim&&(q="rgb("+O[0]+","+O[1]+","+O[2]+")"),o.fillColorAnim&&(Y="rgb("+G[0]+","+G[1]+","+G[2]+")"),this.maskPath){if(n.t.p.p){C=(c.point[1]-u.point[1])/(c.point[0]-u.point[0]);var at=180*Math.atan(C)/Math.PI;c.point[0]<u.point[0]&&(at+=180),a.rotate(-at*Math.PI/180)}a.translate(H,R,0),a.translate(V.m.a.v[0]*h[s].an/200,V.m.a.v[1]*F/100,0),v-=V.m.a.v[0]*h[s].an/200,h[s+1]&&K!==h[s+1].ind&&(v+=h[s].an/2,v+=o.tr/1e3*n.t.d.s)}else{switch(a.translate(t,e,0),o.ps&&a.translate(o.ps[0],o.ps[1]+o.ascent,0),o.j){case 1:a.translate(o.justifyOffset+(o.boxWidth-o.lineWidths[h[s].line]),0,0);break;case 2:a.translate(o.justifyOffset+(o.boxWidth-o.lineWidths[h[s].line])/2,0,0)}a.translate(_,0,0),a.translate(V.m.a.v[0]*h[s].an/200,V.m.a.v[1]*F/100,0),t+=h[s].l+o.tr/1e3*n.t.d.s}"html"===r?Z=a.toCSS():"svg"===r?Z=a.to2dCSS():J=[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]],U=z,L=this.renderedLetters[s],!L||L.o===U&&L.sw===X&&L.sc===q&&L.fc===Y?"svg"!==r&&"html"!==r||L&&L.m===Z?"canvas"!==r||L&&L.props[0]===J[0]&&L.props[1]===J[1]&&L.props[4]===J[4]&&L.props[5]===J[5]&&L.props[12]===J[12]&&L.props[13]===J[13]?I=L:(this.lettersChangedFlag=!0,I=new LetterProps(U,X,q,Y,null,J)):(this.lettersChangedFlag=!0,I=new LetterProps(U,X,q,Y,Z)):(this.lettersChangedFlag=!0,I=new LetterProps(U,X,q,Y,Z,J)),this.renderedLetters[s]=I}},ITextElement.prototype.emptyProp=new LetterProps,createElement(SVGBaseElement,SVGTextElement),SVGTextElement.prototype.init=ITextElement.prototype.init,SVGTextElement.prototype.createPathShape=ITextElement.prototype.createPathShape,SVGTextElement.prototype.getMeasures=ITextElement.prototype.getMeasures,SVGTextElement.prototype.createElements=function(){this.parent.createElements.call(this);var t=this.data.t.d;this.innerElem=document.createElementNS(svgNS,"g"),t.fc?this.innerElem.setAttribute("fill","rgb("+t.fc[0]+","+t.fc[1]+","+t.fc[2]+")"):this.innerElem.setAttribute("fill","rgba(0,0,0,0)"),t.sc&&(this.innerElem.setAttribute("stroke","rgb("+t.sc[0]+","+t.sc[1]+","+t.sc[2]+")"),this.innerElem.setAttribute("stroke-width",t.sw)),this.innerElem.setAttribute("font-size",t.s);var e=this.globalData.fontManager.getFontByName(t.f);if(e.fClass)this.innerElem.setAttribute("class",e.fClass);else{this.innerElem.setAttribute("font-family",e.fFamily);var s=t.fWeight,i=t.fStyle;this.innerElem.setAttribute("font-style",i),this.innerElem.setAttribute("font-weight",s)}var a,r;this.layerElement===this.parentContainer?this.appendNodeToParent(this.innerElem):this.layerElement.appendChild(this.innerElem);var n=t.l;if(r=n.length){var o,h,l=this.mHelper,p="",m=this.data.singleShape;if(m)var f=0,d=0,c=t.lineWidths,u=t.boxWidth,y=!0;for(a=0;r>a;a+=1){if(this.globalData.fontManager.chars?m&&0!==a||(o=document.createElementNS(svgNS,"path")):o=document.createElementNS(svgNS,"text"),o.setAttribute("stroke-linecap","butt"),o.setAttribute("stroke-linejoin","round"),o.setAttribute("stroke-miterlimit","4"),m&&n[a].n&&(f=0,d+=t.yOffset,d+=y?1:0,y=!1),l.reset(),this.globalData.fontManager.chars&&l.scale(t.s/100,t.s/100),m){switch(t.ps&&l.translate(t.ps[0],t.ps[1]+t.ascent,0),t.j){case 1:l.translate(t.justifyOffset+(u-c[n[a].line]),0,0);break;case 2:l.translate(t.justifyOffset+(u-c[n[a].line])/2,0,0)}l.translate(f,d,0)}if(this.globalData.fontManager.chars){var v,g=this.globalData.fontManager.getCharData(t.t.charAt(a),e.fStyle,this.globalData.fontManager.getFontByName(t.f).fFamily);v=g?g.data:null,v&&v.shapes&&(h=v.shapes[0].it,m||(p=""),p+=this.createPathShape(l,h),m||o.setAttribute("d",p)),m||this.innerElem.appendChild(o)}else o.textContent=n[a].val,o.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),this.innerElem.appendChild(o),m&&o.setAttribute("transform",l.to2dCSS());m&&(f+=n[a].l),this.textSpans.push(o)}m&&this.globalData.fontManager.chars&&(o.setAttribute("d",p),this.innerElem.appendChild(o))}},SVGTextElement.prototype.hide=function(){this.hidden||(this.innerElem.style.display="none",this.hidden=!0)},SVGTextElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);if(e===!1)return void this.hide();if(this.hidden&&(this.hidden=!1,this.innerElem.style.display="block"),this.data.hasMask||(this.finalTransform.matMdf&&this.innerElem.setAttribute("transform",this.finalTransform.mat.to2dCSS()),this.finalTransform.opMdf&&this.innerElem.setAttribute("opacity",this.finalTransform.opacity)),!this.data.singleShape&&(this.getMeasures(),this.lettersChangedFlag)){var s,i,a=this.renderedLetters,r=this.data.t.d.l;i=r.length;var n;for(s=0;i>s;s+=1)r[s].n||(n=a[s],this.textSpans[s].setAttribute("transform",n.m),this.textSpans[s].setAttribute("opacity",n.o),n.sw&&this.textSpans[s].setAttribute("stroke-width",n.sw),n.sc&&this.textSpans[s].setAttribute("stroke",n.sc),n.fc&&this.textSpans[s].setAttribute("fill",n.fc));this.firstFrame&&(this.firstFrame=!1)}},SVGTextElement.prototype.destroy=function(){this.parent.destroy.call(),this.innerElem=null};var PlaceHolderElement=function(t,e,s){if(this.data=t,this.globalData=s,e){this.parentContainer=e;var i=document.createElementNS(svgNS,"g");i.setAttribute("id",this.data.id),e.appendChild(i),this.phElement=i}this.layerId="ly_"+randomString(10)};PlaceHolderElement.prototype.prepareFrame=function(){},PlaceHolderElement.prototype.renderFrame=function(){},PlaceHolderElement.prototype.draw=function(){},createElement(SVGBaseElement,ICompElement),extendPrototype(ExpressionComp,ICompElement),ICompElement.prototype.getComposingElement=function(){return this.layerElement},ICompElement.prototype.hide=function(){if(!this.hidden){var t,e=this.elements.length;for(t=0;e>t;t+=1)this.elements[t].hide();this.hidden=!0}},ICompElement.prototype.prepareFrame=function(t){if(this.parent.prepareFrame.call(this,t),this.isVisible!==!1){var e=t;this.tm&&(e=this.tm.v,e===this.data.op&&(e=this.data.op-1)),this.renderedFrame=e;var s,i=this.elements.length;for(s=0;i>s;s+=1)this.elements[s].prepareFrame(e-this.layers[s].st)}},ICompElement.prototype.renderFrame=function(t){var e,s=this.parent.renderFrame.call(this,t),i=this.layers.length;if(s===!1)return void this.hide();for(this.hidden=!1,e=0;i>e;e+=1)this.data.hasMask?this.elements[e].renderFrame():this.elements[e].renderFrame(this.finalTransform);this.firstFrame&&(this.firstFrame=!1)},ICompElement.prototype.setElements=function(t){this.elements=t},ICompElement.prototype.getElements=function(){return this.elements},ICompElement.prototype.destroy=function(){this.parent.destroy.call();var t,e=this.layers.length;for(t=0;e>t;t+=1)this.elements[t].destroy()},createElement(SVGBaseElement,IImageElement),IImageElement.prototype.createElements=function(){var t=this,e=function(){t.innerElem.setAttributeNS("http://www.w3.org/1999/xlink","href",t.path+t.assetData.p),t.maskedElement=t.innerElem},s=new Image;s.addEventListener("load",e,!1),s.addEventListener("error",e,!1),s.src=this.path+this.assetData.p,this.parent.createElements.call(this),this.innerElem=document.createElementNS(svgNS,"image"),this.innerElem.setAttribute("width",this.assetData.w+"px"),this.innerElem.setAttribute("height",this.assetData.h+"px"),this.layerElement===this.parentContainer?this.appendNodeToParent(this.innerElem):this.layerElement.appendChild(this.innerElem),this.data.ln&&this.innerElem.setAttribute("id",this.data.ln)},IImageElement.prototype.hide=function(){this.hidden||(this.innerElem.setAttribute("visibility","hidden"),this.hidden=!0)},IImageElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden&&(this.hidden=!1,this.innerElem.setAttribute("visibility","visible")),this.data.hasMask||((this.finalTransform.matMdf||this.firstFrame)&&this.innerElem.setAttribute("transform",this.finalTransform.mat.to2dCSS()),(this.finalTransform.opMdf||this.firstFrame)&&this.innerElem.setAttribute("opacity",this.finalTransform.opacity)),void(this.firstFrame&&(this.firstFrame=!1)))},IImageElement.prototype.destroy=function(){this.parent.destroy.call(),this.innerElem=null},createElement(SVGBaseElement,IShapeElement),IShapeElement.prototype.lcEnum={1:"butt",2:"round",3:"butt"},IShapeElement.prototype.ljEnum={1:"miter",2:"round",3:"butt"},IShapeElement.prototype.transformHelper={opacity:1,mat:new Matrix,matMdf:!1,opMdf:!1},IShapeElement.prototype.createElements=function(){this.parent.createElements.call(this),this.searchShapes(this.shapesData,this.viewData,this.dynamicProperties,[]),this.layerElement.appendChild(this.shapesContainer),styleUnselectableDiv(this.layerElement),styleUnselectableDiv(this.shapesContainer),this.buildExpressionInterface()},IShapeElement.prototype.searchShapes=function(t,e,s,i){var a,r,n,o=t.length-1,h=[],l=[];for(a=o;a>=0;a-=1)if("fl"==t[a].ty||"st"==t[a].ty){e[a]={};var p;if(e[a].c=PropertyFactory.getProp(this,t[a].c,1,null,s),e[a].o=PropertyFactory.getProp(this,t[a].o,0,.01,s),"st"==t[a].ty){if(p=document.createElementNS(svgNS,"g"),p.style.strokeLinecap=this.lcEnum[t[a].lc]||"round",p.style.strokeLinejoin=this.ljEnum[t[a].lj]||"round",p.style.fillOpacity=0,1==t[a].lj&&(p.style.strokeMiterlimit=t[a].ml),e[a].c.k||(p.style.stroke="rgb("+e[a].c.v[0]+","+e[a].c.v[1]+","+e[a].c.v[2]+")"),e[a].o.k||(p.style.strokeOpacity=e[a].o.v),e[a].w=PropertyFactory.getProp(this,t[a].w,0,null,s),e[a].w.k||(p.style.strokeWidth=e[a].w.v),t[a].d){var m=PropertyFactory.getDashProp(this,t[a].d,"svg",s);m.k||(p.style.strokeDasharray=m.dasharray,p.style.strokeDashoffset=m.dashoffset),e[a].d=m}}else p=document.createElementNS(svgNS,"path"),e[a].c.k||(p.style.fill="rgb("+e[a].c.v[0]+","+e[a].c.v[1]+","+e[a].c.v[2]+")"),e[a].o.k||(p.style.fillOpacity=e[a].o.v);this.shapesContainer.appendChild(p),this.stylesList.push({pathElement:p,type:t[a].ty,d:"",ld:"",mdf:!1}),e[a].style=this.stylesList[this.stylesList.length-1],h.push(e[a].style)}else if("gr"==t[a].ty)e[a]={it:[]},this.searchShapes(t[a].it,e[a].it,s,i);else if("tr"==t[a].ty)e[a]={transform:{mat:new Matrix,opacity:1,matMdf:!1,opMdf:!1,op:PropertyFactory.getProp(this,t[a].o,0,.01,s),mProps:PropertyFactory.getProp(this,t[a],2,null,s)},elements:[]};else if("sh"==t[a].ty||"rc"==t[a].ty||"el"==t[a].ty||"sr"==t[a].ty){e[a]={elements:[],styles:[],lStr:""};var f=4;"rc"==t[a].ty?f=5:"el"==t[a].ty?f=6:"sr"==t[a].ty&&(f=7),i.length&&(t[a].trimmed=!0),e[a].sh=PropertyFactory.getShapeProp(this,t[a],f,s,i),n=this.stylesList.length;var d,c=!1,u=!1;for(r=0;n>r;r+=1)this.stylesList[r].closed||("st"===this.stylesList[r].type?(c=!0,d=document.createElementNS(svgNS,"path"),this.stylesList[r].pathElement.appendChild(d),e[a].elements.push({ty:this.stylesList[r].type,el:d})):(u=!0,e[a].elements.push({ty:this.stylesList[r].type,st:this.stylesList[r]})));e[a].st=c,e[a].fl=u}else if("tm"==t[a].ty){var y={closed:!1,trimProp:PropertyFactory.getProp(this,t[a],7,null,s)};e[a]={tr:y.trimProp},i.push(y),l.push(y)}for(o=h.length,a=0;o>a;a+=1)h[a].closed=!0;for(o=l.length,a=0;o>a;a+=1)l[a].closed=!0},IShapeElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden=!1,this.finalTransform.matMdf&&!this.data.hasMask&&this.shapesContainer.setAttribute("transform",this.finalTransform.mat.to2dCSS()),this.transformHelper.opacity=this.finalTransform.opacity,this.transformHelper.matMdf=!1,this.transformHelper.opMdf=this.finalTransform.opMdf,void this.renderShape(this.transformHelper,null,null,!0))},IShapeElement.prototype.hide=function(){if(!this.hidden){var t,e=this.stylesList.length;for(t=e-1;t>=0;t-=1)"0"!==this.stylesList[t].ld&&(this.stylesList[t].ld="0",this.stylesList[t].pathElement.style.display="none",this.stylesList[t].pathElement.parentNode&&(this.stylesList[t].parent=this.stylesList[t].pathElement.parentNode));this.hidden=!0}},IShapeElement.prototype.renderShape=function(t,e,s,i){var a,r;if(!e)for(e=this.shapesData,r=this.stylesList.length,a=0;r>a;a+=1)this.stylesList[a].d="",this.stylesList[a].mdf=!1;s||(s=this.viewData),r=e.length-1;var n,o;for(n=t,a=r;a>=0;a-=1)if("tr"==e[a].ty){n=s[a].transform;var h=s[a].transform.mProps.v.props;if(n.matMdf=n.mProps.mdf,n.opMdf=n.op.mdf,o=n.mat,o.cloneFromProps(h),t){var l=t.mat.props;n.opacity=t.opacity,n.opacity*=s[a].transform.op.v,n.matMdf=t.matMdf?!0:n.matMdf,n.opMdf=t.opMdf?!0:n.opMdf,o.transform(l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9],l[10],l[11],l[12],l[13],l[14],l[15])}else n.opacity=n.op.o}else"sh"==e[a].ty||"el"==e[a].ty||"rc"==e[a].ty||"sr"==e[a].ty?this.renderPath(e[a],s[a],n):"fl"==e[a].ty?this.renderFill(e[a],s[a],n):"st"==e[a].ty?this.renderStroke(e[a],s[a],n):"gr"==e[a].ty?this.renderShape(n,e[a].it,s[a].it):"tm"==e[a].ty;if(i){for(r=this.stylesList.length,a=0;r>a;a+=1)"0"===this.stylesList[a].ld&&(this.stylesList[a].ld="1",this.stylesList[a].pathElement.style.display="block"),"fl"===this.stylesList[a].type&&(this.stylesList[a].mdf||this.firstFrame)&&this.stylesList[a].pathElement.setAttribute("d",this.stylesList[a].d);this.firstFrame&&(this.firstFrame=!1)}},IShapeElement.prototype.renderPath=function(t,e,s){var i,a,r=e.sh.v,n="";if(r.v){i=r.v.length;var o=s.matMdf||e.sh.mdf||this.firstFrame;if(o){var h=r.s?r.s:[];for(a=1;i>a;a+=1)h[a-1]?n+=" M"+s.mat.applyToPointStringified(h[a-1][0],h[a-1][1]):1==a&&(n+=" M"+s.mat.applyToPointStringified(r.v[0][0],r.v[0][1])),n+=" C"+s.mat.applyToPointStringified(r.o[a-1][0],r.o[a-1][1])+" "+s.mat.applyToPointStringified(r.i[a][0],r.i[a][1])+" "+s.mat.applyToPointStringified(r.v[a][0],r.v[a][1]);1==i&&(n+=h[0]?" M"+s.mat.applyToPointStringified(h[0][0],h[0][1]):" M"+s.mat.applyToPointStringified(r.v[0][0],r.v[0][1])),i&&t.closed&&(!t.trimmed||r.c)&&(n+=" C"+s.mat.applyToPointStringified(r.o[a-1][0],r.o[a-1][1])+" "+s.mat.applyToPointStringified(r.i[0][0],r.i[0][1])+" "+s.mat.applyToPointStringified(r.v[0][0],r.v[0][1]),n+="z"),e.lStr=n}else n=e.lStr;for(i=e.elements.length,a=0;i>a;a+=1)"st"===e.elements[a].ty?(e.sh.mdf||this.firstFrame)&&e.elements[a].el.setAttribute("d",n):(e.elements[a].st.mdf=o?!0:e.elements[a].st.mdf,e.elements[a].st.d+=n)}},IShapeElement.prototype.renderFill=function(t,e,s){var i=e.style;(e.c.mdf||this.firstFrame)&&(i.pathElement.style.fill="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.pathElement.style.fillOpacity=e.o.v*s.opacity)},IShapeElement.prototype.renderStroke=function(t,e,s){var i=e.style,a=e.d;a&&a.k&&(a.mdf||this.firstFrame)&&(i.pathElement.style.strokeDasharray=a.dasharray,i.pathElement.style.strokeDashoffset=a.dashoffset),(e.c.mdf||this.firstFrame)&&(i.pathElement.style.stroke="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.pathElement.style.strokeOpacity=e.o.v*s.opacity),(e.w.mdf||this.firstFrame)&&(i.pathElement.style.strokeWidth=e.w.v)},IShapeElement.prototype.destroy=function(){this.parent.destroy.call(),this.shapeData=null,this.viewData=null,this.parentContainer=null,this.placeholder=null},extendPrototype(ShapeInterface,IShapeElement),createElement(SVGBaseElement,ISolidElement),ISolidElement.prototype.createElements=function(){this.parent.createElements.call(this);var t=document.createElementNS(svgNS,"rect");t.setAttribute("width",this.data.sw),t.setAttribute("height",this.data.sh),t.setAttribute("fill",this.data.sc),this.layerElement===this.parentContainer?this.appendNodeToParent(t):this.layerElement.appendChild(t),this.data.ln&&this.innerElem.setAttribute("id",this.data.ln),this.innerElem=t},ISolidElement.prototype.hide=IImageElement.prototype.hide,ISolidElement.prototype.renderFrame=IImageElement.prototype.renderFrame,ISolidElement.prototype.destroy=IImageElement.prototype.destroy,createElement(BaseElement,CVBaseElement),CVBaseElement.prototype.createElements=function(){},CVBaseElement.prototype.renderFrame=function(t){if(3===this.data.ty)return!1;if(!this.isVisible)return this.isVisible;this.finalTransform.opMdf=this.finalTransform.op.mdf,this.finalTransform.matMdf=this.finalTransform.mProp.mdf,this.finalTransform.opacity=this.finalTransform.op.v;var e,s=this.finalTransform.mat;if(this.hierarchy){var i,a=this.hierarchy.length;for(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e),i=0;a>i;i+=1)this.finalTransform.matMdf=this.hierarchy[i].finalTransform.mProp.mdf?!0:this.finalTransform.matMdf,e=this.hierarchy[i].finalTransform.mProp.v.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}else t?(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e)):s.cloneFromProps(this.finalTransform.mProp.v.props);return t&&(e=t.mat.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]),this.finalTransform.opacity*=t.opacity,this.finalTransform.opMdf=t.opMdf?!0:this.finalTransform.opMdf,this.finalTransform.matMdf=t.matMdf?!0:this.finalTransform.matMdf),this.data.hasMask&&(this.globalData.renderer.save(!0),this.maskManager.renderFrame(s)),this.isVisible},CVBaseElement.prototype.getCurrentAnimData=function(){return this.currentAnimData},CVBaseElement.prototype.addMasks=function(t){this.maskManager=new CVMaskElement(t,this,this.globalData)},CVBaseElement.prototype.destroy=function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager&&this.maskManager.destroy()},CVBaseElement.prototype.mHelper=new Matrix,createElement(CVBaseElement,CVCompElement),CVCompElement.prototype.prepareFrame=function(t){if(this.parent.prepareFrame.call(this,t),this.isVisible!==!1){var e=t;this.tm&&(e=this.tm.v,e===this.data.op&&(e=this.data.op-1)),this.renderedFrame=e;var s,i=this.elements.length;for(s=0;i>s;s+=1)this.elements[s].prepareFrame(e-this.layers[s].st)}},CVCompElement.prototype.renderFrame=function(t){if(this.parent.renderFrame.call(this,t)!==!1){var e,s=this.layers.length;for(e=s-1;e>=0;e-=1)this.elements[e].renderFrame(this.finalTransform);this.data.hasMask&&this.globalData.renderer.restore(!0),this.firstFrame&&(this.firstFrame=!1)}},CVCompElement.prototype.setElements=function(t){this.elements=t},CVCompElement.prototype.getElements=function(){return this.elements},CVCompElement.prototype.destroy=function(){var t,e=this.layers.length;for(t=e-1;t>=0;t-=1)this.elements[t].destroy();this.layers=null,this.elements=null,this.parent.destroy.call()},createElement(CVBaseElement,CVImageElement),CVImageElement.prototype.createElements=function(){var t=this,e=function(){t.animationItem.elementLoaded()},s=function(){t.failed=!0,t.animationItem.elementLoaded()};this.img=new Image,this.img.addEventListener("load",e,!1),this.img.addEventListener("error",s,!1),this.img.src=this.path+this.assetData.p,this.parent.createElements.call(this)},CVImageElement.prototype.renderFrame=function(t){if(!this.failed&&this.parent.renderFrame.call(this,t)!==!1){var e=this.canvasContext;this.globalData.renderer.save();var s=this.finalTransform.mat.props;this.globalData.renderer.ctxTransform(s),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.drawImage(this.img,0,0),this.globalData.renderer.restore(this.data.hasMask),this.firstFrame&&(this.firstFrame=!1)}},CVImageElement.prototype.destroy=function(){this.img=null,this.animationItem=null,this.parent.destroy.call()},CVMaskElement.prototype.getMaskProperty=function(t){return this.viewData[t]},CVMaskElement.prototype.prepareFrame=function(t){var e,s=this.dynamicProperties.length;for(e=0;s>e;e+=1)this.dynamicProperties[e].getValue(t)},CVMaskElement.prototype.renderFrame=function(t){var e,s,i,a,r,n=this.ctx,o=this.data.masksProperties.length,h=!1;for(e=0;o>e;e++)if("n"!==this.masksProperties[e].mode){h===!1&&(n.beginPath(),h=!0),this.masksProperties[e].inv&&(n.moveTo(0,0),n.lineTo(this.globalData.compWidth,0),n.lineTo(this.globalData.compWidth,this.globalData.compHeight),n.lineTo(0,this.globalData.compHeight),n.lineTo(0,0)),r=this.viewData[e].v,s=t.applyToPointArray(r.v[0][0],r.v[0][1],0),n.moveTo(s[0],s[1]);var l,p=r.v.length;for(l=1;p>l;l++)s=t.applyToPointArray(r.o[l-1][0],r.o[l-1][1],0),
 i=t.applyToPointArray(r.i[l][0],r.i[l][1],0),a=t.applyToPointArray(r.v[l][0],r.v[l][1],0),n.bezierCurveTo(s[0],s[1],i[0],i[1],a[0],a[1]);s=t.applyToPointArray(r.o[l-1][0],r.o[l-1][1],0),i=t.applyToPointArray(r.i[0][0],r.i[0][1],0),a=t.applyToPointArray(r.v[0][0],r.v[0][1],0),n.bezierCurveTo(s[0],s[1],i[0],i[1],a[0],a[1])}h&&n.clip()},CVMaskElement.prototype.getMask=function(t){for(var e=0,s=this.masksProperties.length;s>e;){if(this.masksProperties[e].nm===t)return{maskPath:this.viewData[e].pv};e+=1}},CVMaskElement.prototype.destroy=function(){this.ctx=null},createElement(CVBaseElement,CVShapeElement),CVShapeElement.prototype.lcEnum={1:"butt",2:"round",3:"butt"},CVShapeElement.prototype.ljEnum={1:"miter",2:"round",3:"butt"},CVShapeElement.prototype.transformHelper={opacity:1,mat:new Matrix,matMdf:!1,opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createElements=function(){this.parent.createElements.call(this),this.searchShapes(this.shapesData,this.viewData,this.dynamicProperties,[]),this.buildExpressionInterface()},CVShapeElement.prototype.searchShapes=function(t,e,s,i){var a,r,n,o,h=t.length-1,l=[],p=[];for(a=h;a>=0;a-=1)if("fl"==t[a].ty||"st"==t[a].ty){if(o={type:t[a].ty,elements:[]},e[a]={},e[a].c=PropertyFactory.getProp(this,t[a].c,1,null,s),e[a].c.k||(o.co="rgb("+bm_floor(e[a].c.v[0])+","+bm_floor(e[a].c.v[1])+","+bm_floor(e[a].c.v[2])+")"),e[a].o=PropertyFactory.getProp(this,t[a].o,0,.01,s),"st"==t[a].ty&&(o.lc=this.lcEnum[t[a].lc]||"round",o.lj=this.ljEnum[t[a].lj]||"round",1==t[a].lj&&(o.ml=t[a].ml),e[a].w=PropertyFactory.getProp(this,t[a].w,0,null,s),e[a].w.k||(o.wi=e[a].w.v),t[a].d)){var m=PropertyFactory.getDashProp(this,t[a].d,"canvas",s);e[a].d=m,e[a].d.k||(o.da=e[a].d.dasharray,o["do"]=e[a].d.dashoffset)}this.stylesList.push(o),e[a].style=o,l.push(e[a].style)}else if("gr"==t[a].ty)e[a]={it:[]},this.searchShapes(t[a].it,e[a].it,s,i);else if("tr"==t[a].ty)e[a]={transform:{mat:new Matrix,opacity:1,matMdf:!1,opMdf:!1,op:PropertyFactory.getProp(this,t[a].o,0,.01,s),mProps:PropertyFactory.getProp(this,t[a],2,null,s)},elements:[]};else if("sh"==t[a].ty||"rc"==t[a].ty||"el"==t[a].ty||"sr"==t[a].ty){e[a]={nodes:[],trNodes:[],tr:[0,0,0,0,0,0]};var f=4;"rc"==t[a].ty?f=5:"el"==t[a].ty?f=6:"sr"==t[a].ty&&(f=7),i.length&&(t[a].trimmed=!0),e[a].sh=PropertyFactory.getShapeProp(this,t[a],f,s,i),n=this.stylesList.length;var d=!1,c=!1;for(r=0;n>r;r+=1)this.stylesList[r].closed||(this.stylesList[r].elements.push(e[a]),"st"===this.stylesList[r].type?d=!0:c=!0);e[a].st=d,e[a].fl=c}else if("tm"==t[a].ty){var u={closed:!1,trimProp:PropertyFactory.getProp(this,t[a],7,null,s)};i.push(u),p.push(u)}for(h=l.length,a=0;h>a;a+=1)l[a].closed=!0;for(h=p.length,a=0;h>a;a+=1)p[a].closed=!0},CVShapeElement.prototype.renderFrame=function(t){this.parent.renderFrame.call(this,t)!==!1&&(this.transformHelper.mat.reset(),this.transformHelper.opacity=this.finalTransform.opacity,this.transformHelper.matMdf=!1,this.transformHelper.opMdf=this.finalTransform.opMdf,this.renderShape(this.transformHelper,null,null,!0),this.data.hasMask&&this.globalData.renderer.restore(!0))},CVShapeElement.prototype.renderShape=function(t,e,s,i){var a,r;if(!e)for(e=this.shapesData,r=this.stylesList.length,a=0;r>a;a+=1)this.stylesList[a].d="",this.stylesList[a].mdf=!1;s||(s=this.viewData),r=e.length-1;var n,o;for(n=t,a=r;a>=0;a-=1)if("tr"==e[a].ty){n=s[a].transform;var h=s[a].transform.mProps.v.props;if(n.matMdf=n.mProps.mdf,n.opMdf=n.op.mdf,o=n.mat,o.cloneFromProps(h),t){var l=t.mat.props;n.opacity=t.opacity,n.opacity*=s[a].transform.op.v,n.matMdf=t.matMdf?!0:n.matMdf,n.opMdf=t.opMdf?!0:n.opMdf,o.transform(l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9],l[10],l[11],l[12],l[13],l[14],l[15])}else n.opacity=n.op.o}else"sh"==e[a].ty||"el"==e[a].ty||"rc"==e[a].ty||"sr"==e[a].ty?this.renderPath(e[a],s[a],n):"fl"==e[a].ty?this.renderFill(e[a],s[a],n):"st"==e[a].ty?this.renderStroke(e[a],s[a],n):"gr"==e[a].ty?this.renderShape(n,e[a].it,s[a].it):"tm"==e[a].ty;if(i){r=this.stylesList.length;var p,m,f,d,c,u,y,v=this.globalData.renderer,g=this.globalData.canvasContext;for(v.save(),v.ctxTransform(this.finalTransform.mat.props),a=0;r>a;a+=1)if(y=this.stylesList[a].type,"st"!==y||0!==this.stylesList[a].wi){for(v.save(),c=this.stylesList[a].elements,m=c.length,"st"===y?(g.strokeStyle=this.stylesList[a].co,g.lineWidth=this.stylesList[a].wi,g.lineCap=this.stylesList[a].lc,g.lineJoin=this.stylesList[a].lj,g.miterLimit=this.stylesList[a].ml||0):g.fillStyle=this.stylesList[a].co,v.ctxOpacity(this.stylesList[a].coOp),"st"!==y&&g.beginPath(),p=0;m>p;p+=1){for("st"===y&&(g.beginPath(),this.stylesList[a].da?(g.setLineDash(this.stylesList[a].da),g.lineDashOffset=this.stylesList[a]["do"],this.globalData.isDashed=!0):this.globalData.isDashed&&(g.setLineDash(this.dashResetter),this.globalData.isDashed=!1)),u=c[p].trNodes,d=u.length,f=0;d>f;f+=1)"m"==u[f].t?g.moveTo(u[f].p[0],u[f].p[1]):"c"==u[f].t?g.bezierCurveTo(u[f].p1[0],u[f].p1[1],u[f].p2[0],u[f].p2[1],u[f].p3[0],u[f].p3[1]):g.closePath();"st"===y&&g.stroke()}"st"!==y&&g.fill(),v.restore()}v.restore(),this.firstFrame&&(this.firstFrame=!1)}},CVShapeElement.prototype.renderPath=function(t,e,s){var i,a,r=e.sh.v;if(r.v){i=r.v.length;var n=s.matMdf||e.sh.mdf||this.firstFrame;if(n){var o=e.trNodes;o.length=0;var h=r.s?r.s:[];for(a=1;i>a;a+=1)h[a-1]?o.push({t:"m",p:s.mat.applyToPointArray(h[a-1][0],h[a-1][1],0)}):1==a&&o.push({t:"m",p:s.mat.applyToPointArray(r.v[0][0],r.v[0][1],0)}),o.push({t:"c",p1:s.mat.applyToPointArray(r.o[a-1][0],r.o[a-1][1],0),p2:s.mat.applyToPointArray(r.i[a][0],r.i[a][1],0),p3:s.mat.applyToPointArray(r.v[a][0],r.v[a][1],0)});if(1==i&&o.push(h[0]?{t:"m",p:s.mat.applyToPointArray(h[0][0],h[0][1],0)}:{t:"m",p:s.mat.applyToPointArray(r.v[0][0],r.v[0][1],0)}),i&&t.closed&&(!t.trimmed||r.c)&&(o.push({t:"c",p1:s.mat.applyToPointArray(r.o[a-1][0],r.o[a-1][1],0),p2:s.mat.applyToPointArray(r.i[0][0],r.i[0][1],0),p3:s.mat.applyToPointArray(r.v[0][0],r.v[0][1],0)}),o.push({t:"z"})),e.st)for(a=0;16>a;a+=1)e.tr[a]=s.mat.props[a];e.trNodes=o}}},CVShapeElement.prototype.renderFill=function(t,e,s){var i=e.style;(e.c.mdf||this.firstFrame)&&(i.co="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.coOp=e.o.v*s.opacity)},CVShapeElement.prototype.renderStroke=function(t,e,s){var i=e.style,a=e.d;a&&(a.mdf||this.firstFrame)&&(i.da=a.dasharray,i["do"]=a.dashoffset),(e.c.mdf||this.firstFrame)&&(i.co="rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o.mdf||s.opMdf||this.firstFrame)&&(i.coOp=e.o.v*s.opacity),(e.w.mdf||this.firstFrame)&&(i.wi=e.w.v)},CVShapeElement.prototype.destroy=function(){this.shapesData=null,this.globalData=null,this.canvasContext=null,this.stylesList.length=0,this.viewData.length=0,this.parent.destroy.call()},extendPrototype(ShapeInterface,CVShapeElement),createElement(CVBaseElement,CVSolidElement),CVSolidElement.prototype.renderFrame=function(t){if(this.parent.renderFrame.call(this,t)!==!1){var e=this.canvasContext;this.globalData.renderer.save();var s=this.finalTransform.mat.props;this.globalData.renderer.ctxTransform(s),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.fillStyle=this.data.sc,e.fillRect(0,0,this.data.sw,this.data.sh),this.globalData.renderer.restore(this.data.hasMask),this.firstFrame&&(this.firstFrame=!1)}},createElement(CVBaseElement,CVTextElement),CVTextElement.prototype.init=ITextElement.prototype.init,CVTextElement.prototype.getMeasures=ITextElement.prototype.getMeasures,CVTextElement.prototype.getMult=ITextElement.prototype.getMult,CVTextElement.prototype.tHelper=document.createElement("canvas").getContext("2d"),CVTextElement.prototype.createElements=function(){this.parent.createElements.call(this);var t=this.data.t.d,e=!1;t.fc?(e=!0,this.values.fill="rgb("+t.fc[0]+","+t.fc[1]+","+t.fc[2]+")"):this.values.fill="rgba(0,0,0,0)",this.fill=e;var s=!1;t.sc&&(s=!0,this.values.stroke="rgb("+t.sc[0]+","+t.sc[1]+","+t.sc[2]+")",this.values.sWidth=t.sw);var i,a,r=this.globalData.fontManager.getFontByName(t.f),n=t.l,o=this.mHelper;this.stroke=s,this.values.fValue=t.s+"px "+this.globalData.fontManager.getFontByName(t.f).fFamily,a=t.t.length,this.tHelper.font=this.values.fValue;var h,l,p,m,f,d,c,u,y,v,g=this.data.singleShape;if(g)var b=0,E=0,P=t.lineWidths,k=t.boxWidth,S=!0;for(i=0;a>i;i+=1){h=this.globalData.fontManager.getCharData(t.t.charAt(i),r.fStyle,this.globalData.fontManager.getFontByName(t.f).fFamily);var l;if(l=h?h.data:null,o.reset(),g&&n[i].n&&(b=0,E+=t.yOffset,E+=S?1:0,S=!1),l&&l.shapes){if(f=l.shapes[0].it,c=f.length,o.scale(t.s/100,t.s/100),g){switch(t.ps&&o.translate(t.ps[0],t.ps[1]+t.ascent,0),t.j){case 1:o.translate(t.justifyOffset+(k-P[n[i].line]),0,0);break;case 2:o.translate(t.justifyOffset+(k-P[n[i].line])/2,0,0)}o.translate(b,E,0)}for(y=new Array(c),d=0;c>d;d+=1){for(m=f[d].ks.k.i.length,u=f[d].ks.k,v=[],p=1;m>p;p+=1)1==p&&v.push(o.applyToX(u.v[0][0],u.v[0][1],0),o.applyToY(u.v[0][0],u.v[0][1],0)),v.push(o.applyToX(u.o[p-1][0],u.o[p-1][1],0),o.applyToY(u.o[p-1][0],u.o[p-1][1],0),o.applyToX(u.i[p][0],u.i[p][1],0),o.applyToY(u.i[p][0],u.i[p][1],0),o.applyToX(u.v[p][0],u.v[p][1],0),o.applyToY(u.v[p][0],u.v[p][1],0));v.push(o.applyToX(u.o[p-1][0],u.o[p-1][1],0),o.applyToY(u.o[p-1][0],u.o[p-1][1],0),o.applyToX(u.i[0][0],u.i[0][1],0),o.applyToY(u.i[0][0],u.i[0][1],0),o.applyToX(u.v[0][0],u.v[0][1],0),o.applyToY(u.v[0][0],u.v[0][1],0)),y[d]=v}}else y=[];g&&(b+=n[i].l),this.textSpans.push({elem:y})}},CVTextElement.prototype.renderFrame=function(t){if(this.parent.renderFrame.call(this,t)!==!1){var e=this.canvasContext,s=this.finalTransform.mat.props;this.globalData.renderer.save(),this.globalData.renderer.ctxTransform(s),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.font=this.values.fValue,e.lineCap="butt",e.lineJoin="miter",e.miterLimit=4,this.data.singleShape||this.getMeasures();var i,a,r,n,o,h,l=this.renderedLetters,p=this.data.t.d.l;a=p.length;var m,f,d,c=null,u=null,y=null;for(i=0;a>i;i+=1)if(!p[i].n){if(m=l[i],m&&(this.globalData.renderer.save(),this.globalData.renderer.ctxTransform(m.props),this.globalData.renderer.ctxOpacity(m.o)),this.fill){for(m&&m.fc?c!==m.fc&&(c=m.fc,e.fillStyle=m.fc):c!==this.values.fill&&(c=this.values.fill,e.fillStyle=this.values.fill),f=this.textSpans[i].elem,n=f.length,this.globalData.canvasContext.beginPath(),r=0;n>r;r+=1)for(d=f[r],h=d.length,this.globalData.canvasContext.moveTo(d[0],d[1]),o=2;h>o;o+=6)this.globalData.canvasContext.bezierCurveTo(d[o],d[o+1],d[o+2],d[o+3],d[o+4],d[o+5]);this.globalData.canvasContext.closePath(),this.globalData.canvasContext.fill()}if(this.stroke){for(m&&m.sw?y!==m.sw&&(y=m.sw,e.lineWidth=m.sw):y!==this.values.sWidth&&(y=this.values.sWidth,e.lineWidth=this.values.sWidth),m&&m.sc?u!==m.sc&&(u=m.sc,e.strokeStyle=m.sc):u!==this.values.stroke&&(u=this.values.stroke,e.strokeStyle=this.values.stroke),f=this.textSpans[i].elem,n=f.length,this.globalData.canvasContext.beginPath(),r=0;n>r;r+=1)for(d=f[r],h=d.length,this.globalData.canvasContext.moveTo(d[0],d[1]),o=2;h>o;o+=6)this.globalData.canvasContext.bezierCurveTo(d[o],d[o+1],d[o+2],d[o+3],d[o+4],d[o+5]);this.globalData.canvasContext.closePath(),this.globalData.canvasContext.stroke()}m&&this.globalData.renderer.restore()}this.globalData.renderer.restore(this.data.hasMask),this.firstFrame&&(this.firstFrame=!1)}},createElement(BaseElement,HBaseElement),HBaseElement.prototype.appendNodeToParent=function(t){if(this.placeholder){var e=this.placeholder.phElement;e.parentNode.insertBefore(t,e)}else this.parentContainer.appendChild(t)},HBaseElement.prototype.createElements=function(){this.data.hasMask?(this.layerElement=document.createElementNS(svgNS,"svg"),this.appendNodeToParent(this.layerElement),this.maskedElement=this.layerElement):this.layerElement=this.parentContainer,!this.data.ln||4!==this.data.ty&&0!==this.data.ty||(this.layerElement===this.parentContainer&&(this.layerElement=document.createElementNS(svgNS,"g"),this.appendNodeToParent(this.layerElement)),this.layerElement.setAttribute("id",this.data.ln)),this.layerElement!==this.parentContainer&&(this.placeholder=null)},HBaseElement.prototype.renderFrame=function(t){if(3===this.data.ty)return!1;if(this.currentFrameNum===this.lastNum||!this.isVisible)return this.isVisible;this.lastNum=this.currentFrameNum,this.data.hasMask&&this.maskManager.renderFrame(),this.finalTransform.opMdf=this.finalTransform.op.mdf,this.finalTransform.matMdf=this.finalTransform.mProp.mdf,this.finalTransform.opacity=this.finalTransform.op.v,this.firstFrame&&(this.finalTransform.opMdf=!0,this.finalTransform.matMdf=!0);var e,s=this.finalTransform.mat;if(this.hierarchy){var i,a=this.hierarchy.length;for(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e),i=0;a>i;i+=1)this.finalTransform.matMdf=this.hierarchy[i].finalTransform.mProp.mdf?!0:this.finalTransform.matMdf,e=this.hierarchy[i].finalTransform.mProp.v.props,s.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}else this.isVisible&&this.finalTransform.matMdf&&(t?(e=this.finalTransform.mProp.v.props,s.cloneFromProps(e)):s.cloneFromProps(this.finalTransform.mProp.v.props));return t&&(e=t.mat.props,s.cloneFromProps(e),this.finalTransform.opacity*=t.opacity,this.finalTransform.opMdf=t.opMdf?!0:this.finalTransform.opMdf,this.finalTransform.matMdf=t.matMdf?!0:this.finalTransform.matMdf),this.finalTransform.matMdf&&(this.layerElement.style.transform=this.layerElement.style.webkitTransform=s.toCSS()),this.finalTransform.opMdf&&(this.layerElement.style.opacity=this.finalTransform.opacity),this.isVisible},HBaseElement.prototype.destroy=function(){this.layerElement=null,this.parentContainer=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},HBaseElement.prototype.getDomElement=function(){return this.layerElement},HBaseElement.prototype.addMasks=function(t){this.maskManager=new MaskElement(t,this,this.globalData)},HBaseElement.prototype.hide=function(){},HBaseElement.prototype.setMatte=function(){},createElement(HBaseElement,HSolidElement),HSolidElement.prototype.createElements=function(){var t=document.createElement("div");styleDiv(t);var e=document.createElementNS(svgNS,"svg");e.setAttribute("width",this.data.sw),e.setAttribute("height",this.data.sh),t.appendChild(e),this.layerElement=t,this.parentContainer.appendChild(t),this.innerElem=t,this.data.ln&&this.innerElem.setAttribute("id",this.data.ln);var s=document.createElementNS(svgNS,"rect");s.setAttribute("width",this.data.sw),s.setAttribute("height",this.data.sh),s.setAttribute("fill",this.data.sc),e.appendChild(s),this.data.hasMask&&(this.maskedElement=s)},HSolidElement.prototype.hide=function(){this.hidden||(this.innerElem.style.display="none",this.hidden=!0)},HSolidElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden&&(this.hidden=!1,this.innerElem.style.display="block"),void(this.firstFrame&&(this.firstFrame=!1)))},HSolidElement.prototype.destroy=function(){this.parent.destroy.call(),this.innerElem=null},createElement(HBaseElement,HCompElement),extendPrototype(ExpressionComp,HCompElement),HCompElement.prototype.getDomElement=function(){return this.composingElement},HCompElement.prototype.getComposingElement=function(){return this.layerElement},HCompElement.prototype.createElements=function(){if(this.layerElement=document.createElement("div"),styleDiv(this.layerElement),this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.layerElement.style.clip="rect(0px, "+this.data.w+"px, "+this.data.h+"px, 0px)",this.layerElement!==this.parentContainer&&(this.placeholder=null),this.data.hasMask){var t=document.createElementNS(svgNS,"svg");t.setAttribute("width",this.data.w),t.setAttribute("height",this.data.h);var e=document.createElementNS(svgNS,"g");t.appendChild(e),this.layerElement.appendChild(t),this.maskedElement=e,this.composingElement=e}else this.composingElement=this.layerElement;this.appendNodeToParent(this.layerElement)},HCompElement.prototype.hide=ICompElement.prototype.hide,HCompElement.prototype.prepareFrame=ICompElement.prototype.prepareFrame,HCompElement.prototype.setElements=ICompElement.prototype.setElements,HCompElement.prototype.getElements=ICompElement.prototype.getElements,HCompElement.prototype.destroy=ICompElement.prototype.destroy,HCompElement.prototype.renderFrame=function(t){var e,s=this.parent.renderFrame.call(this,t),i=this.layers.length;if(s===!1)return void this.hide();for(this.hidden=!1,e=0;i>e;e+=1)this.elements[e].renderFrame();this.firstFrame&&(this.firstFrame=!1)},createElement(HBaseElement,HShapeElement);var parent=HShapeElement.prototype.parent;extendPrototype(IShapeElement,HShapeElement),HShapeElement.prototype.parent=parent,HShapeElement.prototype.createElements=function(){var t=document.createElement("div");styleDiv(t);var e=document.createElementNS(svgNS,"svg");if(999999===this.data.bounds.l,e.setAttribute("width",this.data.bounds.r-this.data.bounds.l),e.setAttribute("height",this.data.bounds.b-this.data.bounds.t),e.setAttribute("viewBox",this.data.bounds.l+" "+this.data.bounds.t+" "+(this.data.bounds.r-this.data.bounds.l)+" "+(this.data.bounds.b-this.data.bounds.t)),e.style.transform=e.style.webkitTransform="translate("+this.data.bounds.l+"px,"+this.data.bounds.t+"px)",this.data.hasMask){var s=document.createElementNS(svgNS,"g");t.appendChild(e),e.appendChild(s),this.maskedElement=s,this.layerElement=s,this.shapesContainer=s}else t.appendChild(e),this.layerElement=e,this.shapesContainer=document.createElementNS(svgNS,"g"),this.layerElement.appendChild(this.shapesContainer);this.parentContainer.appendChild(t),this.innerElem=t,this.data.ln&&this.innerElem.setAttribute("id",this.data.ln),this.searchShapes(this.shapesData,this.viewData,this.dynamicProperties,[]),this.buildExpressionInterface(),this.layerElement=t},HShapeElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);return e===!1?void this.hide():(this.hidden=!1,this.transformHelper.opacity=this.finalTransform.opacity,this.transformHelper.matMdf=!1,this.transformHelper.opMdf=this.finalTransform.opMdf,void this.renderShape(this.transformHelper,null,null,!0))},createElement(HBaseElement,HTextElement),HTextElement.prototype.init=ITextElement.prototype.init,HTextElement.prototype.getMeasures=ITextElement.prototype.getMeasures,HTextElement.prototype.createPathShape=ITextElement.prototype.createPathShape,HTextElement.prototype.createElements=function(){this.isMasked=this.checkMasks();var t=this.data.t.d,e=document.createElement("div");if(styleDiv(e),this.layerElement=e,this.isMasked){this.renderType="svg";var s=document.createElementNS(svgNS,"svg");this.cont=s,this.compW=this.comp.data?this.comp.data.w:this.globalData.compSize.w,this.compH=this.comp.data?this.comp.data.h:this.globalData.compSize.h,s.setAttribute("width",this.compW),s.setAttribute("height",this.compH);var i=document.createElementNS(svgNS,"g");s.appendChild(i),e.appendChild(s),this.maskedElement=i,this.innerElem=i}else this.renderType="html",this.innerElem=e;this.parentContainer.appendChild(e),this.innerElem.style.color=this.innerElem.style.fill=t.fc?"rgb("+t.fc[0]+","+t.fc[1]+","+t.fc[2]+")":"rgba(0,0,0,0)",t.sc&&(this.innerElem.style.stroke="rgb("+t.sc[0]+","+t.sc[1]+","+t.sc[2]+")",this.innerElem.style.strokeWidth=t.sw+"px");var a=this.globalData.fontManager.getFontByName(t.f);if(!this.globalData.fontManager.chars)if(this.innerElem.style.fontSize=t.s+"px",this.innerElem.style.lineHeight=t.s+"px",a.fClass)this.innerElem.className=a.fClass;else{this.innerElem.style.fontFamily=a.fFamily;var r=t.fWeight,n=t.fStyle;this.innerElem.style.fontStyle=n,this.innerElem.style.fontWeight=r}var o,h,l=t.l;h=l.length;var p,m,f,d,c=this.mHelper,u="";for(o=0;h>o;o+=1){if(this.globalData.fontManager.chars?(p=document.createElementNS(svgNS,"path"),this.isMasked||(m=document.createElement("div"),f=document.createElementNS(svgNS,"svg"),m.appendChild(f),f.appendChild(p),styleDiv(m)),p.setAttribute("stroke-linecap","butt"),p.setAttribute("stroke-linejoin","round"),p.setAttribute("stroke-miterlimit","4")):this.isMasked?p=document.createElementNS(svgNS,"text"):(m=document.createElement("span"),styleDiv(m),p=document.createElement("span"),styleDiv(p),m.appendChild(p)),this.globalData.fontManager.chars){var y,v=this.globalData.fontManager.getCharData(t.t.charAt(o),a.fStyle,this.globalData.fontManager.getFontByName(t.f).fFamily);if(y=v?v.data:null,c.reset(),y&&y.shapes&&(d=y.shapes[0].it,c.scale(t.s/100,t.s/100),u=this.createPathShape(c,d),p.setAttribute("d",u)),this.isMasked)this.innerElem.appendChild(p);else{this.innerElem.appendChild(m);var g=t.s/100;if(y&&y.shapes){var b=Math.ceil(y.bounds.r*g),E=Math.floor(y.bounds.t*g),P=Math.floor(y.bounds.l*g),k=Math.ceil(y.bounds.b*g);f.setAttribute("width",b-P),f.setAttribute("height",k-E),f.setAttribute("viewBox",P+" "+E+" "+(b-P)+" "+(k-E)),f.style.transform=f.style.webkitTransform="translate("+P+"px,"+E+"px)",l[o].yOffset=E}else f.setAttribute("width",1),f.setAttribute("height",1)}}else p.textContent=l[o].val,p.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),this.isMasked?this.innerElem.appendChild(p):(this.innerElem.appendChild(m),p.style.transform=p.style.webkitTransform="translate3d(0,"+-t.s/1.2+"px,0)");this.textSpans.push(this.isMasked?p:m),this.textPaths.push(p)}},HTextElement.prototype.hide=SVGTextElement.prototype.hide,HTextElement.prototype.renderFrame=function(t){var e=this.parent.renderFrame.call(this,t);if(e===!1)return void this.hide();if(this.hidden&&(this.hidden=!1,this.innerElem.style.display="block"),this.data.singleShape){if(!this.firstFrame)return;this.isMasked&&this.finalTransform.matMdf&&(this.cont.setAttribute("viewBox",-this.finalTransform.mProp.p.v[0]+" "+-this.finalTransform.mProp.p.v[1]+" "+this.compW+" "+this.compH),this.cont.style.transform=this.cont.style.webkitTransform="translate("+-this.finalTransform.mProp.p.v[0]+"px,"+-this.finalTransform.mProp.p.v[1]+"px)")}if(this.getMeasures(),this.lettersChangedFlag){var s,i,a=this.renderedLetters,r=this.data.t.d.l;i=r.length;var n;for(s=0;i>s;s+=1)r[s].n||(n=a[s],this.isMasked?this.textSpans[s].setAttribute("transform",n.m):this.textSpans[s].style.transform=this.textSpans[s].style.webkitTransform=n.m,this.textSpans[s].style.opacity=n.o,n.sw&&this.textPaths[s].setAttribute("stroke-width",n.sw),n.sc&&this.textPaths[s].setAttribute("stroke",n.sc),n.fc&&(this.textPaths[s].setAttribute("fill",n.fc),this.textPaths[s].style.color=n.fc));if(this.isMasked){var o=this.innerElem.getBBox();this.currentBBox.w!==o.width&&(this.currentBBox.w=o.width,this.cont.setAttribute("width",o.width)),this.currentBBox.h!==o.height&&(this.currentBBox.h=o.height,this.cont.setAttribute("height",o.height)),(this.currentBBox.w!==o.width||this.currentBBox.h!==o.height||this.currentBBox.x!==o.x||this.currentBBox.y!==o.y)&&(this.currentBBox.w=o.width,this.currentBBox.h=o.height,this.currentBBox.x=o.x,this.currentBBox.y=o.y,this.cont.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h),this.cont.style.transform=this.cont.style.webkitTransform="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)")}this.firstFrame&&(this.firstFrame=!1)}},HTextElement.prototype.destroy=SVGTextElement.prototype.destroy,createElement(HBaseElement,HImageElement),HImageElement.prototype.createElements=function(){var t,e=function(){this.imageElem.setAttributeNS("http://www.w3.org/1999/xlink","href",this.path+this.assetData.p)},s=new Image;if(this.data.hasMask){var t=document.createElement("div");styleDiv(t);var i=document.createElementNS(svgNS,"svg");i.setAttribute("width",this.assetData.w),i.setAttribute("height",this.assetData.h),t.appendChild(i),this.imageElem=document.createElementNS(svgNS,"image"),this.imageElem.setAttribute("width",this.assetData.w+"px"),this.imageElem.setAttribute("height",this.assetData.h+"px"),i.appendChild(this.imageElem),this.layerElement=t,this.parentContainer.appendChild(t),this.innerElem=t,this.maskedElement=this.imageElem,s.addEventListener("load",e.bind(this),!1),s.addEventListener("error",e.bind(this),!1)}else styleDiv(s),this.layerElement=s,this.parentContainer.appendChild(s),this.innerElem=s;s.src=this.path+this.assetData.p,this.data.ln&&this.innerElem.setAttribute("id",this.data.ln)},HImageElement.prototype.hide=HSolidElement.prototype.hide,HImageElement.prototype.renderFrame=HSolidElement.prototype.renderFrame,HImageElement.prototype.destroy=HSolidElement.prototype.destroy,createElement(HBaseElement,HCameraElement),HCameraElement.prototype.setup=function(){var t,e,s=this.comp.threeDElements.length;for(t=0;s>t;t+=1)e=this.comp.threeDElements[t],e[0].style.perspective=e[0].style.webkitPerspective=this.pe.v+"px",e[1].style.transformOrigin=e[1].style.mozTransformOrigin=e[1].style.webkitTransformOrigin="0px 0px 0px",e[0].style.transform=e[0].style.webkitTransform="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)"},HCameraElement.prototype.createElements=function(){},HCameraElement.prototype.hide=function(){},HCameraElement.prototype.renderFrame=function(){var t,e,s=this.firstFrame;if(this.hierarchy)for(e=this.hierarchy.length,t=0;e>t;t+=1)s=this.hierarchy[t].finalTransform.mProp.mdf?!0:s;if(s||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){if(this.mat.reset(),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){var i=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]],a=Math.sqrt(Math.pow(i[0],2)+Math.pow(i[1],2)+Math.pow(i[2],2)),r=[i[0]/a,i[1]/a,i[2]/a],n=Math.sqrt(r[2]*r[2]+r[0]*r[0]),o=Math.atan2(r[1],n),h=Math.atan2(r[0],-r[2]);this.mat.rotateY(h).rotateX(-o)}if(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),this.hierarchy){var l;for(e=this.hierarchy.length,t=0;e>t;t+=1)l=this.hierarchy[t].finalTransform.mProp.iv.props,this.mat.transform(l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],l[9],l[10],l[11],-l[12],-l[13],l[14],l[15])}e=this.comp.threeDElements.length;var p;for(t=0;e>t;t+=1)p=this.comp.threeDElements[t],p[1].style.transform=p[1].style.webkitTransform=this.mat.toCSS()}this.firstFrame=!1},HCameraElement.prototype.destroy=function(){};var animationManager=function(){function t(e){var s=0,i=e.target;for(i.removeEventListener("destroy",t);P>s;)g[s].animation===i&&(g.splice(s,1),s-=1,P-=1),s+=1}function e(e,s){if(!e)return null;for(var i=0;P>i;){if(g[i].elem==e&&null!==g[i].elem)return g[i].animation;i+=1}var a=new AnimationItem;return a.setData(e,s),a.addEventListener("destroy",t),g.push({elem:e,animation:a}),P+=1,a}function s(e){var s=new AnimationItem;return s.setParams(e),s.addEventListener("destroy",t),g.push({elem:null,animation:s}),P+=1,s}function i(t,e){var s;for(s=0;P>s;s+=1)g[s].animation.setSpeed(t,e)}function a(t,e){var s;for(s=0;P>s;s+=1)g[s].animation.setDirection(t,e)}function r(t){var e;for(e=0;P>e;e+=1)g[e].animation.play(t)}function n(t,e){E=!1,b=Date.now();var s;for(s=0;P>s;s+=1)g[s].animation.moveFrame(t,e)}function o(t){var e,s=t-b;for(e=0;P>e;e+=1)g[e].animation.advanceTime(s);b=t,requestAnimationFrame(o)}function h(t){b=t,requestAnimationFrame(o)}function l(t){var e;for(e=0;P>e;e+=1)g[e].animation.pause(t)}function p(t,e,s){var i;for(i=0;P>i;i+=1)g[i].animation.goToAndStop(t,e,s)}function m(t){var e;for(e=0;P>e;e+=1)g[e].animation.stop(t)}function f(t){var e;for(e=0;P>e;e+=1)g[e].animation.togglePause(t)}function d(t){var e;for(e=0;P>e;e+=1)g[e].animation.destroy(t)}function c(t,s,i){var a,r=document.getElementsByClassName("bodymovin"),n=r.length;for(a=0;n>a;a+=1)i&&r[a].setAttribute("data-bm-type",i),e(r[a],t);if(s&&0===n){i||(i="svg");var o=document.getElementsByTagName("body")[0];o.innerHTML="";var h=document.createElement("div");h.style.width="100%",h.style.height="100%",h.setAttribute("data-bm-type",i),o.appendChild(h),e(h,t)}}function u(){var t;for(t=0;P>t;t+=1)g[t].animation.resize()}function y(){requestAnimationFrame(h)}var v={},g=[],b=0,E=!0,P=0;return setTimeout(y,0),v.registerAnimation=e,v.loadAnimation=s,v.setSpeed=i,v.setDirection=a,v.play=r,v.moveFrame=n,v.pause=l,v.stop=m,v.togglePause=f,v.searchAnimations=c,v.resize=u,v.start=y,v.goToAndStop=p,v.destroy=d,v}(),AnimationItem=function(){this._cbs=[],this.name="",this.path="",this.isLoaded=!1,this.currentFrame=0,this.currentRawFrame=0,this.totalFrames=0,this.frameRate=0,this.frameMult=0,this.playSpeed=1,this.playDirection=1,this.pendingElements=0,this.playCount=0,this.prerenderFramesFlag=!0,this.repeat="indefinite",this.animationData={},this.layers=[],this.assets=[],this.isPaused=!0,this.isScrolling=!1,this.autoplay=!1,this.loop=!0,this.renderer=null,this.animationID=randomString(10),this.renderedFrameCount=0,this.scaleMode="fit",this.math=Math,this.removed=!1,this.timeCompleted=0,this.segmentPos=0,this.segments=[]};AnimationItem.prototype.setParams=function(t){var e=this;t.context&&(this.context=t.context),(t.wrapper||t.container)&&(this.wrapper=t.wrapper||t.container);var s=t.animType?t.animType:t.renderer?t.renderer:"canvas";switch(s){case"canvas":this.renderer=new CanvasRenderer(this,t.rendererSettings);break;case"svg":this.renderer=new SVGRenderer(this,t.rendererSettings);break;case"hybrid":case"html":default:this.renderer=new HybridRenderer(this,t.rendererSettings)}if(this.animType=s,""===t.loop||null===t.loop||(this.loop=t.loop===!1?!1:t.loop===!0?!0:parseInt(t.loop)),this.autoplay="autoplay"in t?t.autoplay:!0,this.name=t.name?t.name:"",this.prerenderFramesFlag="prerender"in t?t.prerender:!0,this.autoloadSegments=t.hasOwnProperty("autoloadSegments")?t.autoloadSegments:!0,t.animationData)e.configAnimation(t.animationData);else if(t.path){"json"!=t.path.substr(-4)&&("/"!=t.path.substr(-1,1)&&(t.path+="/"),t.path+="data.json");var i=new XMLHttpRequest;this.path=-1!=t.path.lastIndexOf("\\")?t.path.substr(0,t.path.lastIndexOf("\\")+1):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")),i.open("GET",t.path,!0),i.send(),i.onreadystatechange=function(){if(4==i.readyState)if(200==i.status)e.configAnimation(JSON.parse(i.responseText));else try{var t=JSON.parse(i.responseText);e.configAnimation(t)}catch(s){}}}},AnimationItem.prototype.setData=function(t,e){var s={wrapper:t,animationData:e?"object"==typeof e?e:JSON.parse(e):null},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:"";""===a||(s.loop="false"===a?!1:"true"===a?!0:parseInt(a)),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:"";var r=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:"";
 
-"false"===r&&(s.prerender=!1),this.setParams(s)},AnimationItem.prototype.includeLayers=function(t){t.op>this.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip),this.animationData.tf=this.totalFrames);var e,s,i=this.animationData.layers,a=i.length,r=t.layers,n=r.length;for(s=0;n>s;s+=1)for(e=0;a>e;){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;a>e;e+=1)this.animationData.assets.push(t.assets[e]);dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.includeLayers(t.layers),this.renderer.buildStage(this.container,this.layers),this.renderer.renderFrame(null),this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var t=this.animationData.segments;if(!t||0===t.length||!this.autoloadSegments)return this.trigger("data_ready"),void(this.timeCompleted=this.animationData.tf);var e=t.shift();this.timeCompleted=e.time*this.frameRate;var s=new XMLHttpRequest,i=this,a=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,s.open("GET",a,!0),s.send(),s.onreadystatechange=function(){if(4==s.readyState)if(200==s.status)i.includeLayers(JSON.parse(s.responseText));else try{var t=JSON.parse(s.responseText);i.includeLayers(t)}catch(e){}}},AnimationItem.prototype.loadSegments=function(){var t=this.animationData.segments;t||(this.timeCompleted=this.animationData.tf),this.loadNextSegment()},AnimationItem.prototype.configAnimation=function(t){this.animationData=t,this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.animationData.tf=this.totalFrames,this.renderer.configAnimation(t),t.assets||(t.assets=[]),t.comps&&(t.assets=t.assets.concat(t.comps),t.comps=null),this.animationData._id=this.animationID,this.animationData._animType=this.animType,this.layers=this.animationData.layers,this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.firstFrame=Math.round(this.animationData.ip),this.frameMult=this.animationData.fr/1e3,this.trigger("config_ready"),this.loadSegments(),this.updaFrameModifier(),this.renderer.globalData.fontManager?this.waitForFontsLoaded():(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.checkLoaded())},AnimationItem.prototype.waitForFontsLoaded=function(){function t(){this.renderer.globalData.fontManager.loaded?(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.buildItems(this.animationData.layers),this.checkLoaded()):setTimeout(t.bind(this),20)}return function(){t.bind(this)()}}(),AnimationItem.prototype.elementLoaded=function(){this.pendingElements--,this.checkLoaded()},AnimationItem.prototype.checkLoaded=function(){0===this.pendingElements&&(this.renderer.buildStage(this.container,this.layers),this.trigger("DOMLoaded"),this.isLoaded=!0,this.gotoFrame(),this.autoplay&&this.play())},AnimationItem.prototype.resize=function(){this.renderer.updateContainerSize()},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=subframeEnabled?this.currentRawFrame:this.math.floor(this.currentRawFrame),this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame()},AnimationItem.prototype.renderFrame=function(){this.isLoaded!==!1&&this.renderer.renderFrame(this.currentFrame+this.firstFrame)},AnimationItem.prototype.play=function(t){t&&this.name!=t||this.isPaused===!0&&(this.isPaused=!1)},AnimationItem.prototype.pause=function(t){t&&this.name!=t||this.isPaused===!1&&(this.isPaused=!0)},AnimationItem.prototype.togglePause=function(t){t&&this.name!=t||(this.isPaused===!0?(this.isPaused=!1,this.play()):(this.isPaused=!0,this.pause()))},AnimationItem.prototype.stop=function(t){t&&this.name!=t||(this.isPaused=!0,this.currentFrame=this.currentRawFrame=0,this.playCount=0,this.gotoFrame())},AnimationItem.prototype.goToAndStop=function(t,e,s){s&&this.name!=s||(this.setCurrentRawFrameValue(e?t:t*this.frameModifier),this.isPaused=!0)},AnimationItem.prototype.advanceTime=function(t){this.isPaused!==!0&&this.isScrolling!==!0&&this.isLoaded!==!1&&this.setCurrentRawFrameValue(this.currentRawFrame+t*this.frameModifier)},AnimationItem.prototype.updateAnimation=function(t){this.setCurrentRawFrameValue(this.totalFrames*t)},AnimationItem.prototype.moveFrame=function(t,e){e&&this.name!=e||this.setCurrentRawFrameValue(this.currentRawFrame+t)},AnimationItem.prototype.adjustSegment=function(t){this.totalFrames=t[1]-t[0],this.firstFrame=t[0],this.trigger("segmentStart")},AnimationItem.prototype.playSegments=function(t,e){if("object"==typeof t[0]){var s,i=t.length;for(s=0;i>s;s+=1)this.segments.push(t[s])}else this.segments.push(t);e&&(this.adjustSegment(this.segments.shift()),this.setCurrentRawFrameValue(0)),this.isPaused&&this.play()},AnimationItem.prototype.resetSegments=function(t){this.segments.length=0,this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op-this.animationData.ip+this.animationData.ip*this.frameRate)]),t&&this.adjustSegment(this.segments.shift())},AnimationItem.prototype.remove=function(t){t&&this.name!=t||this.renderer.destroy()},AnimationItem.prototype.destroy=function(t){t&&this.name!=t||this.renderer&&this.renderer.destroyed||(this.renderer.destroy(),this.trigger("destroy"),this._cbs=null)},AnimationItem.prototype.setCurrentRawFrameValue=function(t){this.currentRawFrame=t;var e=!1;if(this.currentRawFrame>=this.totalFrames){if(this.segments.length&&(e=!0),this.loop===!1)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete");if(this.trigger("loopComplete"),this.playCount+=1,this.loop!==!0&&this.playCount==this.loop)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete")}else if(this.currentRawFrame<0)return this.playCount-=1,this.playCount<0&&(this.playCount=0),this.loop===!1?(this.currentRawFrame=0,this.gotoFrame(),this.pause(),void this.trigger("complete")):(this.trigger("loopComplete"),this.currentRawFrame=this.totalFrames+this.currentRawFrame,void this.gotoFrame());if(e){var s=this.currentRawFrame%this.totalFrames;this.adjustSegment(this.segments.shift()),this.currentRawFrame=s}else this.currentRawFrame=this.currentRawFrame%this.totalFrames;this.gotoFrame()},AnimationItem.prototype.setSpeed=function(t){this.playSpeed=t,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(t){this.playDirection=0>t?-1:1,this.updaFrameModifier()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetData=function(t){for(var e=0,s=this.assets.length;s>e;){if(t==this.assets[e].id)return this.assets[e];e+=1}},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getAssets=function(){return this.assets},AnimationItem.prototype.trigger=function(t){if(this._cbs[t])switch(t){case"enterFrame":this.triggerEvent(t,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult));break;case"loopComplete":this.triggerEvent(t,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(t,new BMCompleteEvent(t,this.frameMult));break;case"segmentStart":this.triggerEvent(t,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(t,new BMDestroyEvent(t,this));break;default:this.triggerEvent(t)}"enterFrame"===t&&this.onEnterFrame&&this.onEnterFrame.call(this,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult)),"loopComplete"===t&&this.onLoopComplete&&this.onLoopComplete.call(this,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult)),"complete"===t&&this.onComplete&&this.onComplete.call(this,new BMCompleteEvent(t,this.frameMult)),"segmentStart"===t&&this.onSegmentStart&&this.onSegmentStart.call(this,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames)),"destroy"===t&&this.onDestroy&&this.onDestroy.call(this,new BMDestroyEvent(t,this))},AnimationItem.prototype.addEventListener=_addEventListener,AnimationItem.prototype.removeEventListener=_removeEventListener,AnimationItem.prototype.triggerEvent=_triggerEvent;var bodymovinjs = {}; function play(animation){ animationManager.play(animation); } function pause(animation){ animationManager.pause(animation); } function togglePause(animation){ animationManager.togglePause(animation); } function setSpeed(value,animation){ animationManager.setSpeed(value, animation); } function setDirection(value,animation){ animationManager.setDirection(value, animation); } function stop(animation){ animationManager.stop(animation); } function moveFrame(value){ animationManager.moveFrame(value); } function searchAnimations(){ if(standalone === true){ animationManager.searchAnimations(animationData,standalone, renderer); }else{ animationManager.searchAnimations(); } } function registerAnimation(elem){ return animationManager.registerAnimation(elem); } function resize(){ animationManager.resize(); } function start(){ animationManager.start(); } function goToAndStop(val,isFrame, animation){ animationManager.goToAndStop(val,isFrame, animation); } function setSubframeRendering(flag){ subframeEnabled = flag; } function loadAnimation(params){ if(standalone === true){ params.animationData = JSON.parse(animationData); } return animationManager.loadAnimation(params); } function destroy(animation){ return animationManager.destroy(animation); } function setQuality(value){ if(typeof value === 'string'){ switch(value){ case 'high': defaultCurveSegments = 200; break; case 'medium': defaultCurveSegments = 50; break; case 'low': defaultCurveSegments = 10; break; } }else if(!isNaN(value) && value > 1){ defaultCurveSegments = value; } if(defaultCurveSegments >= 50){ roundValues(false); }else{ roundValues(true); } } bodymovinjs.play = play; bodymovinjs.pause = pause; bodymovinjs.togglePause = togglePause; bodymovinjs.setSpeed = setSpeed; bodymovinjs.setDirection = setDirection; bodymovinjs.stop = stop; bodymovinjs.moveFrame = moveFrame; bodymovinjs.searchAnimations = searchAnimations; bodymovinjs.registerAnimation = registerAnimation; bodymovinjs.loadAnimation = loadAnimation; bodymovinjs.setSubframeRendering = setSubframeRendering; bodymovinjs.resize = resize; bodymovinjs.start = start; bodymovinjs.goToAndStop = goToAndStop; bodymovinjs.destroy = destroy; bodymovinjs.setQuality = setQuality; bodymovinjs.version = '4.1.3'; function checkReady(){ if (document.readyState === "complete") { clearInterval(readyStateCheckInterval); searchAnimations(); } } function getQueryVariable(variable) { var vars = queryString.split('&'); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split('='); if (decodeURIComponent(pair[0]) == variable) { return decodeURIComponent(pair[1]); } } } var standalone = '__[STANDALONE]__'; var animationData = '__[ANIMATIONDATA]__'; var renderer = ''; if(standalone) { var scripts = document.getElementsByTagName('script'); var index = scripts.length - 1; var myScript = scripts[index]; var queryString = myScript.src.replace(/^[^\?]+\??/,''); renderer = getQueryVariable('renderer'); } var readyStateCheckInterval = setInterval(checkReady, 100); return bodymovinjs; })); 
\ No newline at end of file
+"false"===r&&(s.prerender=!1),this.setParams(s)},AnimationItem.prototype.includeLayers=function(t){t.op>this.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip),this.animationData.tf=this.totalFrames);var e,s,i=this.animationData.layers,a=i.length,r=t.layers,n=r.length;for(s=0;n>s;s+=1)for(e=0;a>e;){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;a>e;e+=1)this.animationData.assets.push(t.assets[e]);dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.includeLayers(t.layers),this.renderer.buildStage(this.container,this.layers),this.renderer.renderFrame(null),this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var t=this.animationData.segments;if(!t||0===t.length||!this.autoloadSegments)return this.trigger("data_ready"),void(this.timeCompleted=this.animationData.tf);var e=t.shift();this.timeCompleted=e.time*this.frameRate;var s=new XMLHttpRequest,i=this,a=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,s.open("GET",a,!0),s.send(),s.onreadystatechange=function(){if(4==s.readyState)if(200==s.status)i.includeLayers(JSON.parse(s.responseText));else try{var t=JSON.parse(s.responseText);i.includeLayers(t)}catch(e){}}},AnimationItem.prototype.loadSegments=function(){var t=this.animationData.segments;t||(this.timeCompleted=this.animationData.tf),this.loadNextSegment()},AnimationItem.prototype.configAnimation=function(t){this.animationData=t,this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.animationData.tf=this.totalFrames,this.renderer.configAnimation(t),t.assets||(t.assets=[]),t.comps&&(t.assets=t.assets.concat(t.comps),t.comps=null),this.animationData._id=this.animationID,this.animationData._animType=this.animType,this.layers=this.animationData.layers,this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.firstFrame=Math.round(this.animationData.ip),this.frameMult=this.animationData.fr/1e3,this.trigger("config_ready"),this.loadSegments(),this.updaFrameModifier(),this.renderer.globalData.fontManager?this.waitForFontsLoaded():(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.checkLoaded())},AnimationItem.prototype.waitForFontsLoaded=function(){function t(){this.renderer.globalData.fontManager.loaded?(dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.buildItems(this.animationData.layers),this.checkLoaded()):setTimeout(t.bind(this),20)}return function(){t.bind(this)()}}(),AnimationItem.prototype.elementLoaded=function(){this.pendingElements--,this.checkLoaded()},AnimationItem.prototype.checkLoaded=function(){0===this.pendingElements&&(this.renderer.buildStage(this.container,this.layers),this.trigger("DOMLoaded"),this.isLoaded=!0,this.gotoFrame(),this.autoplay&&this.play())},AnimationItem.prototype.resize=function(){this.renderer.updateContainerSize()},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=subframeEnabled?this.currentRawFrame:this.math.floor(this.currentRawFrame),this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame()},AnimationItem.prototype.renderFrame=function(){this.isLoaded!==!1&&this.renderer.renderFrame(this.currentFrame+this.firstFrame)},AnimationItem.prototype.play=function(t){t&&this.name!=t||this.isPaused===!0&&(this.isPaused=!1)},AnimationItem.prototype.pause=function(t){t&&this.name!=t||this.isPaused===!1&&(this.isPaused=!0)},AnimationItem.prototype.togglePause=function(t){t&&this.name!=t||(this.isPaused===!0?(this.isPaused=!1,this.play()):(this.isPaused=!0,this.pause()))},AnimationItem.prototype.stop=function(t){t&&this.name!=t||(this.isPaused=!0,this.currentFrame=this.currentRawFrame=0,this.playCount=0,this.gotoFrame())},AnimationItem.prototype.goToAndStop=function(t,e,s){s&&this.name!=s||(this.setCurrentRawFrameValue(e?t:t*this.frameModifier),this.isPaused=!0)},AnimationItem.prototype.advanceTime=function(t){this.isPaused!==!0&&this.isScrolling!==!0&&this.isLoaded!==!1&&this.setCurrentRawFrameValue(this.currentRawFrame+t*this.frameModifier)},AnimationItem.prototype.updateAnimation=function(t){this.setCurrentRawFrameValue(this.totalFrames*t)},AnimationItem.prototype.moveFrame=function(t,e){e&&this.name!=e||this.setCurrentRawFrameValue(this.currentRawFrame+t)},AnimationItem.prototype.adjustSegment=function(t){this.totalFrames=t[1]-t[0],this.firstFrame=t[0],this.trigger("segmentStart")},AnimationItem.prototype.playSegments=function(t,e){if("object"==typeof t[0]){var s,i=t.length;for(s=0;i>s;s+=1)this.segments.push(t[s])}else this.segments.push(t);e&&(this.adjustSegment(this.segments.shift()),this.setCurrentRawFrameValue(0)),this.isPaused&&this.play()},AnimationItem.prototype.resetSegments=function(t){this.segments.length=0,this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op-this.animationData.ip+this.animationData.ip*this.frameRate)]),t&&this.adjustSegment(this.segments.shift())},AnimationItem.prototype.remove=function(t){t&&this.name!=t||this.renderer.destroy()},AnimationItem.prototype.destroy=function(t){t&&this.name!=t||this.renderer&&this.renderer.destroyed||(this.renderer.destroy(),this.trigger("destroy"),this._cbs=null)},AnimationItem.prototype.setCurrentRawFrameValue=function(t){this.currentRawFrame=t;var e=!1;if(this.currentRawFrame>=this.totalFrames){if(this.segments.length&&(e=!0),this.loop===!1)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete");if(this.trigger("loopComplete"),this.playCount+=1,this.loop!==!0&&this.playCount==this.loop)return this.currentRawFrame=this.totalFrames-.01,this.gotoFrame(),this.pause(),void this.trigger("complete")}else if(this.currentRawFrame<0)return this.playCount-=1,this.playCount<0&&(this.playCount=0),this.loop===!1?(this.currentRawFrame=0,this.gotoFrame(),this.pause(),void this.trigger("complete")):(this.trigger("loopComplete"),this.currentRawFrame=this.totalFrames+this.currentRawFrame,void this.gotoFrame());if(e){var s=this.currentRawFrame%this.totalFrames;this.adjustSegment(this.segments.shift()),this.currentRawFrame=s}else this.currentRawFrame=this.currentRawFrame%this.totalFrames;this.gotoFrame()},AnimationItem.prototype.setSpeed=function(t){this.playSpeed=t,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(t){this.playDirection=0>t?-1:1,this.updaFrameModifier()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetData=function(t){for(var e=0,s=this.assets.length;s>e;){if(t==this.assets[e].id)return this.assets[e];e+=1}},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getAssets=function(){return this.assets},AnimationItem.prototype.trigger=function(t){if(this._cbs[t])switch(t){case"enterFrame":this.triggerEvent(t,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult));break;case"loopComplete":this.triggerEvent(t,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(t,new BMCompleteEvent(t,this.frameMult));break;case"segmentStart":this.triggerEvent(t,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(t,new BMDestroyEvent(t,this));break;default:this.triggerEvent(t)}"enterFrame"===t&&this.onEnterFrame&&this.onEnterFrame.call(this,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult)),"loopComplete"===t&&this.onLoopComplete&&this.onLoopComplete.call(this,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult)),"complete"===t&&this.onComplete&&this.onComplete.call(this,new BMCompleteEvent(t,this.frameMult)),"segmentStart"===t&&this.onSegmentStart&&this.onSegmentStart.call(this,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames)),"destroy"===t&&this.onDestroy&&this.onDestroy.call(this,new BMDestroyEvent(t,this))},AnimationItem.prototype.addEventListener=_addEventListener,AnimationItem.prototype.removeEventListener=_removeEventListener,AnimationItem.prototype.triggerEvent=_triggerEvent;var bodymovinjs = {}; function play(animation){ animationManager.play(animation); } function pause(animation){ animationManager.pause(animation); } function togglePause(animation){ animationManager.togglePause(animation); } function setSpeed(value,animation){ animationManager.setSpeed(value, animation); } function setDirection(value,animation){ animationManager.setDirection(value, animation); } function stop(animation){ animationManager.stop(animation); } function moveFrame(value){ animationManager.moveFrame(value); } function searchAnimations(){ if(standalone === true){ animationManager.searchAnimations(animationData,standalone, renderer); }else{ animationManager.searchAnimations(); } } function registerAnimation(elem){ return animationManager.registerAnimation(elem); } function resize(){ animationManager.resize(); } function start(){ animationManager.start(); } function goToAndStop(val,isFrame, animation){ animationManager.goToAndStop(val,isFrame, animation); } function setSubframeRendering(flag){ subframeEnabled = flag; } function loadAnimation(params){ if(standalone === true){ params.animationData = JSON.parse(animationData); } return animationManager.loadAnimation(params); } function destroy(animation){ return animationManager.destroy(animation); } function setQuality(value){ if(typeof value === 'string'){ switch(value){ case 'high': defaultCurveSegments = 200; break; case 'medium': defaultCurveSegments = 50; break; case 'low': defaultCurveSegments = 10; break; } }else if(!isNaN(value) && value > 1){ defaultCurveSegments = value; } if(defaultCurveSegments >= 50){ roundValues(false); }else{ roundValues(true); } } bodymovinjs.play = play; bodymovinjs.pause = pause; bodymovinjs.togglePause = togglePause; bodymovinjs.setSpeed = setSpeed; bodymovinjs.setDirection = setDirection; bodymovinjs.stop = stop; bodymovinjs.moveFrame = moveFrame; bodymovinjs.searchAnimations = searchAnimations; bodymovinjs.registerAnimation = registerAnimation; bodymovinjs.loadAnimation = loadAnimation; bodymovinjs.setSubframeRendering = setSubframeRendering; bodymovinjs.resize = resize; bodymovinjs.start = start; bodymovinjs.goToAndStop = goToAndStop; bodymovinjs.destroy = destroy; bodymovinjs.setQuality = setQuality; bodymovinjs.version = '4.1.4'; function checkReady(){ if (document.readyState === "complete") { clearInterval(readyStateCheckInterval); searchAnimations(); } } function getQueryVariable(variable) { var vars = queryString.split('&'); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split('='); if (decodeURIComponent(pair[0]) == variable) { return decodeURIComponent(pair[1]); } } } var standalone = '__[STANDALONE]__'; var animationData = '__[ANIMATIONDATA]__'; var renderer = ''; if(standalone) { var scripts = document.getElementsByTagName('script'); var index = scripts.length - 1; var myScript = scripts[index]; var queryString = myScript.src.replace(/^[^\?]+\??/,''); renderer = getQueryVariable('renderer'); } var readyStateCheckInterval = setInterval(checkReady, 100); return bodymovinjs; })); 
\ No newline at end of file
diff --git a/extension/jsx/renderManager.jsx b/extension/jsx/renderManager.jsx
index b4819f4..8fa042d 100644
--- a/extension/jsx/renderManager.jsx
+++ b/extension/jsx/renderManager.jsx
@@ -89,7 +89,7 @@
         exportData.assets = [];
         exportData.comps = [];
         exportData.fonts = [];
-        exportData.v = '4.1.3';
+        exportData.v = '4.1.4';
         exportData.ddd = 0;
         exportData.layers = [];
         exportData.ip = comp.workAreaStart * comp.frameRate;
diff --git a/gulpfile.js b/gulpfile.js
index d73626c..b0d7f42 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -13,7 +13,7 @@
 var jshint = require('gulp-jshint');
 var rename = require('gulp-rename');
 
-var bm_version = '4.1.3';
+var bm_version = '4.1.4';
 var moduleWrap = '(function (root, factory) { if(typeof define === "function" && define.amd) { define( factory); } else if(typeof module === "object" && module.exports) { module.exports = factory(); } else { root.bodymovin = factory(); } }(window, function() {<%= contents %>var bodymovinjs = {}; function play(animation){ animationManager.play(animation); } function pause(animation){ animationManager.pause(animation); } function togglePause(animation){ animationManager.togglePause(animation); } function setSpeed(value,animation){ animationManager.setSpeed(value, animation); } function setDirection(value,animation){ animationManager.setDirection(value, animation); } function stop(animation){ animationManager.stop(animation); } function moveFrame(value){ animationManager.moveFrame(value); } function searchAnimations(){ if(standalone === true){ animationManager.searchAnimations(animationData,standalone, renderer); }else{ animationManager.searchAnimations(); } } function registerAnimation(elem){ return animationManager.registerAnimation(elem); } function resize(){ animationManager.resize(); } function start(){ animationManager.start(); } function goToAndStop(val,isFrame, animation){ animationManager.goToAndStop(val,isFrame, animation); } function setSubframeRendering(flag){ subframeEnabled = flag; } function loadAnimation(params){ if(standalone === true){ params.animationData = JSON.parse(animationData); } return animationManager.loadAnimation(params); } function destroy(animation){ return animationManager.destroy(animation); } function setQuality(value){ if(typeof value === \'string\'){ switch(value){ case \'high\': defaultCurveSegments = 200; break; case \'medium\': defaultCurveSegments = 50; break; case \'low\': defaultCurveSegments = 10; break; } }else if(!isNaN(value) && value > 1){ defaultCurveSegments = value; } if(defaultCurveSegments >= 50){ roundValues(false); }else{ roundValues(true); } } bodymovinjs.play = play; bodymovinjs.pause = pause; bodymovinjs.togglePause = togglePause; bodymovinjs.setSpeed = setSpeed; bodymovinjs.setDirection = setDirection; bodymovinjs.stop = stop; bodymovinjs.moveFrame = moveFrame; bodymovinjs.searchAnimations = searchAnimations; bodymovinjs.registerAnimation = registerAnimation; bodymovinjs.loadAnimation = loadAnimation; bodymovinjs.setSubframeRendering = setSubframeRendering; bodymovinjs.resize = resize; bodymovinjs.start = start; bodymovinjs.goToAndStop = goToAndStop; bodymovinjs.destroy = destroy; bodymovinjs.setQuality = setQuality; bodymovinjs.version = \''+bm_version+'\'; function checkReady(){ if (document.readyState === "complete") { clearInterval(readyStateCheckInterval); searchAnimations(); } } function getQueryVariable(variable) { var vars = queryString.split(\'&\'); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split(\'=\'); if (decodeURIComponent(pair[0]) == variable) { return decodeURIComponent(pair[1]); } } } var standalone = \'__[STANDALONE]__\'; var animationData = \'__[ANIMATIONDATA]__\'; var renderer = \'\'; if(standalone) { var scripts = document.getElementsByTagName(\'script\'); var index = scripts.length - 1; var myScript = scripts[index]; var queryString = myScript.src.replace(/^[^\\?]+\\??/,\'\'); renderer = getQueryVariable(\'renderer\'); } var readyStateCheckInterval = setInterval(checkReady, 100); return bodymovinjs; })); ';
 
 gulp.task('gzipFile', function(){
diff --git a/package.json b/package.json
index ff6ea26..348cc8d 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "bodymovin",
-  "version": "4.1.3",
+  "version": "4.1.4",
   "description": "After Effects plugin for exporting animations to SVG + JavaScript or canvas + JavaScript",
   "main": "./build/player/bodymovin.js",
   "repository": {