vendor: 64,729 bytes, lines 1-296
1(typeof navigator!=="undefined")&&(function(global,factory){typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory():typeof define==='function'&&define.amd?define(factory):(global=typeof globalThis!=='undefined'?globalThis:global||self,global.lottie=factory());})(this,(function(){'use strict';var svgNS='http://www.w3.org/2000/svg';var locationHref='';var _useWebWorker=false;var initialDefaultFrame=-999999;var setWebWorker=function setWebWorker(flag){_useWebWorker=!!flag;};var getWebWorker=function getWebWorker(){return _useWebWorker;};var setLocationHref=function setLocationHref(value){locationHref=value;};var getLocationHref=function getLocationHref(){return locationHref;};function createTag(type){return document.createElement(type);} 2function extendPrototype(sources,destination){var i;var len=sources.length;var sourcePrototype;for(i=0;i<len;i+=1){sourcePrototype=sources[i].prototype;for(var attr in sourcePrototype){if(Object.prototype.hasOwnProperty.call(sourcePrototype,attr))destination.prototype[attr]=sourcePrototype[attr];}}} 3function getDescriptor(object,prop){return Object.getOwnPropertyDescriptor(object,prop);} 4function createProxyFunction(prototype){function ProxyFunction(){} 5ProxyFunction.prototype=prototype;return ProxyFunction;} 6var audioControllerFactory=function(){function AudioController(audioFactory){this.audios=[];this.audioFactory=audioFactory;this._volume=1;this._isMuted=false;} 7AudioController.prototype={addAudio:function addAudio(audio){this.audios.push(audio);},pause:function pause(){var i;var len=this.audios.length;for(i=0;i<len;i+=1){this.audios[i].pause();}},resume:function resume(){var i;var len=this.audios.length;for(i=0;i<len;i+=1){this.audios[i].resume();}},setRate:function setRate(rateValue){var i;var len=this.audios.length;for(i=0;i<len;i+=1){this.audios[i].setRate(rateValue);}},createAudio:function createAudio(assetPath){if(this.audioFactory){return this.audioFactory(assetPath);} 8if(window.Howl){return new window.Howl({src:[assetPath]});} 9return{isPlaying:false,play:function play(){this.isPlaying=true;},seek:function seek(){this.isPlaying=false;},playing:function playing(){},rate:function rate(){},setVolume:function setVolume(){}};},setAudioFactory:function setAudioFactory(audioFactory){this.audioFactory=audioFactory;},setVolume:function setVolume(value){this._volume=value;this._updateVolume();},mute:function mute(){this._isMuted=true;this._updateVolume();},unmute:function unmute(){this._isMuted=false;this._updateVolume();},getVolume:function getVolume(){return this._volume;},_updateVolume:function _updateVolume(){var i;var len=this.audios.length;for(i=0;i<len;i+=1){this.audios[i].volume(this._volume*(this._isMuted?0:1));}}};return function(){return new AudioController();};}();var createTypedArray=function(){function createRegularArray(type,len){var i=0;var arr=[];var value;switch(type){case'int16':case'uint8c':value=1;break;default:value=1.1;break;} 10for(i=0;i<len;i+=1){arr.push(value);} 11return arr;} 12function createTypedArrayFactory(type,len){if(type==='float32'){return new Float32Array(len);} 13if(type==='int16'){return new Int16Array(len);} 14if(type==='uint8c'){return new Uint8ClampedArray(len);} 15return createRegularArray(type,len);} 16if(typeof Uint8ClampedArray==='function'&&typeof Float32Array==='function'){return createTypedArrayFactory;} 17return createRegularArray;}();function createSizedArray(len){return Array.apply(null,{length:len});} 18function _typeof$6(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof$6=function _typeof(obj){return typeof obj;};}else{_typeof$6=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof$6(obj);} 19var subframeEnabled=true;var expressionsPlugin=null;var expressionsInterfaces=null;var idPrefix$1='';var isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);var _shouldRoundValues=false;var bmPow=Math.pow;var bmSqrt=Math.sqrt;var bmFloor=Math.floor;var bmMax=Math.max;var bmMin=Math.min;var BMMath={};(function(){var propertyNames=['abs','acos','acosh','asin','asinh','atan','atanh','atan2','ceil','cbrt','expm1','clz32','cos','cosh','exp','floor','fround','hypot','imul','log','log1p','log2','log10','max','min','pow','random','round','sign','sin','sinh','sqrt','tan','tanh','trunc','E','LN10','LN2','LOG10E','LOG2E','PI','SQRT1_2','SQRT2'];var i;var len=propertyNames.length;for(i=0;i<len;i+=1){BMMath[propertyNames[i]]=Math[propertyNames[i]];}})();function ProjectInterface$1(){return{};} 20BMMath.random=Math.random;BMMath.abs=function(val){var tOfVal=_typeof$6(val);if(tOfVal==='object'&&val.length){var absArr=createSizedArray(val.length);var i;var len=val.length;for(i=0;i<len;i+=1){absArr[i]=Math.abs(val[i]);} 21return absArr;} 22return Math.abs(val);};var defaultCurveSegments=150;var degToRads=Math.PI / 180;var roundCorner=0.5519;function roundValues(flag){_shouldRoundValues=!!flag;} 23function bmRnd(value){if(_shouldRoundValues){return Math.round(value);} 24return value;} 25function styleDiv(element){element.style.position='absolute';element.style.top=0;element.style.left=0;element.style.display='block';element.style.transformOrigin='0 0';element.style.webkitTransformOrigin='0 0';element.style.backfaceVisibility='visible';element.style.webkitBackfaceVisibility='visible';element.style.transformStyle='preserve-3d';element.style.webkitTransformStyle='preserve-3d';element.style.mozTransformStyle='preserve-3d';} 26function BMEnterFrameEvent(type,currentTime,totalTime,frameMultiplier){this.type=type;this.currentTime=currentTime;this.totalTime=totalTime;this.direction=frameMultiplier<0?-1:1;} 27function BMCompleteEvent(type,frameMultiplier){this.type=type;this.direction=frameMultiplier<0?-1:1;} 28function BMCompleteLoopEvent(type,totalLoops,currentLoop,frameMultiplier){this.type=type;this.currentLoop=currentLoop;this.totalLoops=totalLoops;this.direction=frameMultiplier<0?-1:1;} 29function BMSegmentStartEvent(type,firstFrame,totalFrames){this.type=type;this.firstFrame=firstFrame;this.totalFrames=totalFrames;} 30function BMDestroyEvent(type,target){this.type=type;this.target=target;} 31function BMRenderFrameErrorEvent(nativeError,currentTime){this.type='renderFrameError';this.nativeError=nativeError;this.currentTime=currentTime;} 32function BMConfigErrorEvent(nativeError){this.type='configError';this.nativeError=nativeError;} 33function BMAnimationConfigErrorEvent(type,nativeError){this.type=type;this.nativeError=nativeError;} 34var createElementID=function(){var _count=0;return function createID(){_count+=1;return idPrefix$1+'__lottie_element_'+_count;};}();function HSVtoRGB(h,s,v){var r;var g;var b;var i;var f;var p;var q;var t;i=Math.floor(h*6);f=h*6-i;p=v*(1-s);q=v*(1-f*s);t=v*(1-(1-f)*s);switch(i%6){case 0:r=v;g=t;b=p;break;case 1:r=q;g=v;b=p;break;case 2:r=p;g=v;b=t;break;case 3:r=p;g=q;b=v;break;case 4:r=t;g=p;b=v;break;case 5:r=v;g=p;b=q;break;default:break;} 35return[r,g,b];} 36function RGBtoHSV(r,g,b){var max=Math.max(r,g,b);var min=Math.min(r,g,b);var d=max-min;var h;var s=max===0?0:d / max;var v=max / 255;switch(max){case min:h=0;break;case r:h=g-b+d*(g<b?6:0);h /=6*d;break;case g:h=b-r+d*2;h /=6*d;break;case b:h=r-g+d*4;h /=6*d;break;default:break;} 37return[h,s,v];} 38function addSaturationToRGB(color,offset){var hsv=RGBtoHSV(color[0]*255,color[1]*255,color[2]*255);hsv[1]+=offset;if(hsv[1]>1){hsv[1]=1;}else if(hsv[1]<=0){hsv[1]=0;} 39return HSVtoRGB(hsv[0],hsv[1],hsv[2]);} 40function addBrightnessToRGB(color,offset){var hsv=RGBtoHSV(color[0]*255,color[1]*255,color[2]*255);hsv[2]+=offset;if(hsv[2]>1){hsv[2]=1;}else if(hsv[2]<0){hsv[2]=0;} 41return HSVtoRGB(hsv[0],hsv[1],hsv[2]);} 42function addHueToRGB(color,offset){var hsv=RGBtoHSV(color[0]*255,color[1]*255,color[2]*255);hsv[0]+=offset / 360;if(hsv[0]>1){hsv[0]-=1;}else if(hsv[0]<0){hsv[0]+=1;} 43return HSVtoRGB(hsv[0],hsv[1],hsv[2]);} 44var rgbToHex=function(){var colorMap=[];var i;var hex;for(i=0;i<256;i+=1){hex=i.toString(16);colorMap[i]=hex.length===1?'0'+hex:hex;} 45return function(r,g,b){if(r<0){r=0;} 46if(g<0){g=0;} 47if(b<0){b=0;} 48return'#'+colorMap[r]+colorMap[g]+colorMap[b];};}();var setSubframeEnabled=function setSubframeEnabled(flag){subframeEnabled=!!flag;};var getSubframeEnabled=function getSubframeEnabled(){return subframeEnabled;};var setExpressionsPlugin=function setExpressionsPlugin(value){expressionsPlugin=value;};var getExpressionsPlugin=function getExpressionsPlugin(){return expressionsPlugin;};var setExpressionInterfaces=function setExpressionInterfaces(value){expressionsInterfaces=value;};var getExpressionInterfaces=function getExpressionInterfaces(){return expressionsInterfaces;};var setDefaultCurveSegments=function setDefaultCurveSegments(value){defaultCurveSegments=value;};var getDefaultCurveSegments=function getDefaultCurveSegments(){return defaultCurveSegments;};var setIdPrefix=function setIdPrefix(value){idPrefix$1=value;};var getIdPrefix=function getIdPrefix(){return idPrefix$1;};function createNS(type){return document.createElementNS(svgNS,type);} 49function _typeof$5(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof$5=function _typeof(obj){return typeof obj;};}else{_typeof$5=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof$5(obj);} 50var dataManager=function(){var _counterId=1;var processes=[];var workerFn;var workerInstance;var workerProxy={onmessage:function onmessage(){},postMessage:function postMessage(path){workerFn({data:path});}};var _workerSelf={postMessage:function postMessage(data){workerProxy.onmessage({data:data});}};function createWorker(fn){if(window.Worker&&window.Blob&&getWebWorker()){var blob=new Blob(['var _workerSelf = self; self.onmessage = ',fn.toString()],{type:'text/javascript'});var url=URL.createObjectURL(blob);return new Worker(url);} 51workerFn=fn;return workerProxy;} 52function setupWorker(){if(!workerInstance){workerInstance=createWorker(function workerStart(e){function dataFunctionManager(){function completeLayers(layers,comps){var layerData;var i;var len=layers.length;var j;var jLen;var k;var kLen;for(i=0;i<len;i+=1){layerData=layers[i];if('ks'in layerData&&!layerData.completed){layerData.completed=true;if(layerData.hasMask){var maskProps=layerData.masksProperties;jLen=maskProps.length;for(j=0;j<jLen;j+=1){if(maskProps[j].pt.k.i){convertPathsToAbsoluteValues(maskProps[j].pt.k);}else{kLen=maskProps[j].pt.k.length;for(k=0;k<kLen;k+=1){if(maskProps[j].pt.k[k].s){convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);} 53if(maskProps[j].pt.k[k].e){convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);}}}}} 54if(layerData.ty===0){layerData.layers=findCompLayers(layerData.refId,comps);completeLayers(layerData.layers,comps);}else if(layerData.ty===4){completeShapes(layerData.shapes);}else if(layerData.ty===5){completeText(layerData);}}}} 55function completeChars(chars,assets){if(chars){var i=0;var len=chars.length;for(i=0;i<len;i+=1){if(chars[i].t===1){chars[i].data.layers=findCompLayers(chars[i].data.refId,assets);completeLayers(chars[i].data.layers,assets);}}}} 56function findComp(id,comps){var i=0;var len=comps.length;while(i<len){if(comps[i].id===id){return comps[i];} 57i+=1;} 58return null;} 59function findCompLayers(id,comps){var comp=findComp(id,comps);if(comp){if(!comp.layers.__used){comp.layers.__used=true;return comp.layers;} 60return JSON.parse(JSON.stringify(comp.layers));} 61return null;} 62function completeShapes(arr){var i;var len=arr.length;var j;var jLen;for(i=len-1;i>=0;i-=1){if(arr[i].ty==='sh'){if(arr[i].ks.k.i){convertPathsToAbsoluteValues(arr[i].ks.k);}else{jLen=arr[i].ks.k.length;for(j=0;j<jLen;j+=1){if(arr[i].ks.k[j].s){convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);} 63if(arr[i].ks.k[j].e){convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);}}}}else if(arr[i].ty==='gr'){completeShapes(arr[i].it);}}} 64function convertPathsToAbsoluteValues(path){var i;var len=path.i.length;for(i=0;i<len;i+=1){path.i[i][0]+=path.v[i][0];path.i[i][1]+=path.v[i][1];path.o[i][0]+=path.v[i][0];path.o[i][1]+=path.v[i][1];}} 65function checkVersion(minimum,animVersionString){var animVersion=animVersionString?animVersionString.split('.'):[100,100,100];if(minimum[0]>animVersion[0]){return true;} 66if(animVersion[0]>minimum[0]){return false;} 67if(minimum[1]>animVersion[1]){return true;} 68if(animVersion[1]>minimum[1]){return false;} 69if(minimum[2]>animVersion[2]){return true;} 70if(animVersion[2]>minimum[2]){return false;} 71return null;} 72var checkText=function(){var minimumVersion=[4,4,14];function updateTextLayer(textLayer){var documentData=textLayer.t.d;textLayer.t.d={k:[{s:documentData,t:0}]};} 73function iterateLayers(layers){var i;var len=layers.length;for(i=0;i<len;i+=1){if(layers[i].ty===5){updateTextLayer(layers[i]);}}} 74return function(animationData){if(checkVersion(minimumVersion,animationData.v)){iterateLayers(animationData.layers);if(animationData.assets){var i;var len=animationData.assets.length;for(i=0;i<len;i+=1){if(animationData.assets[i].layers){iterateLayers(animationData.assets[i].layers);}}}}};}();var checkChars=function(){var minimumVersion=[4,7,99];return function(animationData){if(animationData.chars&&!checkVersion(minimumVersion,animationData.v)){var i;var len=animationData.chars.length;for(i=0;i<len;i+=1){var charData=animationData.chars[i];if(charData.data&&charData.data.shapes){completeShapes(charData.data.shapes);charData.data.ip=0;charData.data.op=99999;charData.data.st=0;charData.data.sr=1;charData.data.ks={p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0}};if(!animationData.chars[i].t){charData.data.shapes.push({ty:'no'});charData.data.shapes[0].it.push({p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0},sk:{k:0,a:0},sa:{k:0,a:0},ty:'tr'});}}}}};}();var checkPathProperties=function(){var minimumVersion=[5,7,15];function updateTextLayer(textLayer){var pathData=textLayer.t.p;if(typeof pathData.a==='number'){pathData.a={a:0,k:pathData.a};} 75if(typeof pathData.p==='number'){pathData.p={a:0,k:pathData.p};} 76if(typeof pathData.r==='number'){pathData.r={a:0,k:pathData.r};}} 77function iterateLayers(layers){var i;var len=layers.length;for(i=0;i<len;i+=1){if(layers[i].ty===5){updateTextLayer(layers[i]);}}} 78return function(animationData){if(checkVersion(minimumVersion,animationData.v)){iterateLayers(animationData.layers);if(animationData.assets){var i;var len=animationData.assets.length;for(i=0;i<len;i+=1){if(animationData.assets[i].layers){iterateLayers(animationData.assets[i].layers);}}}}};}();var checkColors=function(){var minimumVersion=[4,1,9];function iterateShapes(shapes){var i;var len=shapes.length;var j;var jLen;for(i=0;i<len;i+=1){if(shapes[i].ty==='gr'){iterateShapes(shapes[i].it);}else if(shapes[i].ty==='fl'||shapes[i].ty==='st'){if(shapes[i].c.k&&shapes[i].c.k[0].i){jLen=shapes[i].c.k.length;for(j=0;j<jLen;j+=1){if(shapes[i].c.k[j].s){shapes[i].c.k[j].s[0]/=255;shapes[i].c.k[j].s[1]/=255;shapes[i].c.k[j].s[2]/=255;shapes[i].c.k[j].s[3]/=255;} 79if(shapes[i].c.k[j].e){shapes[i].c.k[j].e[0]/=255;shapes[i].c.k[j].e[1]/=255;shapes[i].c.k[j].e[2]/=255;shapes[i].c.k[j].e[3]/=255;}}}else{shapes[i].c.k[0]/=255;shapes[i].c.k[1]/=255;shapes[i].c.k[2]/=255;shapes[i].c.k[3]/=255;}}}} 80function iterateLayers(layers){var i;var len=layers.length;for(i=0;i<len;i+=1){if(layers[i].ty===4){iterateShapes(layers[i].shapes);}}} 81return function(animationData){if(checkVersion(minimumVersion,animationData.v)){iterateLayers(animationData.layers);if(animationData.assets){var i;var len=animationData.assets.length;for(i=0;i<len;i+=1){if(animationData.assets[i].layers){iterateLayers(animationData.assets[i].layers);}}}}};}();var checkShapes=function(){var minimumVersion=[4,4,18];function completeClosingShapes(arr){var i;var len=arr.length;var j;var jLen;for(i=len-1;i>=0;i-=1){if(arr[i].ty==='sh'){if(arr[i].ks.k.i){arr[i].ks.k.c=arr[i].closed;}else{jLen=arr[i].ks.k.length;for(j=0;j<jLen;j+=1){if(arr[i].ks.k[j].s){arr[i].ks.k[j].s[0].c=arr[i].closed;} 82if(arr[i].ks.k[j].e){arr[i].ks.k[j].e[0].c=arr[i].closed;}}}}else if(arr[i].ty==='gr'){completeClosingShapes(arr[i].it);}}} 83function iterateLayers(layers){var layerData;var i;var len=layers.length;var j;var jLen;var k;var kLen;for(i=0;i<len;i+=1){layerData=layers[i];if(layerData.hasMask){var maskProps=layerData.masksProperties;jLen=maskProps.length;for(j=0;j<jLen;j+=1){if(maskProps[j].pt.k.i){maskProps[j].pt.k.c=maskProps[j].cl;}else{kLen=maskProps[j].pt.k.length;for(k=0;k<kLen;k+=1){if(maskProps[j].pt.k[k].s){maskProps[j].pt.k[k].s[0].c=maskProps[j].cl;} 84if(maskProps[j].pt.k[k].e){maskProps[j].pt.k[k].e[0].c=maskProps[j].cl;}}}}} 85if(layerData.ty===4){completeClosingShapes(layerData.shapes);}}} 86return function(animationData){if(checkVersion(minimumVersion,animationData.v)){iterateLayers(animationData.layers);if(animationData.assets){var i;var len=animationData.assets.length;for(i=0;i<len;i+=1){if(animationData.assets[i].layers){iterateLayers(animationData.assets[i].layers);}}}}};}();function completeData(animationData){if(animationData.__complete){return;} 87checkColors(animationData);checkText(animationData);checkChars(animationData);checkPathProperties(animationData);checkShapes(animationData);completeLayers(animationData.layers,animationData.assets);completeChars(animationData.chars,animationData.assets);animationData.__complete=true;} 88function completeText(data){if(data.t.a.length===0&&!('m'in data.t.p)){}} 89var moduleOb={};moduleOb.completeData=completeData;moduleOb.checkColors=checkColors;moduleOb.checkChars=checkChars;moduleOb.checkPathProperties=checkPathProperties;moduleOb.checkShapes=checkShapes;moduleOb.completeLayers=completeLayers;return moduleOb;} 90if(!_workerSelf.dataManager){_workerSelf.dataManager=dataFunctionManager();} 91if(!_workerSelf.assetLoader){_workerSelf.assetLoader=function(){function formatResponse(xhr){var contentTypeHeader=xhr.getResponseHeader('content-type');if(contentTypeHeader&&xhr.responseType==='json'&&contentTypeHeader.indexOf('json')!==-1){return xhr.response;} 92if(xhr.response&&_typeof$5(xhr.response)==='object'){return xhr.response;} 93if(xhr.response&&typeof xhr.response==='string'){return JSON.parse(xhr.response);} 94if(xhr.responseText){return JSON.parse(xhr.responseText);} 95return null;} 96function loadAsset(path,fullPath,callback,errorCallback){var response;var xhr=new XMLHttpRequest();try{xhr.responseType='json';}catch(err){} 97xhr.onreadystatechange=function(){if(xhr.readyState===4){if(xhr.status===200){response=formatResponse(xhr);callback(response);}else{try{response=formatResponse(xhr);callback(response);}catch(err){if(errorCallback){errorCallback(err);}}}}};try{xhr.open(['G','E','T'].join(''),path,true);}catch(error){xhr.open(['G','E','T'].join(''),fullPath+'/'+path,true);} 98xhr.send();} 99return{load:loadAsset};}();} 100if(e.data.type==='loadAnimation'){_workerSelf.assetLoader.load(e.data.path,e.data.fullPath,function(data){_workerSelf.dataManager.completeData(data);_workerSelf.postMessage({id:e.data.id,payload:data,status:'success'});},function(){_workerSelf.postMessage({id:e.data.id,status:'error'});});}else if(e.data.type==='complete'){var animation=e.data.animation;_workerSelf.dataManager.completeData(animation);_workerSelf.postMessage({id:e.data.id,payload:animation,status:'success'});}else if(e.data.type==='loadData'){_workerSelf.assetLoader.load(e.data.path,e.data.fullPath,function(data){_workerSelf.postMessage({id:e.data.id,payload:data,status:'success'});},function(){_workerSelf.postMessage({id:e.data.id,status:'error'});});}});workerInstance.onmessage=function(event){var data=event.data;var id=data.id;var process=processes[id];processes[id]=null;if(data.status==='success'){process.onComplete(data.payload);}else if(process.onError){process.onError();}};}} 101function createProcess(onComplete,onError){_counterId+=1;var id='processId_'+_counterId;processes[id]={onComplete:onComplete,onError:onError};return id;} 102function loadAnimation(path,onComplete,onError){setupWorker();var processId=createProcess(onComplete,onError);workerInstance.postMessage({type:'loadAnimation',path:path,fullPath:window.location.origin+window.location.pathname,id:processId});} 103function loadData(path,onComplete,onError){setupWorker();var processId=createProcess(onComplete,onError);workerInstance.postMessage({type:'loadData',path:path,fullPath:window.location.origin+window.location.pathname,id:processId});} 104function completeAnimation(anim,onComplete,onError){setupWorker();var processId=createProcess(onComplete,onError);workerInstance.postMessage({type:'complete',animation:anim,id:processId});} 105return{loadAnimation:loadAnimation,loadData:loadData,completeAnimation:completeAnimation};}();var ImagePreloader=function(){var proxyImage=function(){var canvas=createTag('canvas');canvas.width=1;canvas.height=1;var ctx=canvas.getContext('2d');ctx.fillStyle='rgba(0,0,0,0)';ctx.fillRect(0,0,1,1);return canvas;}();function imageLoaded(){this.loadedAssets+=1;if(this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages){if(this.imagesLoadedCb){this.imagesLoadedCb(null);}}} 106function footageLoaded(){this.loadedFootagesCount+=1;if(this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages){if(this.imagesLoadedCb){this.imagesLoadedCb(null);}}} 107function getAssetsPath(assetData,assetsPath,originalPath){var path='';if(assetData.e){path=assetData.p;}else if(assetsPath){var imagePath=assetData.p;if(imagePath.indexOf('images/')!==-1){imagePath=imagePath.split('/')[1];} 108path=assetsPath+imagePath;}else{path=originalPath;path+=assetData.u?assetData.u:'';path+=assetData.p;} 109return path;} 110function testImageLoaded(img){var _count=0;var intervalId=setInterval(function(){var box=img.getBBox();if(box.width||_count>500){this._imageLoaded();clearInterval(intervalId);} 111_count+=1;}.bind(this),50);} 112function createImageData(assetData){var path=getAssetsPath(assetData,this.assetsPath,this.path);var img=createNS('image');if(isSafari){this.testImageLoaded(img);}else{img.addEventListener('load',this._imageLoaded,false);} 113img.addEventListener('error',function(){ob.img=proxyImage;this._imageLoaded();}.bind(this),false);img.setAttributeNS('http://www.w3.org/1999/xlink','href',path);if(this._elementHelper.append){this._elementHelper.append(img);}else{this._elementHelper.appendChild(img);} 114var ob={img:img,assetData:assetData};return ob;} 115function createImgData(assetData){var path=getAssetsPath(assetData,this.assetsPath,this.path);var img=createTag('img');img.crossOrigin='anonymous';img.addEventListener('load',this._imageLoaded,false);img.addEventListener('error',function(){ob.img=proxyImage;this._imageLoaded();}.bind(this),false);img.src=path;var ob={img:img,assetData:assetData};return ob;} 116function createFootageData(data){var ob={assetData:data};var path=getAssetsPath(data,this.assetsPath,this.path);dataManager.loadData(path,function(footageData){ob.img=footageData;this._footageLoaded();}.bind(this),function(){ob.img={};this._footageLoaded();}.bind(this));return ob;} 117function loadAssets(assets,cb){this.imagesLoadedCb=cb;var i;var len=assets.length;for(i=0;i<len;i+=1){if(!assets[i].layers){if(!assets[i].t||assets[i].t==='seq'){this.totalImages+=1;this.images.push(this._createImageData(assets[i]));}else if(assets[i].t===3){this.totalFootages+=1;this.images.push(this.createFootageData(assets[i]));}}}} 118function setPath(path){this.path=path||'';} 119function setAssetsPath(path){this.assetsPath=path||'';} 120function getAsset(assetData){var i=0;var len=this.images.length;while(i<len){if(this.images[i].assetData===assetData){return this.images[i].img;} 121i+=1;} 122return null;} 123function destroy(){this.imagesLoadedCb=null;this.images.length=0;} 124function loadedImages(){return this.totalImages===this.loadedAssets;} 125function loadedFootages(){return this.totalFootages===this.loadedFootagesCount;} 126function setCacheType(type,elementHelper){if(type==='svg'){this._elementHelper=elementHelper;this._createImageData=this.createImageData.bind(this);}else{this._createImageData=this.createImgData.bind(this);}} 127function ImagePreloaderFactory(){this._imageLoaded=imageLoaded.bind(this);this._footageLoaded=footageLoaded.bind(this);this.testImageLoaded=testImageLoaded.bind(this);this.createFootageData=createFootageData.bind(this);this.assetsPath='';this.path='';this.totalImages=0;this.totalFootages=0;this.loadedAssets=0;this.loadedFootagesCount=0;this.imagesLoadedCb=null;this.images=[];} 128ImagePreloaderFactory.prototype={loadAssets:loadAssets,setAssetsPath:setAssetsPath,setPath:setPath,loadedImages:loadedImages,loadedFootages:loadedFootages,destroy:destroy,getAsset:getAsset,createImgData:createImgData,createImageData:createImageData,imageLoaded:imageLoaded,footageLoaded:footageLoaded,setCacheType:setCacheType};return ImagePreloaderFactory;}();function BaseEvent(){} 129BaseEvent.prototype={triggerEvent:function triggerEvent(eventName,args){if(this._cbs[eventName]){var callbacks=this._cbs[eventName];for(var i=0;i<callbacks.length;i+=1){callbacks[i](args);}}},addEventListener:function addEventListener(eventName,callback){if(!this._cbs[eventName]){this._cbs[eventName]=[];} 130this._cbs[eventName].push(callback);return function(){this.removeEventListener(eventName,callback);}.bind(this);},removeEventListener:function removeEventListener(eventName,callback){if(!callback){this._cbs[eventName]=null;}else if(this._cbs[eventName]){var i=0;var len=this._cbs[eventName].length;while(i<len){if(this._cbs[eventName][i]===callback){this._cbs[eventName].splice(i,1);i-=1;len-=1;} 131i+=1;} 132if(!this._cbs[eventName].length){this._cbs[eventName]=null;}}}};var markerParser=function(){function parsePayloadLines(payload){var lines=payload.split('\r\n');var keys={};var line;var keysCount=0;for(var i=0;i<lines.length;i+=1){line=lines[i].split(':');if(line.length===2){keys[line[0]]=line[1].trim();keysCount+=1;}} 133if(keysCount===0){throw new Error();} 134return keys;} 135return function(_markers){var markers=[];for(var i=0;i<_markers.length;i+=1){var _marker=_markers[i];var markerData={time:_marker.tm,duration:_marker.dr};try{markerData.payload=JSON.parse(_markers[i].cm);}catch(_){try{markerData.payload=parsePayloadLines(_markers[i].cm);}catch(__){markerData.payload={name:_markers[i].cm};}} 136markers.push(markerData);} 137return markers;};}();var ProjectInterface=function(){function registerComposition(comp){this.compositions.push(comp);} 138return function(){function _thisProjectFunction(name){var i=0;var len=this.compositions.length;while(i<len){if(this.compositions[i].data&&this.compositions[i].data.nm===name){if(this.compositions[i].prepareFrame&&this.compositions[i].data.xt){this.compositions[i].prepareFrame(this.currentFrame);} 139return this.compositions[i].compInterface;} 140i+=1;} 141return null;} 142_thisProjectFunction.compositions=[];_thisProjectFunction.currentFrame=0;_thisProjectFunction.registerComposition=registerComposition;return _thisProjectFunction;};}();var renderers={};var registerRenderer=function registerRenderer(key,value){renderers[key]=value;};function getRenderer(key){return renderers[key];} 143function _typeof$4(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof$4=function _typeof(obj){return typeof obj;};}else{_typeof$4=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof$4(obj);} 144var AnimationItem=function AnimationItem(){this._cbs=[];this.name='';this.path='';this.isLoaded=false;this.currentFrame=0;this.currentRawFrame=0;this.firstFrame=0;this.totalFrames=0;this.frameRate=0;this.frameMult=0;this.playSpeed=1;this.playDirection=1;this.playCount=0;this.animationData={};this.assets=[];this.isPaused=true;this.autoplay=false;this.loop=true;this.renderer=null;this.animationID=createElementID();this.assetsPath='';this.timeCompleted=0;this.segmentPos=0;this.isSubframeEnabled=getSubframeEnabled();this.segments=[];this._idle=true;this._completedLoop=false;this.projectInterface=ProjectInterface();this.imagePreloader=new ImagePreloader();this.audioController=audioControllerFactory();this.markers=[];this.configAnimation=this.configAnimation.bind(this);this.onSetupError=this.onSetupError.bind(this);this.onSegmentComplete=this.onSegmentComplete.bind(this);this.drawnFrameEvent=new BMEnterFrameEvent('drawnFrame',0,0,0);};extendPrototype([BaseEvent],AnimationItem);AnimationItem.prototype.setParams=function(params){if(params.wrapper||params.container){this.wrapper=params.wrapper||params.container;} 145var animType='svg';if(params.animType){animType=params.animType;}else if(params.renderer){animType=params.renderer;} 146var RendererClass=getRenderer(animType);this.renderer=new RendererClass(this,params.rendererSettings);this.imagePreloader.setCacheType(animType,this.renderer.globalData.defs);this.renderer.setProjectInterface(this.projectInterface);this.animType=animType;if(params.loop===''||params.loop===null||params.loop===undefined||params.loop===true){this.loop=true;}else if(params.loop===false){this.loop=false;}else{this.loop=parseInt(params.loop,10);} 147this.autoplay='autoplay'in params?params.autoplay:true;this.name=params.name?params.name:'';this.autoloadSegments=Object.prototype.hasOwnProperty.call(params,'autoloadSegments')?params.autoloadSegments:true;this.assetsPath=params.assetsPath;this.initialSegment=params.initialSegment;if(params.audioFactory){this.audioController.setAudioFactory(params.audioFactory);} 148if(params.animationData){this.setupAnimation(params.animationData);}else if(params.path){if(params.path.lastIndexOf('\\')!==-1){this.path=params.path.substr(0,params.path.lastIndexOf('\\')+1);}else{this.path=params.path.substr(0,params.path.lastIndexOf('/')+1);} 149this.fileName=params.path.substr(params.path.lastIndexOf('/')+1);this.fileName=this.fileName.substr(0,this.fileName.lastIndexOf('.json'));dataManager.loadAnimation(params.path,this.configAnimation,this.onSetupError);}};AnimationItem.prototype.onSetupError=function(){this.trigger('data_failed');};AnimationItem.prototype.setupAnimation=function(data){dataManager.completeAnimation(data,this.configAnimation);};AnimationItem.prototype.setData=function(wrapper,animationData){if(animationData){if(_typeof$4(animationData)!=='object'){animationData=JSON.parse(animationData);}} 150var params={wrapper:wrapper,animationData:animationData};var wrapperAttributes=wrapper.attributes;params.path=wrapperAttributes.getNamedItem('data-animation-path')?wrapperAttributes.getNamedItem('data-animation-path').value:wrapperAttributes.getNamedItem('data-bm-path')?wrapperAttributes.getNamedItem('data-bm-path').value:wrapperAttributes.getNamedItem('bm-path')?wrapperAttributes.getNamedItem('bm-path').value:'';params.animType=wrapperAttributes.getNamedItem('data-anim-type')?wrapperAttributes.getNamedItem('data-anim-type').value:wrapperAttributes.getNamedItem('data-bm-type')?wrapperAttributes.getNamedItem('data-bm-type').value:wrapperAttributes.getNamedItem('bm-type')?wrapperAttributes.getNamedItem('bm-type').value:wrapperAttributes.getNamedItem('data-bm-renderer')?wrapperAttributes.getNamedItem('data-bm-renderer').value:wrapperAttributes.getNamedItem('bm-renderer')?wrapperAttributes.getNamedItem('bm-renderer').value:'canvas';var loop=wrapperAttributes.getNamedItem('data-anim-loop')?wrapperAttributes.getNamedItem('data-anim-loop').value:wrapperAttributes.getNamedItem('data-bm-loop')?wrapperAttributes.getNamedItem('data-bm-loop').value:wrapperAttributes.getNamedItem('bm-loop')?wrapperAttributes.getNamedItem('bm-loop').value:'';if(loop==='false'){params.loop=false;}else if(loop==='true'){params.loop=true;}else if(loop!==''){params.loop=parseInt(loop,10);} 151var autoplay=wrapperAttributes.getNamedItem('data-anim-autoplay')?wrapperAttributes.getNamedItem('data-anim-autoplay').value:wrapperAttributes.getNamedItem('data-bm-autoplay')?wrapperAttributes.getNamedItem('data-bm-autoplay').value:wrapperAttributes.getNamedItem('bm-autoplay')?wrapperAttributes.getNamedItem('bm-autoplay').value:true;params.autoplay=autoplay!=='false';params.name=wrapperAttributes.getNamedItem('data-name')?wrapperAttributes.getNamedItem('data-name').value:wrapperAttributes.getNamedItem('data-bm-name')?wrapperAttributes.getNamedItem('data-bm-name').value:wrapperAttributes.getNamedItem('bm-name')?wrapperAttributes.getNamedItem('bm-name').value:'';var prerender=wrapperAttributes.getNamedItem('data-anim-prerender')?wrapperAttributes.getNamedItem('data-anim-prerender').value:wrapperAttributes.getNamedItem('data-bm-prerender')?wrapperAttributes.getNamedItem('data-bm-prerender').value:wrapperAttributes.getNamedItem('bm-prerender')?wrapperAttributes.getNamedItem('bm-prerender').value:'';if(prerender==='false'){params.prerender=false;} 152this.setParams(params);};AnimationItem.prototype.includeLayers=function(data){if(data.op>this.animationData.op){this.animationData.op=data.op;this.totalFrames=Math.floor(data.op-this.animationData.ip);} 153var layers=this.animationData.layers;var i;var len=layers.length;var newLayers=data.layers;var j;var jLen=newLayers.length;for(j=0;j<jLen;j+=1){i=0;while(i<len){if(layers[i].id===newLayers[j].id){layers[i]=newLayers[j];break;} 154i+=1;}} 155if(data.chars||data.fonts){this.renderer.globalData.fontManager.addChars(data.chars);this.renderer.globalData.fontManager.addFonts(data.fonts,this.renderer.globalData.defs);} 156if(data.assets){len=data.assets.length;for(i=0;i<len;i+=1){this.animationData.assets.push(data.assets[i]);}} 157this.animationData.__complete=false;dataManager.completeAnimation(this.animationData,this.onSegmentComplete);};AnimationItem.prototype.onSegmentComplete=function(data){this.animationData=data;var expressionsPlugin=getExpressionsPlugin();if(expressionsPlugin){expressionsPlugin.initExpressions(this);} 158this.loadNextSegment();};AnimationItem.prototype.loadNextSegment=function(){var segments=this.animationData.segments;if(!segments||segments.length===0||!this.autoloadSegments){this.trigger('data_ready');this.timeCompleted=this.totalFrames;return;} 159var segment=segments.shift();this.timeCompleted=segment.time*this.frameRate;var segmentPath=this.path+this.fileName+'_'+this.segmentPos+'.json';this.segmentPos+=1;dataManager.loadData(segmentPath,this.includeLayers.bind(this),function(){this.trigger('data_failed');}.bind(this));};AnimationItem.prototype.loadSegments=function(){var segments=this.animationData.segments;if(!segments){this.timeCompleted=this.totalFrames;} 160this.loadNextSegment();};AnimationItem.prototype.imagesLoaded=function(){this.trigger('loaded_images');this.checkLoaded();};AnimationItem.prototype.preloadImages=function(){this.imagePreloader.setAssetsPath(this.assetsPath);this.imagePreloader.setPath(this.path);this.imagePreloader.loadAssets(this.animationData.assets,this.imagesLoaded.bind(this));};AnimationItem.prototype.configAnimation=function(animData){if(!this.renderer){return;} 161try{this.animationData=animData;if(this.initialSegment){this.totalFrames=Math.floor(this.initialSegment[1]-this.initialSegment[0]);this.firstFrame=Math.round(this.initialSegment[0]);}else{this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip);this.firstFrame=Math.round(this.animationData.ip);} 162this.renderer.configAnimation(animData);if(!animData.assets){animData.assets=[];} 163this.assets=this.animationData.assets;this.frameRate=this.animationData.fr;this.frameMult=this.animationData.fr / 1000;this.renderer.searchExtraCompositions(animData.assets);this.markers=markerParser(animData.markers||[]);this.trigger('config_ready');this.preloadImages();this.loadSegments();this.updaFrameModifier();this.waitForFontsLoaded();if(this.isPaused){this.audioController.pause();}}catch(error){this.triggerConfigError(error);}};AnimationItem.prototype.waitForFontsLoaded=function(){if(!this.renderer){return;} 164if(this.renderer.globalData.fontManager.isLoaded){this.checkLoaded();}else{setTimeout(this.waitForFontsLoaded.bind(this),20);}};AnimationItem.prototype.checkLoaded=function(){if(!this.isLoaded&&this.renderer.globalData.fontManager.isLoaded&&(this.imagePreloader.loadedImages()||this.renderer.rendererType!=='canvas')&&this.imagePreloader.loadedFootages()){this.isLoaded=true;var expressionsPlugin=getExpressionsPlugin();if(expressionsPlugin){expressionsPlugin.initExpressions(this);} 165this.renderer.initItems();setTimeout(function(){this.trigger('DOMLoaded');}.bind(this),0);this.gotoFrame();if(this.autoplay){this.play();}}};AnimationItem.prototype.resize=function(width,height){var _width=typeof width==='number'?width:undefined;var _height=typeof height==='number'?height:undefined;this.renderer.updateContainerSize(_width,_height);};AnimationItem.prototype.setSubframe=function(flag){this.isSubframeEnabled=!!flag;};AnimationItem.prototype.gotoFrame=function(){this.currentFrame=this.isSubframeEnabled?this.currentRawFrame:~~this.currentRawFrame;if(this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted){this.currentFrame=this.timeCompleted;} 166this.trigger('enterFrame');this.renderFrame();this.trigger('drawnFrame');};AnimationItem.prototype.renderFrame=function(){if(this.isLoaded===false||!this.renderer){return;} 167try{this.renderer.renderFrame(this.currentFrame+this.firstFrame);}catch(error){this.triggerRenderFrameError(error);}};AnimationItem.prototype.play=function(name){if(name&&this.name!==name){return;} 168if(this.isPaused===true){this.isPaused=false;this.trigger('_pause');this.audioController.resume();if(this._idle){this._idle=false;this.trigger('_active');}}};AnimationItem.prototype.pause=function(name){if(name&&this.name!==name){return;} 169if(this.isPaused===false){this.isPaused=true;this.trigger('_play');this._idle=true;this.trigger('_idle');this.audioController.pause();}};AnimationItem.prototype.togglePause=function(name){if(name&&this.name!==name){return;} 170if(this.isPaused===true){this.play();}else{this.pause();}};AnimationItem.prototype.stop=function(name){if(name&&this.name!==name){return;} 171this.pause();this.playCount=0;this._completedLoop=false;this.setCurrentRawFrameValue(0);};AnimationItem.prototype.getMarkerData=function(markerName){var marker;for(var i=0;i<this.markers.length;i+=1){marker=this.markers[i];if(marker.payload&&marker.payload.name===markerName){return marker;}} 172return null;};AnimationItem.prototype.goToAndStop=function(value,isFrame,name){if(name&&this.name!==name){return;} 173var numValue=Number(value);if(isNaN(numValue)){var marker=this.getMarkerData(value);if(marker){this.goToAndStop(marker.time,true);}}else if(isFrame){this.setCurrentRawFrameValue(value);}else{this.setCurrentRawFrameValue(value*this.frameModifier);} 174this.pause();};AnimationItem.prototype.goToAndPlay=function(value,isFrame,name){if(name&&this.name!==name){return;} 175var numValue=Number(value);if(isNaN(numValue)){var marker=this.getMarkerData(value);if(marker){if(!marker.duration){this.goToAndStop(marker.time,true);}else{this.playSegments([marker.time,marker.time+marker.duration],true);}}}else{this.goToAndStop(numValue,isFrame,name);} 176this.play();};AnimationItem.prototype.advanceTime=function(value){if(this.isPaused===true||this.isLoaded===false){return;} 177var nextValue=this.currentRawFrame+value*this.frameModifier;var _isComplete=false;if(nextValue>=this.totalFrames-1&&this.frameModifier>0){if(!this.loop||this.playCount===this.loop){if(!this.checkSegments(nextValue>this.totalFrames?nextValue%this.totalFrames:0)){_isComplete=true;nextValue=this.totalFrames-1;}}else if(nextValue>=this.totalFrames){this.playCount+=1;if(!this.checkSegments(nextValue%this.totalFrames)){this.setCurrentRawFrameValue(nextValue%this.totalFrames);this._completedLoop=true;this.trigger('loopComplete');}}else{this.setCurrentRawFrameValue(nextValue);}}else if(nextValue<0){if(!this.checkSegments(nextValue%this.totalFrames)){if(this.loop&&!(this.playCount--<=0&&this.loop!==true)){this.setCurrentRawFrameValue(this.totalFrames+nextValue%this.totalFrames);if(!this._completedLoop){this._completedLoop=true;}else{this.trigger('loopComplete');}}else{_isComplete=true;nextValue=0;}}}else{this.setCurrentRawFrameValue(nextValue);} 178if(_isComplete){this.setCurrentRawFrameValue(nextValue);this.pause();this.trigger('complete');}};AnimationItem.prototype.adjustSegment=function(arr,offset){this.playCount=0;if(arr[1]<arr[0]){if(this.frameModifier>0){if(this.playSpeed<0){this.setSpeed(-this.playSpeed);}else{this.setDirection(-1);}} 179this.totalFrames=arr[0]-arr[1];this.timeCompleted=this.totalFrames;this.firstFrame=arr[1];this.setCurrentRawFrameValue(this.totalFrames-0.001-offset);}else if(arr[1]>arr[0]){if(this.frameModifier<0){if(this.playSpeed<0){this.setSpeed(-this.playSpeed);}else{this.setDirection(1);}} 180this.totalFrames=arr[1]-arr[0];this.timeCompleted=this.totalFrames;this.firstFrame=arr[0];this.setCurrentRawFrameValue(0.001+offset);} 181this.trigger('segmentStart');};AnimationItem.prototype.setSegment=function(init,end){var pendingFrame=-1;if(this.isPaused){if(this.currentRawFrame+this.firstFrame<init){pendingFrame=init;}else if(this.currentRawFrame+this.firstFrame>end){pendingFrame=end-init;}} 182this.firstFrame=init;this.totalFrames=end-init;this.timeCompleted=this.totalFrames;if(pendingFrame!==-1){this.goToAndStop(pendingFrame,true);}};AnimationItem.prototype.playSegments=function(arr,forceFlag){if(forceFlag){this.segments.length=0;} 183if(_typeof$4(arr[0])==='object'){var i;var len=arr.length;for(i=0;i<len;i+=1){this.segments.push(arr[i]);}}else{this.segments.push(arr);} 184if(this.segments.length&&forceFlag){this.adjustSegment(this.segments.shift(),0);} 185if(this.isPaused){this.play();}};AnimationItem.prototype.resetSegments=function(forceFlag){this.segments.length=0;this.segments.push([this.animationData.ip,this.animationData.op]);if(forceFlag){this.checkSegments(0);}};AnimationItem.prototype.checkSegments=function(offset){if(this.segments.length){this.adjustSegment(this.segments.shift(),offset);return true;} 186return false;};AnimationItem.prototype.destroy=function(name){if(name&&this.name!==name||!this.renderer){return;} 187this.renderer.destroy();this.imagePreloader.destroy();this.trigger('destroy');this._cbs=null;this.onEnterFrame=null;this.onLoopComplete=null;this.onComplete=null;this.onSegmentStart=null;this.onDestroy=null;this.renderer=null;this.renderer=null;this.imagePreloader=null;this.projectInterface=null;};AnimationItem.prototype.setCurrentRawFrameValue=function(value){this.currentRawFrame=value;this.gotoFrame();};AnimationItem.prototype.setSpeed=function(val){this.playSpeed=val;this.updaFrameModifier();};AnimationItem.prototype.setDirection=function(val){this.playDirection=val<0?-1:1;this.updaFrameModifier();};AnimationItem.prototype.setLoop=function(isLooping){this.loop=isLooping;};AnimationItem.prototype.setVolume=function(val,name){if(name&&this.name!==name){return;} 188this.audioController.setVolume(val);};AnimationItem.prototype.getVolume=function(){return this.audioController.getVolume();};AnimationItem.prototype.mute=function(name){if(name&&this.name!==name){return;} 189this.audioController.mute();};AnimationItem.prototype.unmute=function(name){if(name&&this.name!==name){return;} 190this.audioController.unmute();};AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection;this.audioController.setRate(this.playSpeed*this.playDirection);};AnimationItem.prototype.getPath=function(){return this.path;};AnimationItem.prototype.getAssetsPath=function(assetData){var path='';if(assetData.e){path=assetData.p;}else if(this.assetsPath){var imagePath=assetData.p;if(imagePath.indexOf('images/')!==-1){imagePath=imagePath.split('/')[1];} 191path=this.assetsPath+imagePath;}else{path=this.path;path+=assetData.u?assetData.u:'';path+=assetData.p;} 192return path;};AnimationItem.prototype.getAssetData=function(id){var i=0;var len=this.assets.length;while(i<len){if(id===this.assets[i].id){return this.assets[i];} 193i+=1;} 194return null;};AnimationItem.prototype.hide=function(){this.renderer.hide();};AnimationItem.prototype.show=function(){this.renderer.show();};AnimationItem.prototype.getDuration=function(isFrame){return isFrame?this.totalFrames:this.totalFrames / this.frameRate;};AnimationItem.prototype.updateDocumentData=function(path,documentData,index){try{var element=this.renderer.getElementByPath(path);element.updateDocumentData(documentData,index);}catch(error){}};AnimationItem.prototype.trigger=function(name){if(this._cbs&&this._cbs[name]){switch(name){case'enterFrame':this.triggerEvent(name,new BMEnterFrameEvent(name,this.currentFrame,this.totalFrames,this.frameModifier));break;case'drawnFrame':this.drawnFrameEvent.currentTime=this.currentFrame;this.drawnFrameEvent.totalTime=this.totalFrames;this.drawnFrameEvent.direction=this.frameModifier;this.triggerEvent(name,this.drawnFrameEvent);break;case'loopComplete':this.triggerEvent(name,new BMCompleteLoopEvent(name,this.loop,this.playCount,this.frameMult));break;case'complete':this.triggerEvent(name,new BMCompleteEvent(name,this.frameMult));break;case'segmentStart':this.triggerEvent(name,new BMSegmentStartEvent(name,this.firstFrame,this.totalFrames));break;case'destroy':this.triggerEvent(name,new BMDestroyEvent(name,this));break;default:this.triggerEvent(name);}} 195if(name==='enterFrame'&&this.onEnterFrame){this.onEnterFrame.call(this,new BMEnterFrameEvent(name,this.currentFrame,this.totalFrames,this.frameMult));} 196if(name==='loopComplete'&&this.onLoopComplete){this.onLoopComplete.call(this,new BMCompleteLoopEvent(name,this.loop,this.playCount,this.frameMult));} 197if(name==='complete'&&this.onComplete){this.onComplete.call(this,new BMCompleteEvent(name,this.frameMult));} 198if(name==='segmentStart'&&this.onSegmentStart){this.onSegmentStart.call(this,new BMSegmentStartEvent(name,this.firstFrame,this.totalFrames));} 199if(name==='destroy'&&this.onDestroy){this.onDestroy.call(this,new BMDestroyEvent(name,this));}};AnimationItem.prototype.triggerRenderFrameError=function(nativeError){var error=new BMRenderFrameErrorEvent(nativeError,this.currentFrame);this.triggerEvent('error',error);if(this.onError){this.onError.call(this,error);}};AnimationItem.prototype.triggerConfigError=function(nativeError){var error=new BMConfigErrorEvent(nativeError,this.currentFrame);this.triggerEvent('error',error);if(this.onError){this.onError.call(this,error);}};var animationManager=function(){var moduleOb={};var registeredAnimations=[];var initTime=0;var len=0;var playingAnimationsNum=0;var _stopped=true;var _isFrozen=false;function removeElement(ev){var i=0;var animItem=ev.target;while(i<len){if(registeredAnimations[i].animation===animItem){registeredAnimations.splice(i,1);i-=1;len-=1;if(!animItem.isPaused){subtractPlayingCount();}} 200i+=1;}} 201function registerAnimation(element,animationData){if(!element){return null;} 202var i=0;while(i<len){if(registeredAnimations[i].elem===element&®isteredAnimations[i].elem!==null){return registeredAnimations[i].animation;} 203i+=1;} 204var animItem=new AnimationItem();setupAnimation(animItem,element);animItem.setData(element,animationData);return animItem;} 205function getRegisteredAnimations(){var i;var lenAnims=registeredAnimations.length;var animations=[];for(i=0;i<lenAnims;i+=1){animations.push(registeredAnimations[i].animation);} 206return animations;} 207function addPlayingCount(){playingAnimationsNum+=1;activate();} 208function subtractPlayingCount(){playingAnimationsNum-=1;} 209function setupAnimation(animItem,element){animItem.addEventListener('destroy',removeElement);animItem.addEventListener('_active',addPlayingCount);animItem.addEventListener('_idle',subtractPlayingCount);registeredAnimations.push({elem:element,animation:animItem});len+=1;} 210function loadAnimation(params){var animItem=new AnimationItem();setupAnimation(animItem,null);animItem.setParams(params);return animItem;} 211function setSpeed(val,animation){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.setSpeed(val,animation);}} 212function setDirection(val,animation){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.setDirection(val,animation);}} 213function play(animation){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.play(animation);}} 214function resume(nowTime){var elapsedTime=nowTime-initTime;var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.advanceTime(elapsedTime);} 215initTime=nowTime;if(playingAnimationsNum&&!_isFrozen){window.requestAnimationFrame(resume);}else{_stopped=true;}} 216function first(nowTime){initTime=nowTime;window.requestAnimationFrame(resume);} 217function pause(animation){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.pause(animation);}} 218function goToAndStop(value,isFrame,animation){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.goToAndStop(value,isFrame,animation);}} 219function stop(animation){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.stop(animation);}} 220function togglePause(animation){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.togglePause(animation);}} 221function destroy(animation){var i;for(i=len-1;i>=0;i-=1){registeredAnimations[i].animation.destroy(animation);}} 222function searchAnimations(animationData,standalone,renderer){var animElements=[].concat([].slice.call(document.getElementsByClassName('lottie')),[].slice.call(document.getElementsByClassName('bodymovin')));var i;var lenAnims=animElements.length;for(i=0;i<lenAnims;i+=1){if(renderer){animElements[i].setAttribute('data-bm-type',renderer);} 223registerAnimation(animElements[i],animationData);} 224if(standalone&&lenAnims===0){if(!renderer){renderer='svg';} 225var body=document.getElementsByTagName('body')[0];body.innerText='';var div=createTag('div');div.style.width='100%';div.style.height='100%';div.setAttribute('data-bm-type',renderer);body.appendChild(div);registerAnimation(div,animationData);}} 226function resize(){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.resize();}} 227function activate(){if(!_isFrozen&&playingAnimationsNum){if(_stopped){window.requestAnimationFrame(first);_stopped=false;}}} 228function freeze(){_isFrozen=true;} 229function unfreeze(){_isFrozen=false;activate();} 230function setVolume(val,animation){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.setVolume(val,animation);}} 231function mute(animation){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.mute(animation);}} 232function unmute(animation){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.unmute(animation);}} 233moduleOb.registerAnimation=registerAnimation;moduleOb.loadAnimation=loadAnimation;moduleOb.setSpeed=setSpeed;moduleOb.setDirection=setDirection;moduleOb.play=play;moduleOb.pause=pause;moduleOb.stop=stop;moduleOb.togglePause=togglePause;moduleOb.searchAnimations=searchAnimations;moduleOb.resize=resize;moduleOb.goToAndStop=goToAndStop;moduleOb.destroy=destroy;moduleOb.freeze=freeze;moduleOb.unfreeze=unfreeze;moduleOb.setVolume=setVolume;moduleOb.mute=mute;moduleOb.unmute=unmute;moduleOb.getRegisteredAnimations=getRegisteredAnimations;return moduleOb;}();var BezierFactory=function(){var ob={};ob.getBezierEasing=getBezierEasing;var beziers={};function getBezierEasing(a,b,c,d,nm){var str=nm||('bez_'+a+'_'+b+'_'+c+'_'+d).replace(/\./g,'p');if(beziers[str]){return beziers[str];} 234var bezEasing=new BezierEasing([a,b,c,d]);beziers[str]=bezEasing;return bezEasing;} 235var NEWTON_ITERATIONS=4;var NEWTON_MIN_SLOPE=0.001;var SUBDIVISION_PRECISION=0.0000001;var SUBDIVISION_MAX_ITERATIONS=10;var kSplineTableSize=11;var kSampleStepSize=1.0 /(kSplineTableSize-1.0);var float32ArraySupported=typeof Float32Array==='function';function A(aA1,aA2){return 1.0-3.0*aA2+3.0*aA1;} 236function B(aA1,aA2){return 3.0*aA2-6.0*aA1;} 237function C(aA1){return 3.0*aA1;} 238function calcBezier(aT,aA1,aA2){return((A(aA1,aA2)*aT+B(aA1,aA2))*aT+C(aA1))*aT;} 239function getSlope(aT,aA1,aA2){return 3.0*A(aA1,aA2)*aT*aT+2.0*B(aA1,aA2)*aT+C(aA1);} 240function binarySubdivide(aX,aA,aB,mX1,mX2){var currentX,currentT,i=0;do{currentT=aA+(aB-aA)/ 2.0;currentX=calcBezier(currentT,mX1,mX2)-aX;if(currentX>0.0){aB=currentT;}else{aA=currentT;}}while(Math.abs(currentX)>SUBDIVISION_PRECISION&&++i<SUBDIVISION_MAX_ITERATIONS);return currentT;} 241function newtonRaphsonIterate(aX,aGuessT,mX1,mX2){for(var i=0;i<NEWTON_ITERATIONS;++i){var currentSlope=getSlope(aGuessT,mX1,mX2);if(currentSlope===0.0)return aGuessT;var currentX=calcBezier(aGuessT,mX1,mX2)-aX;aGuessT-=currentX / currentSlope;} 242return aGuessT;} 243function BezierEasing(points){this._p=points;this._mSampleValues=float32ArraySupported?new Float32Array(kSplineTableSize):new Array(kSplineTableSize);this._precomputed=false;this.get=this.get.bind(this);} 244BezierEasing.prototype={get:function get(x){var mX1=this._p[0],mY1=this._p[1],mX2=this._p[2],mY2=this._p[3];if(!this._precomputed)this._precompute();if(mX1===mY1&&mX2===mY2)return x;if(x===0)return 0;if(x===1)return 1;return calcBezier(this._getTForX(x),mY1,mY2);},_precompute:function _precompute(){var mX1=this._p[0],mY1=this._p[1],mX2=this._p[2],mY2=this._p[3];this._precomputed=true;if(mX1!==mY1||mX2!==mY2){this._calcSampleValues();}},_calcSampleValues:function _calcSampleValues(){var mX1=this._p[0],mX2=this._p[2];for(var i=0;i<kSplineTableSize;++i){this._mSampleValues[i]=calcBezier(i*kSampleStepSize,mX1,mX2);}},_getTForX:function _getTForX(aX){var mX1=this._p[0],mX2=this._p[2],mSampleValues=this._mSampleValues;var intervalStart=0.0;var currentSample=1;var lastSample=kSplineTableSize-1;for(;currentSample!==lastSample&&mSampleValues[currentSample]<=aX;++currentSample){intervalStart+=kSampleStepSize;} 245--currentSample;var dist=(aX-mSampleValues[currentSample])/(mSampleValues[currentSample+1]-mSampleValues[currentSample]);var guessForT=intervalStart+dist*kSampleStepSize;var initialSlope=getSlope(guessForT,mX1,mX2);if(initialSlope>=NEWTON_MIN_SLOPE){return newtonRaphsonIterate(aX,guessForT,mX1,mX2);} 246if(initialSlope===0.0){return guessForT;} 247return binarySubdivide(aX,intervalStart,intervalStart+kSampleStepSize,mX1,mX2);}};return ob;}();var pooling=function(){function _double(arr){return arr.concat(createSizedArray(arr.length));} 248return{"double":_double};}();var poolFactory=function(){return function(initialLength,_create,_release){var _length=0;var _maxLength=initialLength;var pool=createSizedArray(_maxLength);var ob={newElement:newElement,release:release};function newElement(){var element;if(_length){_length-=1;element=pool[_length];}else{element=_create();} 249return element;} 250function release(element){if(_length===_maxLength){pool=pooling["double"](pool);_maxLength*=2;} 251if(_release){_release(element);} 252pool[_length]=element;_length+=1;} 253return ob;};}();var bezierLengthPool=function(){function create(){return{addedLength:0,percents:createTypedArray('float32',getDefaultCurveSegments()),lengths:createTypedArray('float32',getDefaultCurveSegments())};} 254return poolFactory(8,create);}();var segmentsLengthPool=function(){function create(){return{lengths:[],totalLength:0};} 255function release(element){var i;var len=element.lengths.length;for(i=0;i<len;i+=1){bezierLengthPool.release(element.lengths[i]);} 256element.lengths.length=0;} 257return poolFactory(8,create,release);}();function bezFunction(){var math=Math;function pointOnLine2D(x1,y1,x2,y2,x3,y3){var det1=x1*y2+y1*x3+x2*y3-x3*y2-y3*x1-x2*y1;return det1>-0.001&&det1<0.001;} 258function pointOnLine3D(x1,y1,z1,x2,y2,z2,x3,y3,z3){if(z1===0&&z2===0&&z3===0){return pointOnLine2D(x1,y1,x2,y2,x3,y3);} 259var dist1=math.sqrt(math.pow(x2-x1,2)+math.pow(y2-y1,2)+math.pow(z2-z1,2));var dist2=math.sqrt(math.pow(x3-x1,2)+math.pow(y3-y1,2)+math.pow(z3-z1,2));var dist3=math.sqrt(math.pow(x3-x2,2)+math.pow(y3-y2,2)+math.pow(z3-z2,2));var diffDist;if(dist1>dist2){if(dist1>dist3){diffDist=dist1-dist2-dist3;}else{diffDist=dist3-dist2-dist1;}}else if(dist3>dist2){diffDist=dist3-dist2-dist1;}else{diffDist=dist2-dist1-dist3;} 260return diffDist>-0.0001&&diffDist<0.0001;} 261var getBezierLength=function(){return function(pt1,pt2,pt3,pt4){var curveSegments=getDefaultCurveSegments();var k;var i;var len;var ptCoord;var perc;var addedLength=0;var ptDistance;var point=[];var lastPoint=[];var lengthData=bezierLengthPool.newElement();len=pt3.length;for(k=0;k<curveSegments;k+=1){perc=k /(curveSegments-1);ptDistance=0;for(i=0;i<len;i+=1){ptCoord=bmPow(1-perc,3)*pt1[i]+3*bmPow(1-perc,2)*perc*pt3[i]+3*(1-perc)*bmPow(perc,2)*pt4[i]+bmPow(perc,3)*pt2[i];point[i]=ptCoord;if(lastPoint[i]!==null){ptDistance+=bmPow(point[i]-lastPoint[i],2);} 262lastPoint[i]=point[i];} 263if(ptDistance){ptDistance=bmSqrt(ptDistance);addedLength+=ptDistance;} 264lengthData.percents[k]=perc;lengthData.lengths[k]=addedLength;} 265lengthData.addedLength=addedLength;return lengthData;};}();function getSegmentsLength(shapeData){var segmentsLength=segmentsLengthPool.newElement();var closed=shapeData.c;var pathV=shapeData.v;var pathO=shapeData.o;var pathI=shapeData.i;var i;var len=shapeData._length;var lengths=segmentsLength.lengths;var totalLength=0;for(i=0;i<len-1;i+=1){lengths[i]=getBezierLength(pathV[i],pathV[i+1],pathO[i],pathI[i+1]);totalLength+=lengths[i].addedLength;} 266if(closed&&len){lengths[i]=getBezierLength(pathV[i],pathV[0],pathO[i],pathI[0]);totalLength+=lengths[i].addedLength;} 267segmentsLength.totalLength=totalLength;return segmentsLength;} 268function BezierData(length){this.segmentLength=0;this.points=new Array(length);} 269function PointData(partial,point){this.partialLength=partial;this.point=point;} 270var buildBezierData=function(){var storedData={};return function(pt1,pt2,pt3,pt4){var bezierName=(pt1[0]+'_'+pt1[1]+'_'+pt2[0]+'_'+pt2[1]+'_'+pt3[0]+'_'+pt3[1]+'_'+pt4[0]+'_'+pt4[1]).replace(/\./g,'p');if(!storedData[bezierName]){var curveSegments=getDefaultCurveSegments();var k;var i;var len;var ptCoord;var perc;var addedLength=0;var ptDistance;var point;var lastPoint=null;if(pt1.length===2&&(pt1[0]!==pt2[0]||pt1[1]!==pt2[1])&&pointOnLine2D(pt1[0],pt1[1],pt2[0],pt2[1],pt1[0]+pt3[0],pt1[1]+pt3[1])&&pointOnLine2D(pt1[0],pt1[1],pt2[0],pt2[1],pt2[0]+pt4[0],pt2[1]+pt4[1])){curveSegments=2;} 271var bezierData=new BezierData(curveSegments);len=pt3.length;for(k=0;k<curveSegments;k+=1){point=createSizedArray(len);perc=k /(curveSegments-1);ptDistance=0;for(i=0;i<len;i+=1){ptCoord=bmPow(1-perc,3)*pt1[i]+3*bmPow(1-perc,2)*perc*(pt1[i]+pt3[i])+3*(1-perc)*bmPow(perc,2)*(pt2[i]+pt4[i])+bmPow(perc,3)*pt2[i];point[i]=ptCoord;if(lastPoint!==null){ptDistance+=bmPow(point[i]-lastPoint[i],2);}} 272ptDistance=bmSqrt(ptDistance);addedLength+=ptDistance;bezierData.points[k]=new PointData(ptDistance,point);lastPoint=point;} 273bezierData.segmentLength=addedLength;storedData[bezierName]=bezierData;} 274return storedData[bezierName];};}();function getDistancePerc(perc,bezierData){var percents=bezierData.percents;var lengths=bezierData.lengths;var len=percents.length;var initPos=bmFloor((len-1)*perc);var lengthPos=perc*bezierData.addedLength;var lPerc=0;if(initPos===len-1||initPos===0||lengthPos===lengths[initPos]){return percents[initPos];} 275var dir=lengths[initPos]>lengthPos?-1:1;var flag=true;while(flag){if(lengths[initPos]<=lengthPos&&lengths[initPos+1]>lengthPos){lPerc=(lengthPos-lengths[initPos])/(lengths[initPos+1]-lengths[initPos]);flag=false;}else{initPos+=dir;} 276if(initPos<0||initPos>=len-1){if(initPos===len-1){return percents[initPos];} 277flag=false;}} 278return percents[initPos]+(percents[initPos+1]-percents[initPos])*lPerc;} 279function getPointInSegment(pt1,pt2,pt3,pt4,percent,bezierData){var t1=getDistancePerc(percent,bezierData);var u1=1-t1;var ptX=math.round((u1*u1*u1*pt1[0]+(t1*u1*u1+u1*t1*u1+u1*u1*t1)*pt3[0]+(t1*t1*u1+u1*t1*t1+t1*u1*t1)*pt4[0]+t1*t1*t1*pt2[0])*1000)/ 1000;var ptY=math.round((u1*u1*u1*pt1[1]+(t1*u1*u1+u1*t1*u1+u1*u1*t1)*pt3[1]+(t1*t1*u1+u1*t1*t1+t1*u1*t1)*pt4[1]+t1*t1*t1*pt2[1])*1000)/ 1000;return[ptX,ptY];} 280var bezierSegmentPoints=createTypedArray('float32',8);function getNewSegment(pt1,pt2,pt3,pt4,startPerc,endPerc,bezierData){if(startPerc<0){startPerc=0;}else if(startPerc>1){startPerc=1;} 281var t0=getDistancePerc(startPerc,bezierData);endPerc=endPerc>1?1:endPerc;var t1=getDistancePerc(endPerc,bezierData);var i;var len=pt1.length;var u0=1-t0;var u1=1-t1;var u0u0u0=u0*u0*u0;var t0u0u0_3=t0*u0*u0*3;var t0t0u0_3=t0*t0*u0*3;var t0t0t0=t0*t0*t0;var u0u0u1=u0*u0*u1;var t0u0u1_3=t0*u0*u1+u0*t0*u1+u0*u0*t1;var t0t0u1_3=t0*t0*u1+u0*t0*t1+t0*u0*t1;var t0t0t1=t0*t0*t1;var u0u1u1=u0*u1*u1;var t0u1u1_3=t0*u1*u1+u0*t1*u1+u0*u1*t1;var t0t1u1_3=t0*t1*u1+u0*t1*t1+t0*u1*t1;var t0t1t1=t0*t1*t1;var u1u1u1=u1*u1*u1;var t1u1u1_3=t1*u1*u1+u1*t1*u1+u1*u1*t1;var t1t1u1_3=t1*t1*u1+u1*t1*t1+t1*u1*t1;var t1t1t1=t1*t1*t1;for(i=0;i<len;i+=1){bezierSegmentPoints[i*4]=math.round((u0u0u0*pt1[i]+t0u0u0_3*pt3[i]+t0t0u0_3*pt4[i]+t0t0t0*pt2[i])*1000)/ 1000;bezierSegmentPoints[i*4+1]=math.round((u0u0u1*pt1[i]+t0u0u1_3*pt3[i]+t0t0u1_3*pt4[i]+t0t0t1*pt2[i])*1000)/ 1000;bezierSegmentPoints[i*4+2]=math.round((u0u1u1*pt1[i]+t0u1u1_3*pt3[i]+t0t1u1_3*pt4[i]+t0t1t1*pt2[i])*1000)/ 1000;bezierSegmentPoints[i*4+3]=math.round((u1u1u1*pt1[i]+t1u1u1_3*pt3[i]+t1t1u1_3*pt4[i]+t1t1t1*pt2[i])*1000)/ 1000;} 282return bezierSegmentPoints;} 283return{getSegmentsLength:getSegmentsLength,getNewSegment:getNewSegment,getPointInSegment:getPointInSegment,buildBezierData:buildBezierData,pointOnLine2D:pointOnLine2D,pointOnLine3D:pointOnLine3D};} 284var bez=bezFunction();var PropertyFactory=function(){var initFrame=initialDefaultFrame;var mathAbs=Math.abs;function interpolateValue(frameNum,caching){var offsetTime=this.offsetTime;var newValue;if(this.propType==='multidimensional'){newValue=createTypedArray('float32',this.pv.length);} 285var iterationIndex=caching.lastIndex;var i=iterationIndex;var len=this.keyframes.length-1;var flag=true;var keyData;var nextKeyData;var keyframeMetadata;while(flag){keyData=this.keyframes[i];nextKeyData=this.keyframes[i+1];if(i===len-1&&frameNum>=nextKeyData.t-offsetTime){if(keyData.h){keyData=nextKeyData;} 286iterationIndex=0;break;} 287if(nextKeyData.t-offsetTime>frameNum){iterationIndex=i;break;} 288if(i<len-1){i+=1;}else{iterationIndex=0;flag=false;}} 289keyframeMetadata=this.keyframesMetadata[i]||{};var k;var kLen;var perc;var jLen;var j;var fnc;var nextKeyTime=nextKeyData.t-offsetTime;var keyTime=keyData.t-offsetTime;var endValue;if(keyData.to){if(!keyframeMetadata.bezierData){keyframeMetadata.bezierData=bez.buildBezierData(keyData.s,nextKeyData.s||keyData.e,keyData.to,keyData.ti);} 290var bezierData=keyframeMetadata.bezierData;if(frameNum>=nextKeyTime||frameNum<keyTime){var ind=frameNum>=nextKeyTime?bezierData.points.length-1:0;kLen=bezierData.points[ind].point.length;for(k=0;k<kLen;k+=1){newValue[k]=bezierData.points[ind].point[k];}}else{if(keyframeMetadata.__fnct){fnc=keyframeMetadata.__fnct;}else{fnc=BezierFactory.getBezierEasing(keyData.o.x,keyData.o.y,keyData.i.x,keyData.i.y,keyData.n).get;keyframeMetadata.__fnct=fnc;} 291perc=fnc((frameNum-keyTime)/(nextKeyTime-keyTime));var distanceInLine=bezierData.segmentLength*perc;var segmentPerc;var addedLength=caching.lastFrame<frameNum&&caching._lastKeyframeIndex===i?caching._lastAddedLength:0;j=caching.lastFrame<frameNum&&caching._lastKeyframeIndex===i?caching._lastPoint:0;flag=true;jLen=bezierData.points.length;while(flag){addedLength+=bezierData.points[j].partialLength;if(distanceInLine===0||perc===0||j===bezierData.points.length-1){kLen=bezierData.points[j].point.length;for(k=0;k<kLen;k+=1){newValue[k]=bezierData.points[j].point[k];} 292break;}else if(distanceInLine>=addedLength&&distanceInLine<addedLength+bezierData.points[j+1].partialLength){segmentPerc=(distanceInLine-addedLength)/ bezierData.points[j+1].partialLength;kLen=bezierData.points[j].point.length;for(k=0;k<kLen;k+=1){newValue[k]=bezierData.points[j].point[k]+(bezierData.points[j+1].point[k]-bezierData.points[j].point[k])*segmentPerc;} 293break;} 294if(j<jLen-1){j+=1;}else{flag=false;}} 295caching._lastPoint=j;caching._lastAddedLength=addedLength-bezierData.points[j].partialLength;caching._lastKeyframeIndex=i;}}else{var outX;var outY;var inX;var inY;var keyValue;len=keyData.s.length;endValue=nextKeyData.s||keyData.e;if(this.sh&&keyData.h!==1){if(frameNum>=nextKeyTime){newValue[0]=endValue[0];newValue[1]=endValue[1];newValue[2]=endValue[2];}else if(frameNum<=keyTime){newValue[0]=keyData.s[0];newValue[1]=keyData.s[1];newValue[2]=keyData.s[2];}else{var quatStart=createQuaternion(keyData.s);var quatEnd=createQuaternion(endValue);var time=(frameNum-keyTime)/(nextKeyTime-keyTime);quaternionToEuler(newValue,slerp(quatStart,quatEnd,time));}}else{for(i=0;i<len;i+=1){if(keyData.h!==1){if(frameNum>=nextKeyTime){perc=1;}else if(frameNum<keyTime){perc=0;}else{if(keyData.o.x.constructor===Array){if(!keyframeMetadata.__fnct){keyframeMetadata.__fnct=[];} 296if(!keyframeMetadata.__fnct[i]){outX=keyData.o.x[i]===undefined?keyData.o.x[0]:keyData.o.x[i];outY=keyData.o.y[i]===undefined?keyData.o.y[0]:keyData.o.y[i];inX=keyData.i.x[i]===undefined?keyData.i.x[0]:keyData.i.x[i];
vendor: 8,471 bytes, lines 296-329
296inY=keyData.i.y[i]===undefined?keyData.i.y[0]:keyData.i.y[i];fnc=BezierFactory.getBezierEasing(outX,outY,inX,inY).get;keyframeMetadata.__fnct[i]=fnc;}else{fnc=keyframeMetadata.__fnct[i];}}else if(!keyframeMetadata.__fnct){outX=keyData.o.x;outY=keyData.o.y;inX=keyData.i.x;inY=keyData.i.y;fnc=BezierFactory.getBezierEasing(outX,outY,inX,inY).get;keyData.keyframeMetadata=fnc;}else{fnc=keyframeMetadata.__fnct;} 297perc=fnc((frameNum-keyTime)/(nextKeyTime-keyTime));}} 298endValue=nextKeyData.s||keyData.e;keyValue=keyData.h===1?keyData.s[i]:keyData.s[i]+(endValue[i]-keyData.s[i])*perc;if(this.propType==='multidimensional'){newValue[i]=keyValue;}else{newValue=keyValue;}}}} 299caching.lastIndex=iterationIndex;return newValue;} 300function slerp(a,b,t){var out=[];var ax=a[0];var ay=a[1];var az=a[2];var aw=a[3];var bx=b[0];var by=b[1];var bz=b[2];var bw=b[3];var omega;var cosom;var sinom;var scale0;var scale1;cosom=ax*bx+ay*by+az*bz+aw*bw;if(cosom<0.0){cosom=-cosom;bx=-bx;by=-by;bz=-bz;bw=-bw;} 301if(1.0-cosom>0.000001){omega=Math.acos(cosom);sinom=Math.sin(omega);scale0=Math.sin((1.0-t)*omega)/ sinom;scale1=Math.sin(t*omega)/ sinom;}else{scale0=1.0-t;scale1=t;} 302out[0]=scale0*ax+scale1*bx;out[1]=scale0*ay+scale1*by;out[2]=scale0*az+scale1*bz;out[3]=scale0*aw+scale1*bw;return out;} 303function quaternionToEuler(out,quat){var qx=quat[0];var qy=quat[1];var qz=quat[2];var qw=quat[3];var heading=Math.atan2(2*qy*qw-2*qx*qz,1-2*qy*qy-2*qz*qz);var attitude=Math.asin(2*qx*qy+2*qz*qw);var bank=Math.atan2(2*qx*qw-2*qy*qz,1-2*qx*qx-2*qz*qz);out[0]=heading / degToRads;out[1]=attitude / degToRads;out[2]=bank / degToRads;} 304function createQuaternion(values){var heading=values[0]*degToRads;var attitude=values[1]*degToRads;var bank=values[2]*degToRads;var c1=Math.cos(heading / 2);var c2=Math.cos(attitude / 2);var c3=Math.cos(bank / 2);var s1=Math.sin(heading / 2);var s2=Math.sin(attitude / 2);var s3=Math.sin(bank / 2);var w=c1*c2*c3-s1*s2*s3;var x=s1*s2*c3+c1*c2*s3;var y=s1*c2*c3+c1*s2*s3;var z=c1*s2*c3-s1*c2*s3;return[x,y,z,w];} 305function getValueAtCurrentTime(){var frameNum=this.comp.renderedFrame-this.offsetTime;var initTime=this.keyframes[0].t-this.offsetTime;var endTime=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(frameNum===this._caching.lastFrame||this._caching.lastFrame!==initFrame&&(this._caching.lastFrame>=endTime&&frameNum>=endTime||this._caching.lastFrame<initTime&&frameNum<initTime))){if(this._caching.lastFrame>=frameNum){this._caching._lastKeyframeIndex=-1;this._caching.lastIndex=0;} 306var renderResult=this.interpolateValue(frameNum,this._caching);this.pv=renderResult;} 307this._caching.lastFrame=frameNum;return this.pv;} 308function setVValue(val){var multipliedValue;if(this.propType==='unidimensional'){multipliedValue=val*this.mult;if(mathAbs(this.v-multipliedValue)>0.00001){this.v=multipliedValue;this._mdf=true;}}else{var i=0;var len=this.v.length;while(i<len){multipliedValue=val[i]*this.mult;if(mathAbs(this.v[i]-multipliedValue)>0.00001){this.v[i]=multipliedValue;this._mdf=true;} 309i+=1;}}} 310function processEffectsSequence(){if(this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length){return;} 311if(this.lock){this.setVValue(this.pv);return;} 312this.lock=true;this._mdf=this._isFirstFrame;var i;var len=this.effectsSequence.length;var finalValue=this.kf?this.pv:this.data.k;for(i=0;i<len;i+=1){finalValue=this.effectsSequence[i](finalValue);} 313this.setVValue(finalValue);this._isFirstFrame=false;this.lock=false;this.frameId=this.elem.globalData.frameId;} 314function addEffect(effectFunction){this.effectsSequence.push(effectFunction);this.container.addDynamicProperty(this);} 315function ValueProperty(elem,data,mult,container){this.propType='unidimensional';this.mult=mult||1;this.data=data;this.v=mult?data.k*mult:data.k;this.pv=data.k;this._mdf=false;this.elem=elem;this.container=container;this.comp=elem.comp;this.k=false;this.kf=false;this.vel=0;this.effectsSequence=[];this._isFirstFrame=true;this.getValue=processEffectsSequence;this.setVValue=setVValue;this.addEffect=addEffect;} 316function MultiDimensionalProperty(elem,data,mult,container){this.propType='multidimensional';this.mult=mult||1;this.data=data;this._mdf=false;this.elem=elem;this.container=container;this.comp=elem.comp;this.k=false;this.kf=false;this.frameId=-1;var i;var len=data.k.length;this.v=createTypedArray('float32',len);this.pv=createTypedArray('float32',len);this.vel=createTypedArray('float32',len);for(i=0;i<len;i+=1){this.v[i]=data.k[i]*this.mult;this.pv[i]=data.k[i];} 317this._isFirstFrame=true;this.effectsSequence=[];this.getValue=processEffectsSequence;this.setVValue=setVValue;this.addEffect=addEffect;} 318function KeyframedValueProperty(elem,data,mult,container){this.propType='unidimensional';this.keyframes=data.k;this.keyframesMetadata=[];this.offsetTime=elem.data.st;this.frameId=-1;this._caching={lastFrame:initFrame,lastIndex:0,value:0,_lastKeyframeIndex:-1};this.k=true;this.kf=true;this.data=data;this.mult=mult||1;this.elem=elem;this.container=container;this.comp=elem.comp;this.v=initFrame;this.pv=initFrame;this._isFirstFrame=true;this.getValue=processEffectsSequence;this.setVValue=setVValue;this.interpolateValue=interpolateValue;this.effectsSequence=[getValueAtCurrentTime.bind(this)];this.addEffect=addEffect;} 319function KeyframedMultidimensionalProperty(elem,data,mult,container){this.propType='multidimensional';var i;var len=data.k.length;var s;var e;var to;var ti;for(i=0;i<len-1;i+=1){if(data.k[i].to&&data.k[i].s&&data.k[i+1]&&data.k[i+1].s){s=data.k[i].s;e=data.k[i+1].s;to=data.k[i].to;ti=data.k[i].ti;if(s.length===2&&!(s[0]===e[0]&&s[1]===e[1])&&bez.pointOnLine2D(s[0],s[1],e[0],e[1],s[0]+to[0],s[1]+to[1])&&bez.pointOnLine2D(s[0],s[1],e[0],e[1],e[0]+ti[0],e[1]+ti[1])||s.length===3&&!(s[0]===e[0]&&s[1]===e[1]&&s[2]===e[2])&&bez.pointOnLine3D(s[0],s[1],s[2],e[0],e[1],e[2],s[0]+to[0],s[1]+to[1],s[2]+to[2])&&bez.pointOnLine3D(s[0],s[1],s[2],e[0],e[1],e[2],e[0]+ti[0],e[1]+ti[1],e[2]+ti[2])){data.k[i].to=null;data.k[i].ti=null;} 320if(s[0]===e[0]&&s[1]===e[1]&&to[0]===0&&to[1]===0&&ti[0]===0&&ti[1]===0){if(s.length===2||s[2]===e[2]&&to[2]===0&&ti[2]===0){data.k[i].to=null;data.k[i].ti=null;}}}} 321this.effectsSequence=[getValueAtCurrentTime.bind(this)];this.data=data;this.keyframes=data.k;this.keyframesMetadata=[];this.offsetTime=elem.data.st;this.k=true;this.kf=true;this._isFirstFrame=true;this.mult=mult||1;this.elem=elem;this.container=container;this.comp=elem.comp;this.getValue=processEffectsSequence;this.setVValue=setVValue;this.interpolateValue=interpolateValue;this.frameId=-1;var arrLen=data.k[0].s.length;this.v=createTypedArray('float32',arrLen);this.pv=createTypedArray('float32',arrLen);for(i=0;i<arrLen;i+=1){this.v[i]=initFrame;this.pv[i]=initFrame;} 322this._caching={lastFrame:initFrame,lastIndex:0,value:createTypedArray('float32',arrLen)};this.addEffect=addEffect;} 323function getProp(elem,data,type,mult,container){var p;if(!data.k.length){p=new ValueProperty(elem,data,mult,container);}else if(typeof data.k[0]==='number'){p=new MultiDimensionalProperty(elem,data,mult,container);}else{switch(type){case 0:p=new KeyframedValueProperty(elem,data,mult,container);break;case 1:p=new KeyframedMultidimensionalProperty(elem,data,mult,container);break;default:break;}} 324if(p.effectsSequence.length){container.addDynamicProperty(p);} 325return p;} 326var ob={getProp:getProp};return ob;}();function DynamicPropertyContainer(){} 327DynamicPropertyContainer.prototype={addDynamicProperty:function addDynamicProperty(prop){if(this.dynamicProperties.indexOf(prop)===-1){this.dynamicProperties.push(prop);this.container.addDynamicProperty(this);this._isAnimated=true;}},iterateDynamicProperties:function iterateDynamicProperties(){this._mdf=false;var i;var len=this.dynamicProperties.length;for(i=0;i<len;i+=1){this.dynamicProperties[i].getValue();if(this.dynamicProperties[i]._mdf){this._mdf=true;}}},initDynamicPropertyContainer:function initDynamicPropertyContainer(container){this.container=container;this.dynamicProperties=[];this._mdf=false;this._isAnimated=false;}};var pointPool=function(){function create(){return createTypedArray('float32',2);} 328return poolFactory(8,create);}();function ShapePath(){this.c=false;this._length=0;this._maxLength=8;this.v=createSizedArray(this._maxLength);this.o=createSizedArray(this._maxLength);this.i=createSizedArray(this._maxLength);} 329ShapePath.prototype.setPathData=function(closed,len){this.c=closed;this.setLength(len);var i=0;while(i<len){this.v[i]=pointPool.newElement();
vendor: 36,113 bytes, lines 329-474
329this.o[i]=pointPool.newElement();this.i[i]=pointPool.newElement();i+=1;}};ShapePath.prototype.setLength=function(len){while(this._maxLength<len){this.doubleArrayLength();} 330this._length=len;};ShapePath.prototype.doubleArrayLength=function(){this.v=this.v.concat(createSizedArray(this._maxLength));this.i=this.i.concat(createSizedArray(this._maxLength));this.o=this.o.concat(createSizedArray(this._maxLength));this._maxLength*=2;};ShapePath.prototype.setXYAt=function(x,y,type,pos,replace){var arr;this._length=Math.max(this._length,pos+1);if(this._length>=this._maxLength){this.doubleArrayLength();} 331switch(type){case'v':arr=this.v;break;case'i':arr=this.i;break;case'o':arr=this.o;break;default:arr=[];break;} 332if(!arr[pos]||arr[pos]&&!replace){arr[pos]=pointPool.newElement();} 333arr[pos][0]=x;arr[pos][1]=y;};ShapePath.prototype.setTripleAt=function(vX,vY,oX,oY,iX,iY,pos,replace){this.setXYAt(vX,vY,'v',pos,replace);this.setXYAt(oX,oY,'o',pos,replace);this.setXYAt(iX,iY,'i',pos,replace);};ShapePath.prototype.reverse=function(){var newPath=new ShapePath();newPath.setPathData(this.c,this._length);var vertices=this.v;var outPoints=this.o;var inPoints=this.i;var init=0;if(this.c){newPath.setTripleAt(vertices[0][0],vertices[0][1],inPoints[0][0],inPoints[0][1],outPoints[0][0],outPoints[0][1],0,false);init=1;} 334var cnt=this._length-1;var len=this._length;var i;for(i=init;i<len;i+=1){newPath.setTripleAt(vertices[cnt][0],vertices[cnt][1],inPoints[cnt][0],inPoints[cnt][1],outPoints[cnt][0],outPoints[cnt][1],i,false);cnt-=1;} 335return newPath;};ShapePath.prototype.length=function(){return this._length;};var shapePool=function(){function create(){return new ShapePath();} 336function release(shapePath){var len=shapePath._length;var i;for(i=0;i<len;i+=1){pointPool.release(shapePath.v[i]);pointPool.release(shapePath.i[i]);pointPool.release(shapePath.o[i]);shapePath.v[i]=null;shapePath.i[i]=null;shapePath.o[i]=null;} 337shapePath._length=0;shapePath.c=false;} 338function clone(shape){var cloned=factory.newElement();var i;var len=shape._length===undefined?shape.v.length:shape._length;cloned.setLength(len);cloned.c=shape.c;for(i=0;i<len;i+=1){cloned.setTripleAt(shape.v[i][0],shape.v[i][1],shape.o[i][0],shape.o[i][1],shape.i[i][0],shape.i[i][1],i);} 339return cloned;} 340var factory=poolFactory(4,create,release);factory.clone=clone;return factory;}();function ShapeCollection(){this._length=0;this._maxLength=4;this.shapes=createSizedArray(this._maxLength);} 341ShapeCollection.prototype.addShape=function(shapeData){if(this._length===this._maxLength){this.shapes=this.shapes.concat(createSizedArray(this._maxLength));this._maxLength*=2;} 342this.shapes[this._length]=shapeData;this._length+=1;};ShapeCollection.prototype.releaseShapes=function(){var i;for(i=0;i<this._length;i+=1){shapePool.release(this.shapes[i]);} 343this._length=0;};var shapeCollectionPool=function(){var ob={newShapeCollection:newShapeCollection,release:release};var _length=0;var _maxLength=4;var pool=createSizedArray(_maxLength);function newShapeCollection(){var shapeCollection;if(_length){_length-=1;shapeCollection=pool[_length];}else{shapeCollection=new ShapeCollection();} 344return shapeCollection;} 345function release(shapeCollection){var i;var len=shapeCollection._length;for(i=0;i<len;i+=1){shapePool.release(shapeCollection.shapes[i]);} 346shapeCollection._length=0;if(_length===_maxLength){pool=pooling["double"](pool);_maxLength*=2;} 347pool[_length]=shapeCollection;_length+=1;} 348return ob;}();var ShapePropertyFactory=function(){var initFrame=-999999;function interpolateShape(frameNum,previousValue,caching){var iterationIndex=caching.lastIndex;var keyPropS;var keyPropE;var isHold;var j;var k;var jLen;var kLen;var perc;var vertexValue;var kf=this.keyframes;if(frameNum<kf[0].t-this.offsetTime){keyPropS=kf[0].s[0];isHold=true;iterationIndex=0;}else if(frameNum>=kf[kf.length-1].t-this.offsetTime){keyPropS=kf[kf.length-1].s?kf[kf.length-1].s[0]:kf[kf.length-2].e[0];isHold=true;}else{var i=iterationIndex;var len=kf.length-1;var flag=true;var keyData;var nextKeyData;var keyframeMetadata;while(flag){keyData=kf[i];nextKeyData=kf[i+1];if(nextKeyData.t-this.offsetTime>frameNum){break;} 349if(i<len-1){i+=1;}else{flag=false;}} 350keyframeMetadata=this.keyframesMetadata[i]||{};isHold=keyData.h===1;iterationIndex=i;if(!isHold){if(frameNum>=nextKeyData.t-this.offsetTime){perc=1;}else if(frameNum<keyData.t-this.offsetTime){perc=0;}else{var fnc;if(keyframeMetadata.__fnct){fnc=keyframeMetadata.__fnct;}else{fnc=BezierFactory.getBezierEasing(keyData.o.x,keyData.o.y,keyData.i.x,keyData.i.y).get;keyframeMetadata.__fnct=fnc;} 351perc=fnc((frameNum-(keyData.t-this.offsetTime))/(nextKeyData.t-this.offsetTime-(keyData.t-this.offsetTime)));} 352keyPropE=nextKeyData.s?nextKeyData.s[0]:keyData.e[0];} 353keyPropS=keyData.s[0];} 354jLen=previousValue._length;kLen=keyPropS.i[0].length;caching.lastIndex=iterationIndex;for(j=0;j<jLen;j+=1){for(k=0;k<kLen;k+=1){vertexValue=isHold?keyPropS.i[j][k]:keyPropS.i[j][k]+(keyPropE.i[j][k]-keyPropS.i[j][k])*perc;previousValue.i[j][k]=vertexValue;vertexValue=isHold?keyPropS.o[j][k]:keyPropS.o[j][k]+(keyPropE.o[j][k]-keyPropS.o[j][k])*perc;previousValue.o[j][k]=vertexValue;vertexValue=isHold?keyPropS.v[j][k]:keyPropS.v[j][k]+(keyPropE.v[j][k]-keyPropS.v[j][k])*perc;previousValue.v[j][k]=vertexValue;}}} 355function interpolateShapeCurrentTime(){var frameNum=this.comp.renderedFrame-this.offsetTime;var initTime=this.keyframes[0].t-this.offsetTime;var endTime=this.keyframes[this.keyframes.length-1].t-this.offsetTime;var lastFrame=this._caching.lastFrame;if(!(lastFrame!==initFrame&&(lastFrame<initTime&&frameNum<initTime||lastFrame>endTime&&frameNum>endTime))){this._caching.lastIndex=lastFrame<frameNum?this._caching.lastIndex:0;this.interpolateShape(frameNum,this.pv,this._caching);} 356this._caching.lastFrame=frameNum;return this.pv;} 357function resetShape(){this.paths=this.localShapeCollection;} 358function shapesEqual(shape1,shape2){if(shape1._length!==shape2._length||shape1.c!==shape2.c){return false;} 359var i;var len=shape1._length;for(i=0;i<len;i+=1){if(shape1.v[i][0]!==shape2.v[i][0]||shape1.v[i][1]!==shape2.v[i][1]||shape1.o[i][0]!==shape2.o[i][0]||shape1.o[i][1]!==shape2.o[i][1]||shape1.i[i][0]!==shape2.i[i][0]||shape1.i[i][1]!==shape2.i[i][1]){return false;}} 360return true;} 361function setVValue(newPath){if(!shapesEqual(this.v,newPath)){this.v=shapePool.clone(newPath);this.localShapeCollection.releaseShapes();this.localShapeCollection.addShape(this.v);this._mdf=true;this.paths=this.localShapeCollection;}} 362function processEffectsSequence(){if(this.elem.globalData.frameId===this.frameId){return;} 363if(!this.effectsSequence.length){this._mdf=false;return;} 364if(this.lock){this.setVValue(this.pv);return;} 365this.lock=true;this._mdf=false;var finalValue;if(this.kf){finalValue=this.pv;}else if(this.data.ks){finalValue=this.data.ks.k;}else{finalValue=this.data.pt.k;} 366var i;var len=this.effectsSequence.length;for(i=0;i<len;i+=1){finalValue=this.effectsSequence[i](finalValue);} 367this.setVValue(finalValue);this.lock=false;this.frameId=this.elem.globalData.frameId;} 368function ShapeProperty(elem,data,type){this.propType='shape';this.comp=elem.comp;this.container=elem;this.elem=elem;this.data=data;this.k=false;this.kf=false;this._mdf=false;var pathData=type===3?data.pt.k:data.ks.k;this.v=shapePool.clone(pathData);this.pv=shapePool.clone(this.v);this.localShapeCollection=shapeCollectionPool.newShapeCollection();this.paths=this.localShapeCollection;this.paths.addShape(this.v);this.reset=resetShape;this.effectsSequence=[];} 369function addEffect(effectFunction){this.effectsSequence.push(effectFunction);this.container.addDynamicProperty(this);} 370ShapeProperty.prototype.interpolateShape=interpolateShape;ShapeProperty.prototype.getValue=processEffectsSequence;ShapeProperty.prototype.setVValue=setVValue;ShapeProperty.prototype.addEffect=addEffect;function KeyframedShapeProperty(elem,data,type){this.propType='shape';this.comp=elem.comp;this.elem=elem;this.container=elem;this.offsetTime=elem.data.st;this.keyframes=type===3?data.pt.k:data.ks.k;this.keyframesMetadata=[];this.k=true;this.kf=true;var len=this.keyframes[0].s[0].i.length;this.v=shapePool.newElement();this.v.setPathData(this.keyframes[0].s[0].c,len);this.pv=shapePool.clone(this.v);this.localShapeCollection=shapeCollectionPool.newShapeCollection();this.paths=this.localShapeCollection;this.paths.addShape(this.v);this.lastFrame=initFrame;this.reset=resetShape;this._caching={lastFrame:initFrame,lastIndex:0};this.effectsSequence=[interpolateShapeCurrentTime.bind(this)];} 371KeyframedShapeProperty.prototype.getValue=processEffectsSequence;KeyframedShapeProperty.prototype.interpolateShape=interpolateShape;KeyframedShapeProperty.prototype.setVValue=setVValue;KeyframedShapeProperty.prototype.addEffect=addEffect;var EllShapeProperty=function(){var cPoint=roundCorner;function EllShapePropertyFactory(elem,data){this.v=shapePool.newElement();this.v.setPathData(true,4);this.localShapeCollection=shapeCollectionPool.newShapeCollection();this.paths=this.localShapeCollection;this.localShapeCollection.addShape(this.v);this.d=data.d;this.elem=elem;this.comp=elem.comp;this.frameId=-1;this.initDynamicPropertyContainer(elem);this.p=PropertyFactory.getProp(elem,data.p,1,0,this);this.s=PropertyFactory.getProp(elem,data.s,1,0,this);if(this.dynamicProperties.length){this.k=true;}else{this.k=false;this.convertEllToPath();}} 372EllShapePropertyFactory.prototype={reset:resetShape,getValue:function getValue(){if(this.elem.globalData.frameId===this.frameId){return;} 373this.frameId=this.elem.globalData.frameId;this.iterateDynamicProperties();if(this._mdf){this.convertEllToPath();}},convertEllToPath:function convertEllToPath(){var p0=this.p.v[0];var p1=this.p.v[1];var s0=this.s.v[0]/ 2;var s1=this.s.v[1]/ 2;var _cw=this.d!==3;var _v=this.v;_v.v[0][0]=p0;_v.v[0][1]=p1-s1;_v.v[1][0]=_cw?p0+s0:p0-s0;_v.v[1][1]=p1;_v.v[2][0]=p0;_v.v[2][1]=p1+s1;_v.v[3][0]=_cw?p0-s0:p0+s0;_v.v[3][1]=p1;_v.i[0][0]=_cw?p0-s0*cPoint:p0+s0*cPoint;_v.i[0][1]=p1-s1;_v.i[1][0]=_cw?p0+s0:p0-s0;_v.i[1][1]=p1-s1*cPoint;_v.i[2][0]=_cw?p0+s0*cPoint:p0-s0*cPoint;_v.i[2][1]=p1+s1;_v.i[3][0]=_cw?p0-s0:p0+s0;_v.i[3][1]=p1+s1*cPoint;_v.o[0][0]=_cw?p0+s0*cPoint:p0-s0*cPoint;_v.o[0][1]=p1-s1;_v.o[1][0]=_cw?p0+s0:p0-s0;_v.o[1][1]=p1+s1*cPoint;_v.o[2][0]=_cw?p0-s0*cPoint:p0+s0*cPoint;_v.o[2][1]=p1+s1;_v.o[3][0]=_cw?p0-s0:p0+s0;_v.o[3][1]=p1-s1*cPoint;}};extendPrototype([DynamicPropertyContainer],EllShapePropertyFactory);return EllShapePropertyFactory;}();var StarShapeProperty=function(){function StarShapePropertyFactory(elem,data){this.v=shapePool.newElement();this.v.setPathData(true,0);this.elem=elem;this.comp=elem.comp;this.data=data;this.frameId=-1;this.d=data.d;this.initDynamicPropertyContainer(elem);if(data.sy===1){this.ir=PropertyFactory.getProp(elem,data.ir,0,0,this);this.is=PropertyFactory.getProp(elem,data.is,0,0.01,this);this.convertToPath=this.convertStarToPath;}else{this.convertToPath=this.convertPolygonToPath;} 374this.pt=PropertyFactory.getProp(elem,data.pt,0,0,this);this.p=PropertyFactory.getProp(elem,data.p,1,0,this);this.r=PropertyFactory.getProp(elem,data.r,0,degToRads,this);this.or=PropertyFactory.getProp(elem,data.or,0,0,this);this.os=PropertyFactory.getProp(elem,data.os,0,0.01,this);this.localShapeCollection=shapeCollectionPool.newShapeCollection();this.localShapeCollection.addShape(this.v);this.paths=this.localShapeCollection;if(this.dynamicProperties.length){this.k=true;}else{this.k=false;this.convertToPath();}} 375StarShapePropertyFactory.prototype={reset:resetShape,getValue:function getValue(){if(this.elem.globalData.frameId===this.frameId){return;} 376this.frameId=this.elem.globalData.frameId;this.iterateDynamicProperties();if(this._mdf){this.convertToPath();}},convertStarToPath:function convertStarToPath(){var numPts=Math.floor(this.pt.v)*2;var angle=Math.PI*2 / numPts;var longFlag=true;var longRad=this.or.v;var shortRad=this.ir.v;var longRound=this.os.v;var shortRound=this.is.v;var longPerimSegment=2*Math.PI*longRad /(numPts*2);var shortPerimSegment=2*Math.PI*shortRad /(numPts*2);var i;var rad;var roundness;var perimSegment;var currentAng=-Math.PI / 2;currentAng+=this.r.v;var dir=this.data.d===3?-1:1;this.v._length=0;for(i=0;i<numPts;i+=1){rad=longFlag?longRad:shortRad;roundness=longFlag?longRound:shortRound;perimSegment=longFlag?longPerimSegment:shortPerimSegment;var x=rad*Math.cos(currentAng);var y=rad*Math.sin(currentAng);var ox=x===0&&y===0?0:y / Math.sqrt(x*x+y*y);var oy=x===0&&y===0?0:-x / Math.sqrt(x*x+y*y);x+=+this.p.v[0];y+=+this.p.v[1];this.v.setTripleAt(x,y,x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir,x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir,i,true);longFlag=!longFlag;currentAng+=angle*dir;}},convertPolygonToPath:function convertPolygonToPath(){var numPts=Math.floor(this.pt.v);var angle=Math.PI*2 / numPts;var rad=this.or.v;var roundness=this.os.v;var perimSegment=2*Math.PI*rad /(numPts*4);var i;var currentAng=-Math.PI*0.5;var dir=this.data.d===3?-1:1;currentAng+=this.r.v;this.v._length=0;for(i=0;i<numPts;i+=1){var x=rad*Math.cos(currentAng);var y=rad*Math.sin(currentAng);var ox=x===0&&y===0?0:y / Math.sqrt(x*x+y*y);var oy=x===0&&y===0?0:-x / Math.sqrt(x*x+y*y);x+=+this.p.v[0];y+=+this.p.v[1];this.v.setTripleAt(x,y,x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir,x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir,i,true);currentAng+=angle*dir;} 377this.paths.length=0;this.paths[0]=this.v;}};extendPrototype([DynamicPropertyContainer],StarShapePropertyFactory);return StarShapePropertyFactory;}();var RectShapeProperty=function(){function RectShapePropertyFactory(elem,data){this.v=shapePool.newElement();this.v.c=true;this.localShapeCollection=shapeCollectionPool.newShapeCollection();this.localShapeCollection.addShape(this.v);this.paths=this.localShapeCollection;this.elem=elem;this.comp=elem.comp;this.frameId=-1;this.d=data.d;this.initDynamicPropertyContainer(elem);this.p=PropertyFactory.getProp(elem,data.p,1,0,this);this.s=PropertyFactory.getProp(elem,data.s,1,0,this);this.r=PropertyFactory.getProp(elem,data.r,0,0,this);if(this.dynamicProperties.length){this.k=true;}else{this.k=false;this.convertRectToPath();}} 378RectShapePropertyFactory.prototype={convertRectToPath:function convertRectToPath(){var p0=this.p.v[0];var p1=this.p.v[1];var v0=this.s.v[0]/ 2;var v1=this.s.v[1]/ 2;var round=bmMin(v0,v1,this.r.v);var cPoint=round*(1-roundCorner);this.v._length=0;if(this.d===2||this.d===1){this.v.setTripleAt(p0+v0,p1-v1+round,p0+v0,p1-v1+round,p0+v0,p1-v1+cPoint,0,true);this.v.setTripleAt(p0+v0,p1+v1-round,p0+v0,p1+v1-cPoint,p0+v0,p1+v1-round,1,true);if(round!==0){this.v.setTripleAt(p0+v0-round,p1+v1,p0+v0-round,p1+v1,p0+v0-cPoint,p1+v1,2,true);this.v.setTripleAt(p0-v0+round,p1+v1,p0-v0+cPoint,p1+v1,p0-v0+round,p1+v1,3,true);this.v.setTripleAt(p0-v0,p1+v1-round,p0-v0,p1+v1-round,p0-v0,p1+v1-cPoint,4,true);this.v.setTripleAt(p0-v0,p1-v1+round,p0-v0,p1-v1+cPoint,p0-v0,p1-v1+round,5,true);this.v.setTripleAt(p0-v0+round,p1-v1,p0-v0+round,p1-v1,p0-v0+cPoint,p1-v1,6,true);this.v.setTripleAt(p0+v0-round,p1-v1,p0+v0-cPoint,p1-v1,p0+v0-round,p1-v1,7,true);}else{this.v.setTripleAt(p0-v0,p1+v1,p0-v0+cPoint,p1+v1,p0-v0,p1+v1,2);this.v.setTripleAt(p0-v0,p1-v1,p0-v0,p1-v1+cPoint,p0-v0,p1-v1,3);}}else{this.v.setTripleAt(p0+v0,p1-v1+round,p0+v0,p1-v1+cPoint,p0+v0,p1-v1+round,0,true);if(round!==0){this.v.setTripleAt(p0+v0-round,p1-v1,p0+v0-round,p1-v1,p0+v0-cPoint,p1-v1,1,true);this.v.setTripleAt(p0-v0+round,p1-v1,p0-v0+cPoint,p1-v1,p0-v0+round,p1-v1,2,true);this.v.setTripleAt(p0-v0,p1-v1+round,p0-v0,p1-v1+round,p0-v0,p1-v1+cPoint,3,true);this.v.setTripleAt(p0-v0,p1+v1-round,p0-v0,p1+v1-cPoint,p0-v0,p1+v1-round,4,true);this.v.setTripleAt(p0-v0+round,p1+v1,p0-v0+round,p1+v1,p0-v0+cPoint,p1+v1,5,true);this.v.setTripleAt(p0+v0-round,p1+v1,p0+v0-cPoint,p1+v1,p0+v0-round,p1+v1,6,true);this.v.setTripleAt(p0+v0,p1+v1-round,p0+v0,p1+v1-round,p0+v0,p1+v1-cPoint,7,true);}else{this.v.setTripleAt(p0-v0,p1-v1,p0-v0+cPoint,p1-v1,p0-v0,p1-v1,1,true);this.v.setTripleAt(p0-v0,p1+v1,p0-v0,p1+v1-cPoint,p0-v0,p1+v1,2,true);this.v.setTripleAt(p0+v0,p1+v1,p0+v0-cPoint,p1+v1,p0+v0,p1+v1,3,true);}}},getValue:function getValue(){if(this.elem.globalData.frameId===this.frameId){return;} 379this.frameId=this.elem.globalData.frameId;this.iterateDynamicProperties();if(this._mdf){this.convertRectToPath();}},reset:resetShape};extendPrototype([DynamicPropertyContainer],RectShapePropertyFactory);return RectShapePropertyFactory;}();function getShapeProp(elem,data,type){var prop;if(type===3||type===4){var dataProp=type===3?data.pt:data.ks;var keys=dataProp.k;if(keys.length){prop=new KeyframedShapeProperty(elem,data,type);}else{prop=new ShapeProperty(elem,data,type);}}else if(type===5){prop=new RectShapeProperty(elem,data);}else if(type===6){prop=new EllShapeProperty(elem,data);}else if(type===7){prop=new StarShapeProperty(elem,data);} 380if(prop.k){elem.addDynamicProperty(prop);} 381return prop;} 382function getConstructorFunction(){return ShapeProperty;} 383function getKeyframedConstructorFunction(){return KeyframedShapeProperty;} 384var ob={};ob.getShapeProp=getShapeProp;ob.getConstructorFunction=getConstructorFunction;ob.getKeyframedConstructorFunction=getKeyframedConstructorFunction;return ob;}();var Matrix=function(){var _cos=Math.cos;var _sin=Math.sin;var _tan=Math.tan;var _rnd=Math.round;function reset(){this.props[0]=1;this.props[1]=0;this.props[2]=0;this.props[3]=0;this.props[4]=0;this.props[5]=1;this.props[6]=0;this.props[7]=0;this.props[8]=0;this.props[9]=0;this.props[10]=1;this.props[11]=0;this.props[12]=0;this.props[13]=0;this.props[14]=0;this.props[15]=1;return this;} 385function rotate(angle){if(angle===0){return this;} 386var mCos=_cos(angle);var mSin=_sin(angle);return this._t(mCos,-mSin,0,0,mSin,mCos,0,0,0,0,1,0,0,0,0,1);} 387function rotateX(angle){if(angle===0){return this;} 388var mCos=_cos(angle);var mSin=_sin(angle);return this._t(1,0,0,0,0,mCos,-mSin,0,0,mSin,mCos,0,0,0,0,1);} 389function rotateY(angle){if(angle===0){return this;} 390var mCos=_cos(angle);var mSin=_sin(angle);return this._t(mCos,0,mSin,0,0,1,0,0,-mSin,0,mCos,0,0,0,0,1);} 391function rotateZ(angle){if(angle===0){return this;} 392var mCos=_cos(angle);var mSin=_sin(angle);return this._t(mCos,-mSin,0,0,mSin,mCos,0,0,0,0,1,0,0,0,0,1);} 393function shear(sx,sy){return this._t(1,sy,sx,1,0,0);} 394function skew(ax,ay){return this.shear(_tan(ax),_tan(ay));} 395function skewFromAxis(ax,angle){var mCos=_cos(angle);var mSin=_sin(angle);return this._t(mCos,mSin,0,0,-mSin,mCos,0,0,0,0,1,0,0,0,0,1)._t(1,0,0,0,_tan(ax),1,0,0,0,0,1,0,0,0,0,1)._t(mCos,-mSin,0,0,mSin,mCos,0,0,0,0,1,0,0,0,0,1);} 396function scale(sx,sy,sz){if(!sz&&sz!==0){sz=1;} 397if(sx===1&&sy===1&&sz===1){return this;} 398return this._t(sx,0,0,0,0,sy,0,0,0,0,sz,0,0,0,0,1);} 399function setTransform(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){this.props[0]=a;this.props[1]=b;this.props[2]=c;this.props[3]=d;this.props[4]=e;this.props[5]=f;this.props[6]=g;this.props[7]=h;this.props[8]=i;this.props[9]=j;this.props[10]=k;this.props[11]=l;this.props[12]=m;this.props[13]=n;this.props[14]=o;this.props[15]=p;return this;} 400function translate(tx,ty,tz){tz=tz||0;if(tx!==0||ty!==0||tz!==0){return this._t(1,0,0,0,0,1,0,0,0,0,1,0,tx,ty,tz,1);} 401return this;} 402function transform(a2,b2,c2,d2,e2,f2,g2,h2,i2,j2,k2,l2,m2,n2,o2,p2){var _p=this.props;if(a2===1&&b2===0&&c2===0&&d2===0&&e2===0&&f2===1&&g2===0&&h2===0&&i2===0&&j2===0&&k2===1&&l2===0){_p[12]=_p[12]*a2+_p[15]*m2;_p[13]=_p[13]*f2+_p[15]*n2;_p[14]=_p[14]*k2+_p[15]*o2;_p[15]*=p2;this._identityCalculated=false;return this;} 403var a1=_p[0];var b1=_p[1];var c1=_p[2];var d1=_p[3];var e1=_p[4];var f1=_p[5];var g1=_p[6];var h1=_p[7];var i1=_p[8];var j1=_p[9];var k1=_p[10];var l1=_p[11];var m1=_p[12];var n1=_p[13];var o1=_p[14];var p1=_p[15];_p[0]=a1*a2+b1*e2+c1*i2+d1*m2;_p[1]=a1*b2+b1*f2+c1*j2+d1*n2;_p[2]=a1*c2+b1*g2+c1*k2+d1*o2;_p[3]=a1*d2+b1*h2+c1*l2+d1*p2;_p[4]=e1*a2+f1*e2+g1*i2+h1*m2;_p[5]=e1*b2+f1*f2+g1*j2+h1*n2;_p[6]=e1*c2+f1*g2+g1*k2+h1*o2;_p[7]=e1*d2+f1*h2+g1*l2+h1*p2;_p[8]=i1*a2+j1*e2+k1*i2+l1*m2;_p[9]=i1*b2+j1*f2+k1*j2+l1*n2;_p[10]=i1*c2+j1*g2+k1*k2+l1*o2;_p[11]=i1*d2+j1*h2+k1*l2+l1*p2;_p[12]=m1*a2+n1*e2+o1*i2+p1*m2;_p[13]=m1*b2+n1*f2+o1*j2+p1*n2;_p[14]=m1*c2+n1*g2+o1*k2+p1*o2;_p[15]=m1*d2+n1*h2+o1*l2+p1*p2;this._identityCalculated=false;return this;} 404function isIdentity(){if(!this._identityCalculated){this._identity=!(this.props[0]!==1||this.props[1]!==0||this.props[2]!==0||this.props[3]!==0||this.props[4]!==0||this.props[5]!==1||this.props[6]!==0||this.props[7]!==0||this.props[8]!==0||this.props[9]!==0||this.props[10]!==1||this.props[11]!==0||this.props[12]!==0||this.props[13]!==0||this.props[14]!==0||this.props[15]!==1);this._identityCalculated=true;} 405return this._identity;} 406function equals(matr){var i=0;while(i<16){if(matr.props[i]!==this.props[i]){return false;} 407i+=1;} 408return true;} 409function clone(matr){var i;for(i=0;i<16;i+=1){matr.props[i]=this.props[i];} 410return matr;} 411function cloneFromProps(props){var i;for(i=0;i<16;i+=1){this.props[i]=props[i];}} 412function applyToPoint(x,y,z){return{x:x*this.props[0]+y*this.props[4]+z*this.props[8]+this.props[12],y:x*this.props[1]+y*this.props[5]+z*this.props[9]+this.props[13],z:x*this.props[2]+y*this.props[6]+z*this.props[10]+this.props[14]};} 413function applyToX(x,y,z){return x*this.props[0]+y*this.props[4]+z*this.props[8]+this.props[12];} 414function applyToY(x,y,z){return x*this.props[1]+y*this.props[5]+z*this.props[9]+this.props[13];} 415function applyToZ(x,y,z){return x*this.props[2]+y*this.props[6]+z*this.props[10]+this.props[14];} 416function getInverseMatrix(){var determinant=this.props[0]*this.props[5]-this.props[1]*this.props[4];var a=this.props[5]/ determinant;var b=-this.props[1]/ determinant;var c=-this.props[4]/ determinant;var d=this.props[0]/ determinant;var e=(this.props[4]*this.props[13]-this.props[5]*this.props[12])/ determinant;var f=-(this.props[0]*this.props[13]-this.props[1]*this.props[12])/ determinant;var inverseMatrix=new Matrix();inverseMatrix.props[0]=a;inverseMatrix.props[1]=b;inverseMatrix.props[4]=c;inverseMatrix.props[5]=d;inverseMatrix.props[12]=e;inverseMatrix.props[13]=f;return inverseMatrix;} 417function inversePoint(pt){var inverseMatrix=this.getInverseMatrix();return inverseMatrix.applyToPointArray(pt[0],pt[1],pt[2]||0);} 418function inversePoints(pts){var i;var len=pts.length;var retPts=[];for(i=0;i<len;i+=1){retPts[i]=inversePoint(pts[i]);} 419return retPts;} 420function applyToTriplePoints(pt1,pt2,pt3){var arr=createTypedArray('float32',6);if(this.isIdentity()){arr[0]=pt1[0];arr[1]=pt1[1];arr[2]=pt2[0];arr[3]=pt2[1];arr[4]=pt3[0];arr[5]=pt3[1];}else{var p0=this.props[0];var p1=this.props[1];var p4=this.props[4];var p5=this.props[5];var p12=this.props[12];var p13=this.props[13];arr[0]=pt1[0]*p0+pt1[1]*p4+p12;arr[1]=pt1[0]*p1+pt1[1]*p5+p13;arr[2]=pt2[0]*p0+pt2[1]*p4+p12;arr[3]=pt2[0]*p1+pt2[1]*p5+p13;arr[4]=pt3[0]*p0+pt3[1]*p4+p12;arr[5]=pt3[0]*p1+pt3[1]*p5+p13;} 421return arr;} 422function applyToPointArray(x,y,z){var arr;if(this.isIdentity()){arr=[x,y,z];}else{arr=[x*this.props[0]+y*this.props[4]+z*this.props[8]+this.props[12],x*this.props[1]+y*this.props[5]+z*this.props[9]+this.props[13],x*this.props[2]+y*this.props[6]+z*this.props[10]+this.props[14]];} 423return arr;} 424function applyToPointStringified(x,y){if(this.isIdentity()){return x+','+y;} 425var _p=this.props;return Math.round((x*_p[0]+y*_p[4]+_p[12])*100)/ 100+','+Math.round((x*_p[1]+y*_p[5]+_p[13])*100)/ 100;} 426function toCSS(){var i=0;var props=this.props;var cssValue='matrix3d(';var v=10000;while(i<16){cssValue+=_rnd(props[i]*v)/ v;cssValue+=i===15?')':',';i+=1;} 427return cssValue;} 428function roundMatrixProperty(val){var v=10000;if(val<0.000001&&val>0||val>-0.000001&&val<0){return _rnd(val*v)/ v;} 429return val;} 430function to2dCSS(){var props=this.props;var _a=roundMatrixProperty(props[0]);var _b=roundMatrixProperty(props[1]);var _c=roundMatrixProperty(props[4]);var _d=roundMatrixProperty(props[5]);var _e=roundMatrixProperty(props[12]);var _f=roundMatrixProperty(props[13]);return'matrix('+_a+','+_b+','+_c+','+_d+','+_e+','+_f+')';} 431return function(){this.reset=reset;this.rotate=rotate;this.rotateX=rotateX;this.rotateY=rotateY;this.rotateZ=rotateZ;this.skew=skew;this.skewFromAxis=skewFromAxis;this.shear=shear;this.scale=scale;this.setTransform=setTransform;this.translate=translate;this.transform=transform;this.applyToPoint=applyToPoint;this.applyToX=applyToX;this.applyToY=applyToY;this.applyToZ=applyToZ;this.applyToPointArray=applyToPointArray;this.applyToTriplePoints=applyToTriplePoints;this.applyToPointStringified=applyToPointStringified;this.toCSS=toCSS;this.to2dCSS=to2dCSS;this.clone=clone;this.cloneFromProps=cloneFromProps;this.equals=equals;this.inversePoints=inversePoints;this.inversePoint=inversePoint;this.getInverseMatrix=getInverseMatrix;this._t=this.transform;this.isIdentity=isIdentity;this._identity=true;this._identityCalculated=false;this.props=createTypedArray('float32',16);this.reset();};}();function _typeof$3(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof$3=function _typeof(obj){return typeof obj;};}else{_typeof$3=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof$3(obj);} 432var lottie={};var standalone='__[STANDALONE]__';var animationData='__[ANIMATIONDATA]__';var renderer='';function setLocation(href){setLocationHref(href);} 433function searchAnimations(){if(standalone===true){animationManager.searchAnimations(animationData,standalone,renderer);}else{animationManager.searchAnimations();}} 434function setSubframeRendering(flag){setSubframeEnabled(flag);} 435function setPrefix(prefix){setIdPrefix(prefix);} 436function loadAnimation(params){if(standalone===true){params.animationData=JSON.parse(animationData);} 437return animationManager.loadAnimation(params);} 438function setQuality(value){if(typeof value==='string'){switch(value){case'high':setDefaultCurveSegments(200);break;default:case'medium':setDefaultCurveSegments(50);break;case'low':setDefaultCurveSegments(10);break;}}else if(!isNaN(value)&&value>1){setDefaultCurveSegments(value);} 439if(getDefaultCurveSegments()>=50){roundValues(false);}else{roundValues(true);}} 440function inBrowser(){return typeof navigator!=='undefined';} 441function installPlugin(type,plugin){if(type==='expressions'){setExpressionsPlugin(plugin);}} 442function getFactory(name){switch(name){case'propertyFactory':return PropertyFactory;case'shapePropertyFactory':return ShapePropertyFactory;case'matrix':return Matrix;default:return null;}} 443lottie.play=animationManager.play;lottie.pause=animationManager.pause;lottie.setLocationHref=setLocation;lottie.togglePause=animationManager.togglePause;lottie.setSpeed=animationManager.setSpeed;lottie.setDirection=animationManager.setDirection;lottie.stop=animationManager.stop;lottie.searchAnimations=searchAnimations;lottie.registerAnimation=animationManager.registerAnimation;lottie.loadAnimation=loadAnimation;lottie.setSubframeRendering=setSubframeRendering;lottie.resize=animationManager.resize;lottie.goToAndStop=animationManager.goToAndStop;lottie.destroy=animationManager.destroy;lottie.setQuality=setQuality;lottie.inBrowser=inBrowser;lottie.installPlugin=installPlugin;lottie.freeze=animationManager.freeze;lottie.unfreeze=animationManager.unfreeze;lottie.setVolume=animationManager.setVolume;lottie.mute=animationManager.mute;lottie.unmute=animationManager.unmute;lottie.getRegisteredAnimations=animationManager.getRegisteredAnimations;lottie.useWebWorker=setWebWorker;lottie.setIDPrefix=setPrefix;lottie.__getFactory=getFactory;lottie.version='5.10.2';function checkReady(){if(document.readyState==='complete'){clearInterval(readyStateCheckInterval);searchAnimations();}} 444function getQueryVariable(variable){var vars=queryString.split('&');for(var i=0;i<vars.length;i+=1){var pair=vars[i].split('=');if(decodeURIComponent(pair[0])==variable){return decodeURIComponent(pair[1]);}} 445return null;} 446var queryString='';if(standalone){var scripts=document.getElementsByTagName('script');var index=scripts.length-1;var myScript=scripts[index]||{src:''};queryString=myScript.src?myScript.src.replace(/^[^\?]+\??/,''):'';renderer=getQueryVariable('renderer');} 447var readyStateCheckInterval=setInterval(checkReady,100);try{if(!((typeof exports==="undefined"?"undefined":_typeof$3(exports))==='object'&&typeof module!=='undefined')&&!(typeof define==='function'&&define.amd)){window.bodymovin=lottie;}}catch(err){} 448var ShapeModifiers=function(){var ob={};var modifiers={};ob.registerModifier=registerModifier;ob.getModifier=getModifier;function registerModifier(nm,factory){if(!modifiers[nm]){modifiers[nm]=factory;}} 449function getModifier(nm,elem,data){return new modifiers[nm](elem,data);} 450return ob;}();function ShapeModifier(){} 451ShapeModifier.prototype.initModifierProperties=function(){};ShapeModifier.prototype.addShapeToModifier=function(){};ShapeModifier.prototype.addShape=function(data){if(!this.closed){data.sh.container.addDynamicProperty(data.sh);var shapeData={shape:data.sh,data:data,localShapeCollection:shapeCollectionPool.newShapeCollection()};this.shapes.push(shapeData);this.addShapeToModifier(shapeData);if(this._isAnimated){data.setAsAnimated();}}};ShapeModifier.prototype.init=function(elem,data){this.shapes=[];this.elem=elem;this.initDynamicPropertyContainer(elem);this.initModifierProperties(elem,data);this.frameId=initialDefaultFrame;this.closed=false;this.k=false;if(this.dynamicProperties.length){this.k=true;}else{this.getValue(true);}};ShapeModifier.prototype.processKeys=function(){if(this.elem.globalData.frameId===this.frameId){return;} 452this.frameId=this.elem.globalData.frameId;this.iterateDynamicProperties();};extendPrototype([DynamicPropertyContainer],ShapeModifier);function TrimModifier(){} 453extendPrototype([ShapeModifier],TrimModifier);TrimModifier.prototype.initModifierProperties=function(elem,data){this.s=PropertyFactory.getProp(elem,data.s,0,0.01,this);this.e=PropertyFactory.getProp(elem,data.e,0,0.01,this);this.o=PropertyFactory.getProp(elem,data.o,0,0,this);this.sValue=0;this.eValue=0;this.getValue=this.processKeys;this.m=data.m;this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length;};TrimModifier.prototype.addShapeToModifier=function(shapeData){shapeData.pathsData=[];};TrimModifier.prototype.calculateShapeEdges=function(s,e,shapeLength,addedLength,totalModifierLength){var segments=[];if(e<=1){segments.push({s:s,e:e});}else if(s>=1){segments.push({s:s-1,e:e-1});}else{segments.push({s:s,e:1});segments.push({s:0,e:e-1});} 454var shapeSegments=[];var i;var len=segments.length;var segmentOb;for(i=0;i<len;i+=1){segmentOb=segments[i];if(!(segmentOb.e*totalModifierLength<addedLength||segmentOb.s*totalModifierLength>addedLength+shapeLength)){var shapeS;var shapeE;if(segmentOb.s*totalModifierLength<=addedLength){shapeS=0;}else{shapeS=(segmentOb.s*totalModifierLength-addedLength)/ shapeLength;} 455if(segmentOb.e*totalModifierLength>=addedLength+shapeLength){shapeE=1;}else{shapeE=(segmentOb.e*totalModifierLength-addedLength)/ shapeLength;} 456shapeSegments.push([shapeS,shapeE]);}} 457if(!shapeSegments.length){shapeSegments.push([0,0]);} 458return shapeSegments;};TrimModifier.prototype.releasePathsData=function(pathsData){var i;var len=pathsData.length;for(i=0;i<len;i+=1){segmentsLengthPool.release(pathsData[i]);} 459pathsData.length=0;return pathsData;};TrimModifier.prototype.processShapes=function(_isFirstFrame){var s;var e;if(this._mdf||_isFirstFrame){var o=this.o.v%360 / 360;if(o<0){o+=1;} 460if(this.s.v>1){s=1+o;}else if(this.s.v<0){s=0+o;}else{s=this.s.v+o;} 461if(this.e.v>1){e=1+o;}else if(this.e.v<0){e=0+o;}else{e=this.e.v+o;} 462if(s>e){var _s=s;s=e;e=_s;} 463s=Math.round(s*10000)*0.0001;e=Math.round(e*10000)*0.0001;this.sValue=s;this.eValue=e;}else{s=this.sValue;e=this.eValue;} 464var shapePaths;var i;var len=this.shapes.length;var j;var jLen;var pathsData;var pathData;var totalShapeLength;var totalModifierLength=0;if(e===s){for(i=0;i<len;i+=1){this.shapes[i].localShapeCollection.releaseShapes();this.shapes[i].shape._mdf=true;this.shapes[i].shape.paths=this.shapes[i].localShapeCollection;if(this._mdf){this.shapes[i].pathsData.length=0;}}}else if(!(e===1&&s===0||e===0&&s===1)){var segments=[];var shapeData;var localShapeCollection;for(i=0;i<len;i+=1){shapeData=this.shapes[i];if(!shapeData.shape._mdf&&!this._mdf&&!_isFirstFrame&&this.m!==2){shapeData.shape.paths=shapeData.localShapeCollection;}else{shapePaths=shapeData.shape.paths;jLen=shapePaths._length;totalShapeLength=0;if(!shapeData.shape._mdf&&shapeData.pathsData.length){totalShapeLength=shapeData.totalShapeLength;}else{pathsData=this.releasePathsData(shapeData.pathsData);for(j=0;j<jLen;j+=1){pathData=bez.getSegmentsLength(shapePaths.shapes[j]);pathsData.push(pathData);totalShapeLength+=pathData.totalLength;} 465shapeData.totalShapeLength=totalShapeLength;shapeData.pathsData=pathsData;} 466totalModifierLength+=totalShapeLength;shapeData.shape._mdf=true;}} 467var shapeS=s;var shapeE=e;var addedLength=0;var edges;for(i=len-1;i>=0;i-=1){shapeData=this.shapes[i];if(shapeData.shape._mdf){localShapeCollection=shapeData.localShapeCollection;localShapeCollection.releaseShapes();if(this.m===2&&len>1){edges=this.calculateShapeEdges(s,e,shapeData.totalShapeLength,addedLength,totalModifierLength);addedLength+=shapeData.totalShapeLength;}else{edges=[[shapeS,shapeE]];} 468jLen=edges.length;for(j=0;j<jLen;j+=1){shapeS=edges[j][0];shapeE=edges[j][1];segments.length=0;if(shapeE<=1){segments.push({s:shapeData.totalShapeLength*shapeS,e:shapeData.totalShapeLength*shapeE});}else if(shapeS>=1){segments.push({s:shapeData.totalShapeLength*(shapeS-1),e:shapeData.totalShapeLength*(shapeE-1)});}else{segments.push({s:shapeData.totalShapeLength*shapeS,e:shapeData.totalShapeLength});segments.push({s:0,e:shapeData.totalShapeLength*(shapeE-1)});} 469var newShapesData=this.addShapes(shapeData,segments[0]);if(segments[0].s!==segments[0].e){if(segments.length>1){var lastShapeInCollection=shapeData.shape.paths.shapes[shapeData.shape.paths._length-1];if(lastShapeInCollection.c){var lastShape=newShapesData.pop();this.addPaths(newShapesData,localShapeCollection);newShapesData=this.addShapes(shapeData,segments[1],lastShape);}else{this.addPaths(newShapesData,localShapeCollection);newShapesData=this.addShapes(shapeData,segments[1]);}} 470this.addPaths(newShapesData,localShapeCollection);}} 471shapeData.shape.paths=localShapeCollection;}}}else if(this._mdf){for(i=0;i<len;i+=1){this.shapes[i].pathsData.length=0;this.shapes[i].shape._mdf=true;}}};TrimModifier.prototype.addPaths=function(newPaths,localShapeCollection){var i;var len=newPaths.length;for(i=0;i<len;i+=1){localShapeCollection.addShape(newPaths[i]);}};TrimModifier.prototype.addSegment=function(pt1,pt2,pt3,pt4,shapePath,pos,newShape){shapePath.setXYAt(pt2[0],pt2[1],'o',pos);shapePath.setXYAt(pt3[0],pt3[1],'i',pos+1);if(newShape){shapePath.setXYAt(pt1[0],pt1[1],'v',pos);} 472shapePath.setXYAt(pt4[0],pt4[1],'v',pos+1);};TrimModifier.prototype.addSegmentFromArray=function(points,shapePath,pos,newShape){shapePath.setXYAt(points[1],points[5],'o',pos);shapePath.setXYAt(points[2],points[6],'i',pos+1);if(newShape){shapePath.setXYAt(points[0],points[4],'v',pos);} 473shapePath.setXYAt(points[3],points[7],'v',pos+1);};TrimModifier.prototype.addShapes=function(shapeData,shapeSegment,shapePath){var pathsData=shapeData.pathsData;var shapePaths=shapeData.shape.paths.shapes;var i;var len=shapeData.shape.paths._length;var j;var jLen;var addedLength=0;var currentLengthData;var segmentCount;var lengths;var segment;var shapes=[];var initPos;var newShape=true;if(!shapePath){shapePath=shapePool.newElement();segmentCount=0;initPos=0;}else{segmentCount=shapePath._length;initPos=shapePath._length;} 474shapes.push(shapePath);for(i=0;i<len;i+=1){lengths=pathsData[i].lengths;shapePath.c=shapePaths[i].c;jLen=shapePaths[i].c?lengths.length:lengths.length+1;for(j=1;j<jLen;j+=1){currentLengthData=lengths[j-1];if(addedLength+currentLengthData.addedLength<shapeSegment.s){addedLength+=currentLengthData.addedLength;shapePath.c=false;}else if(addedLength>
vendor: 2,613 bytes, lines 474-483
474shapeSegment.e){shapePath.c=false;break;}else{if(shapeSegment.s<=addedLength&&shapeSegment.e>=addedLength+currentLengthData.addedLength){this.addSegment(shapePaths[i].v[j-1],shapePaths[i].o[j-1],shapePaths[i].i[j],shapePaths[i].v[j],shapePath,segmentCount,newShape);newShape=false;}else{segment=bez.getNewSegment(shapePaths[i].v[j-1],shapePaths[i].v[j],shapePaths[i].o[j-1],shapePaths[i].i[j],(shapeSegment.s-addedLength)/ currentLengthData.addedLength,(shapeSegment.e-addedLength)/ currentLengthData.addedLength,lengths[j-1]);this.addSegmentFromArray(segment,shapePath,segmentCount,newShape);newShape=false;shapePath.c=false;} 475addedLength+=currentLengthData.addedLength;segmentCount+=1;}} 476if(shapePaths[i].c&&lengths.length){currentLengthData=lengths[j-1];if(addedLength<=shapeSegment.e){var segmentLength=lengths[j-1].addedLength;if(shapeSegment.s<=addedLength&&shapeSegment.e>=addedLength+segmentLength){this.addSegment(shapePaths[i].v[j-1],shapePaths[i].o[j-1],shapePaths[i].i[0],shapePaths[i].v[0],shapePath,segmentCount,newShape);newShape=false;}else{segment=bez.getNewSegment(shapePaths[i].v[j-1],shapePaths[i].v[0],shapePaths[i].o[j-1],shapePaths[i].i[0],(shapeSegment.s-addedLength)/ segmentLength,(shapeSegment.e-addedLength)/ segmentLength,lengths[j-1]);this.addSegmentFromArray(segment,shapePath,segmentCount,newShape);newShape=false;shapePath.c=false;}}else{shapePath.c=false;} 477addedLength+=currentLengthData.addedLength;segmentCount+=1;} 478if(shapePath._length){shapePath.setXYAt(shapePath.v[initPos][0],shapePath.v[initPos][1],'i',initPos);shapePath.setXYAt(shapePath.v[shapePath._length-1][0],shapePath.v[shapePath._length-1][1],'o',shapePath._length-1);} 479if(addedLength>shapeSegment.e){break;} 480if(i<len-1){shapePath=shapePool.newElement();newShape=true;shapes.push(shapePath);segmentCount=0;}} 481return shapes;};function PuckerAndBloatModifier(){} 482extendPrototype([ShapeModifier],PuckerAndBloatModifier);PuckerAndBloatModifier.prototype.initModifierProperties=function(elem,data){this.getValue=this.processKeys;this.amount=PropertyFactory.getProp(elem,data.a,0,null,this);this._isAnimated=!!this.amount.effectsSequence.length;};PuckerAndBloatModifier.prototype.processPath=function(path,amount){var percent=amount / 100;var centerPoint=[0,0];var pathLength=path._length;var i=0;for(i=0;i<pathLength;i+=1){centerPoint[0]+=path.v[i][0];centerPoint[1]+=path.v[i][1];} 483centerPoint[0]/=pathLength;centerPoint[1]/=pathLength;var clonedPath=shapePool.newElement();clonedPath.c=path.c;var vX;var vY;var oX;var oY;var iX;var iY;for(i=0;i<pathLength;i+=1){vX=path.v[i][0]+(centerPoint[0]-path.v[i][0])*percent;
vendor: 33,012 bytes, lines 483-595
483vY=path.v[i][1]+(centerPoint[1]-path.v[i][1])*percent;oX=path.o[i][0]+(centerPoint[0]-path.o[i][0])*-percent;oY=path.o[i][1]+(centerPoint[1]-path.o[i][1])*-percent;iX=path.i[i][0]+(centerPoint[0]-path.i[i][0])*-percent;iY=path.i[i][1]+(centerPoint[1]-path.i[i][1])*-percent;clonedPath.setTripleAt(vX,vY,oX,oY,iX,iY,i);} 484return clonedPath;};PuckerAndBloatModifier.prototype.processShapes=function(_isFirstFrame){var shapePaths;var i;var len=this.shapes.length;var j;var jLen;var amount=this.amount.v;if(amount!==0){var shapeData;var localShapeCollection;for(i=0;i<len;i+=1){shapeData=this.shapes[i];localShapeCollection=shapeData.localShapeCollection;if(!(!shapeData.shape._mdf&&!this._mdf&&!_isFirstFrame)){localShapeCollection.releaseShapes();shapeData.shape._mdf=true;shapePaths=shapeData.shape.paths.shapes;jLen=shapeData.shape.paths._length;for(j=0;j<jLen;j+=1){localShapeCollection.addShape(this.processPath(shapePaths[j],amount));}} 485shapeData.shape.paths=shapeData.localShapeCollection;}} 486if(!this.dynamicProperties.length){this._mdf=false;}};var TransformPropertyFactory=function(){var defaultVector=[0,0];function applyToMatrix(mat){var _mdf=this._mdf;this.iterateDynamicProperties();this._mdf=this._mdf||_mdf;if(this.a){mat.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]);} 487if(this.s){mat.scale(this.s.v[0],this.s.v[1],this.s.v[2]);} 488if(this.sk){mat.skewFromAxis(-this.sk.v,this.sa.v);} 489if(this.r){mat.rotate(-this.r.v);}else{mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);} 490if(this.data.p.s){if(this.data.p.z){mat.translate(this.px.v,this.py.v,-this.pz.v);}else{mat.translate(this.px.v,this.py.v,0);}}else{mat.translate(this.p.v[0],this.p.v[1],-this.p.v[2]);}} 491function processKeys(forceRender){if(this.elem.globalData.frameId===this.frameId){return;} 492if(this._isDirty){this.precalculateMatrix();this._isDirty=false;} 493this.iterateDynamicProperties();if(this._mdf||forceRender){var frameRate;this.v.cloneFromProps(this.pre.props);if(this.appliedTransformations<1){this.v.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]);} 494if(this.appliedTransformations<2){this.v.scale(this.s.v[0],this.s.v[1],this.s.v[2]);} 495if(this.sk&&this.appliedTransformations<3){this.v.skewFromAxis(-this.sk.v,this.sa.v);} 496if(this.r&&this.appliedTransformations<4){this.v.rotate(-this.r.v);}else if(!this.r&&this.appliedTransformations<4){this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);} 497if(this.autoOriented){var v1;var v2;frameRate=this.elem.globalData.frameRate;if(this.p&&this.p.keyframes&&this.p.getValueAtTime){if(this.p._caching.lastFrame+this.p.offsetTime<=this.p.keyframes[0].t){v1=this.p.getValueAtTime((this.p.keyframes[0].t+0.01)/ frameRate,0);v2=this.p.getValueAtTime(this.p.keyframes[0].t / frameRate,0);}else if(this.p._caching.lastFrame+this.p.offsetTime>=this.p.keyframes[this.p.keyframes.length-1].t){v1=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t / frameRate,0);v2=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-0.05)/ frameRate,0);}else{v1=this.p.pv;v2=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-0.01)/ frameRate,this.p.offsetTime);}}else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){v1=[];v2=[];var px=this.px;var py=this.py;if(px._caching.lastFrame+px.offsetTime<=px.keyframes[0].t){v1[0]=px.getValueAtTime((px.keyframes[0].t+0.01)/ frameRate,0);v1[1]=py.getValueAtTime((py.keyframes[0].t+0.01)/ frameRate,0);v2[0]=px.getValueAtTime(px.keyframes[0].t / frameRate,0);v2[1]=py.getValueAtTime(py.keyframes[0].t / frameRate,0);}else if(px._caching.lastFrame+px.offsetTime>=px.keyframes[px.keyframes.length-1].t){v1[0]=px.getValueAtTime(px.keyframes[px.keyframes.length-1].t / frameRate,0);v1[1]=py.getValueAtTime(py.keyframes[py.keyframes.length-1].t / frameRate,0);v2[0]=px.getValueAtTime((px.keyframes[px.keyframes.length-1].t-0.01)/ frameRate,0);v2[1]=py.getValueAtTime((py.keyframes[py.keyframes.length-1].t-0.01)/ frameRate,0);}else{v1=[px.pv,py.pv];v2[0]=px.getValueAtTime((px._caching.lastFrame+px.offsetTime-0.01)/ frameRate,px.offsetTime);v2[1]=py.getValueAtTime((py._caching.lastFrame+py.offsetTime-0.01)/ frameRate,py.offsetTime);}}else{v2=defaultVector;v1=v2;} 498this.v.rotate(-Math.atan2(v1[1]-v2[1],v1[0]-v2[0]));} 499if(this.data.p&&this.data.p.s){if(this.data.p.z){this.v.translate(this.px.v,this.py.v,-this.pz.v);}else{this.v.translate(this.px.v,this.py.v,0);}}else{this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2]);}} 500this.frameId=this.elem.globalData.frameId;} 501function precalculateMatrix(){if(!this.a.k){this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]);this.appliedTransformations=1;}else{return;} 502if(!this.s.effectsSequence.length){this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]);this.appliedTransformations=2;}else{return;} 503if(this.sk){if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length){this.pre.skewFromAxis(-this.sk.v,this.sa.v);this.appliedTransformations=3;}else{return;}} 504if(this.r){if(!this.r.effectsSequence.length){this.pre.rotate(-this.r.v);this.appliedTransformations=4;}}else if(!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length){this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);this.appliedTransformations=4;}} 505function autoOrient(){} 506function addDynamicProperty(prop){this._addDynamicProperty(prop);this.elem.addDynamicProperty(prop);this._isDirty=true;} 507function TransformProperty(elem,data,container){this.elem=elem;this.frameId=-1;this.propType='transform';this.data=data;this.v=new Matrix();this.pre=new Matrix();this.appliedTransformations=0;this.initDynamicPropertyContainer(container||elem);if(data.p&&data.p.s){this.px=PropertyFactory.getProp(elem,data.p.x,0,0,this);this.py=PropertyFactory.getProp(elem,data.p.y,0,0,this);if(data.p.z){this.pz=PropertyFactory.getProp(elem,data.p.z,0,0,this);}}else{this.p=PropertyFactory.getProp(elem,data.p||{k:[0,0,0]},1,0,this);} 508if(data.rx){this.rx=PropertyFactory.getProp(elem,data.rx,0,degToRads,this);this.ry=PropertyFactory.getProp(elem,data.ry,0,degToRads,this);this.rz=PropertyFactory.getProp(elem,data.rz,0,degToRads,this);if(data.or.k[0].ti){var i;var len=data.or.k.length;for(i=0;i<len;i+=1){data.or.k[i].to=null;data.or.k[i].ti=null;}} 509this.or=PropertyFactory.getProp(elem,data.or,1,degToRads,this);this.or.sh=true;}else{this.r=PropertyFactory.getProp(elem,data.r||{k:0},0,degToRads,this);} 510if(data.sk){this.sk=PropertyFactory.getProp(elem,data.sk,0,degToRads,this);this.sa=PropertyFactory.getProp(elem,data.sa,0,degToRads,this);} 511this.a=PropertyFactory.getProp(elem,data.a||{k:[0,0,0]},1,0,this);this.s=PropertyFactory.getProp(elem,data.s||{k:[100,100,100]},1,0.01,this);if(data.o){this.o=PropertyFactory.getProp(elem,data.o,0,0.01,elem);}else{this.o={_mdf:false,v:1};} 512this._isDirty=true;if(!this.dynamicProperties.length){this.getValue(true);}} 513TransformProperty.prototype={applyToMatrix:applyToMatrix,getValue:processKeys,precalculateMatrix:precalculateMatrix,autoOrient:autoOrient};extendPrototype([DynamicPropertyContainer],TransformProperty);TransformProperty.prototype.addDynamicProperty=addDynamicProperty;TransformProperty.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty;function getTransformProperty(elem,data,container){return new TransformProperty(elem,data,container);} 514return{getTransformProperty:getTransformProperty};}();function RepeaterModifier(){} 515extendPrototype([ShapeModifier],RepeaterModifier);RepeaterModifier.prototype.initModifierProperties=function(elem,data){this.getValue=this.processKeys;this.c=PropertyFactory.getProp(elem,data.c,0,null,this);this.o=PropertyFactory.getProp(elem,data.o,0,null,this);this.tr=TransformPropertyFactory.getTransformProperty(elem,data.tr,this);this.so=PropertyFactory.getProp(elem,data.tr.so,0,0.01,this);this.eo=PropertyFactory.getProp(elem,data.tr.eo,0,0.01,this);this.data=data;if(!this.dynamicProperties.length){this.getValue(true);} 516this._isAnimated=!!this.dynamicProperties.length;this.pMatrix=new Matrix();this.rMatrix=new Matrix();this.sMatrix=new Matrix();this.tMatrix=new Matrix();this.matrix=new Matrix();};RepeaterModifier.prototype.applyTransforms=function(pMatrix,rMatrix,sMatrix,transform,perc,inv){var dir=inv?-1:1;var scaleX=transform.s.v[0]+(1-transform.s.v[0])*(1-perc);var scaleY=transform.s.v[1]+(1-transform.s.v[1])*(1-perc);pMatrix.translate(transform.p.v[0]*dir*perc,transform.p.v[1]*dir*perc,transform.p.v[2]);rMatrix.translate(-transform.a.v[0],-transform.a.v[1],transform.a.v[2]);rMatrix.rotate(-transform.r.v*dir*perc);rMatrix.translate(transform.a.v[0],transform.a.v[1],transform.a.v[2]);sMatrix.translate(-transform.a.v[0],-transform.a.v[1],transform.a.v[2]);sMatrix.scale(inv?1 / scaleX:scaleX,inv?1 / scaleY:scaleY);sMatrix.translate(transform.a.v[0],transform.a.v[1],transform.a.v[2]);};RepeaterModifier.prototype.init=function(elem,arr,pos,elemsData){this.elem=elem;this.arr=arr;this.pos=pos;this.elemsData=elemsData;this._currentCopies=0;this._elements=[];this._groups=[];this.frameId=-1;this.initDynamicPropertyContainer(elem);this.initModifierProperties(elem,arr[pos]);while(pos>0){pos-=1;this._elements.unshift(arr[pos]);} 517if(this.dynamicProperties.length){this.k=true;}else{this.getValue(true);}};RepeaterModifier.prototype.resetElements=function(elements){var i;var len=elements.length;for(i=0;i<len;i+=1){elements[i]._processed=false;if(elements[i].ty==='gr'){this.resetElements(elements[i].it);}}};RepeaterModifier.prototype.cloneElements=function(elements){var newElements=JSON.parse(JSON.stringify(elements));this.resetElements(newElements);return newElements;};RepeaterModifier.prototype.changeGroupRender=function(elements,renderFlag){var i;var len=elements.length;for(i=0;i<len;i+=1){elements[i]._render=renderFlag;if(elements[i].ty==='gr'){this.changeGroupRender(elements[i].it,renderFlag);}}};RepeaterModifier.prototype.processShapes=function(_isFirstFrame){var items;var itemsTransform;var i;var dir;var cont;var hasReloaded=false;if(this._mdf||_isFirstFrame){var copies=Math.ceil(this.c.v);if(this._groups.length<copies){while(this._groups.length<copies){var group={it:this.cloneElements(this._elements),ty:'gr'};group.it.push({a:{a:0,ix:1,k:[0,0]},nm:'Transform',o:{a:0,ix:7,k:100},p:{a:0,ix:2,k:[0,0]},r:{a:1,ix:6,k:[{s:0,e:0,t:0},{s:0,e:0,t:1}]},s:{a:0,ix:3,k:[100,100]},sa:{a:0,ix:5,k:0},sk:{a:0,ix:4,k:0},ty:'tr'});this.arr.splice(0,0,group);this._groups.splice(0,0,group);this._currentCopies+=1;} 518this.elem.reloadShapes();hasReloaded=true;} 519cont=0;var renderFlag;for(i=0;i<=this._groups.length-1;i+=1){renderFlag=cont<copies;this._groups[i]._render=renderFlag;this.changeGroupRender(this._groups[i].it,renderFlag);if(!renderFlag){var elems=this.elemsData[i].it;var transformData=elems[elems.length-1];if(transformData.transform.op.v!==0){transformData.transform.op._mdf=true;transformData.transform.op.v=0;}else{transformData.transform.op._mdf=false;}} 520cont+=1;} 521this._currentCopies=copies;var offset=this.o.v;var offsetModulo=offset%1;var roundOffset=offset>0?Math.floor(offset):Math.ceil(offset);var pProps=this.pMatrix.props;var rProps=this.rMatrix.props;var sProps=this.sMatrix.props;this.pMatrix.reset();this.rMatrix.reset();this.sMatrix.reset();this.tMatrix.reset();this.matrix.reset();var iteration=0;if(offset>0){while(iteration<roundOffset){this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,false);iteration+=1;} 522if(offsetModulo){this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,offsetModulo,false);iteration+=offsetModulo;}}else if(offset<0){while(iteration>roundOffset){this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,true);iteration-=1;} 523if(offsetModulo){this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-offsetModulo,true);iteration-=offsetModulo;}} 524i=this.data.m===1?0:this._currentCopies-1;dir=this.data.m===1?1:-1;cont=this._currentCopies;var j;var jLen;while(cont){items=this.elemsData[i].it;itemsTransform=items[items.length-1].transform.mProps.v.props;jLen=itemsTransform.length;items[items.length-1].transform.mProps._mdf=true;items[items.length-1].transform.op._mdf=true;items[items.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(i /(this._currentCopies-1));if(iteration!==0){if(i!==0&&dir===1||i!==this._currentCopies-1&&dir===-1){this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,false);} 525this.matrix.transform(rProps[0],rProps[1],rProps[2],rProps[3],rProps[4],rProps[5],rProps[6],rProps[7],rProps[8],rProps[9],rProps[10],rProps[11],rProps[12],rProps[13],rProps[14],rProps[15]);this.matrix.transform(sProps[0],sProps[1],sProps[2],sProps[3],sProps[4],sProps[5],sProps[6],sProps[7],sProps[8],sProps[9],sProps[10],sProps[11],sProps[12],sProps[13],sProps[14],sProps[15]);this.matrix.transform(pProps[0],pProps[1],pProps[2],pProps[3],pProps[4],pProps[5],pProps[6],pProps[7],pProps[8],pProps[9],pProps[10],pProps[11],pProps[12],pProps[13],pProps[14],pProps[15]);for(j=0;j<jLen;j+=1){itemsTransform[j]=this.matrix.props[j];} 526this.matrix.reset();}else{this.matrix.reset();for(j=0;j<jLen;j+=1){itemsTransform[j]=this.matrix.props[j];}} 527iteration+=1;cont-=1;i+=dir;}}else{cont=this._currentCopies;i=0;dir=1;while(cont){items=this.elemsData[i].it;itemsTransform=items[items.length-1].transform.mProps.v.props;items[items.length-1].transform.mProps._mdf=false;items[items.length-1].transform.op._mdf=false;cont-=1;i+=dir;}} 528return hasReloaded;};RepeaterModifier.prototype.addShape=function(){};function RoundCornersModifier(){} 529extendPrototype([ShapeModifier],RoundCornersModifier);RoundCornersModifier.prototype.initModifierProperties=function(elem,data){this.getValue=this.processKeys;this.rd=PropertyFactory.getProp(elem,data.r,0,null,this);this._isAnimated=!!this.rd.effectsSequence.length;};RoundCornersModifier.prototype.processPath=function(path,round){var clonedPath=shapePool.newElement();clonedPath.c=path.c;var i;var len=path._length;var currentV;var currentI;var currentO;var closerV;var distance;var newPosPerc;var index=0;var vX;var vY;var oX;var oY;var iX;var iY;for(i=0;i<len;i+=1){currentV=path.v[i];currentO=path.o[i];currentI=path.i[i];if(currentV[0]===currentO[0]&¤tV[1]===currentO[1]&¤tV[0]===currentI[0]&¤tV[1]===currentI[1]){if((i===0||i===len-1)&&!path.c){clonedPath.setTripleAt(currentV[0],currentV[1],currentO[0],currentO[1],currentI[0],currentI[1],index);index+=1;}else{if(i===0){closerV=path.v[len-1];}else{closerV=path.v[i-1];} 530distance=Math.sqrt(Math.pow(currentV[0]-closerV[0],2)+Math.pow(currentV[1]-closerV[1],2));newPosPerc=distance?Math.min(distance / 2,round)/ distance:0;iX=currentV[0]+(closerV[0]-currentV[0])*newPosPerc;vX=iX;iY=currentV[1]-(currentV[1]-closerV[1])*newPosPerc;vY=iY;oX=vX-(vX-currentV[0])*roundCorner;oY=vY-(vY-currentV[1])*roundCorner;clonedPath.setTripleAt(vX,vY,oX,oY,iX,iY,index);index+=1;if(i===len-1){closerV=path.v[0];}else{closerV=path.v[i+1];} 531distance=Math.sqrt(Math.pow(currentV[0]-closerV[0],2)+Math.pow(currentV[1]-closerV[1],2));newPosPerc=distance?Math.min(distance / 2,round)/ distance:0;oX=currentV[0]+(closerV[0]-currentV[0])*newPosPerc;vX=oX;oY=currentV[1]+(closerV[1]-currentV[1])*newPosPerc;vY=oY;iX=vX-(vX-currentV[0])*roundCorner;iY=vY-(vY-currentV[1])*roundCorner;clonedPath.setTripleAt(vX,vY,oX,oY,iX,iY,index);index+=1;}}else{clonedPath.setTripleAt(path.v[i][0],path.v[i][1],path.o[i][0],path.o[i][1],path.i[i][0],path.i[i][1],index);index+=1;}} 532return clonedPath;};RoundCornersModifier.prototype.processShapes=function(_isFirstFrame){var shapePaths;var i;var len=this.shapes.length;var j;var jLen;var rd=this.rd.v;if(rd!==0){var shapeData;var localShapeCollection;for(i=0;i<len;i+=1){shapeData=this.shapes[i];localShapeCollection=shapeData.localShapeCollection;if(!(!shapeData.shape._mdf&&!this._mdf&&!_isFirstFrame)){localShapeCollection.releaseShapes();shapeData.shape._mdf=true;shapePaths=shapeData.shape.paths.shapes;jLen=shapeData.shape.paths._length;for(j=0;j<jLen;j+=1){localShapeCollection.addShape(this.processPath(shapePaths[j],rd));}} 533shapeData.shape.paths=shapeData.localShapeCollection;}} 534if(!this.dynamicProperties.length){this._mdf=false;}};function floatEqual(a,b){return Math.abs(a-b)*100000<=Math.min(Math.abs(a),Math.abs(b));} 535function floatZero(f){return Math.abs(f)<=0.00001;} 536function lerp(p0,p1,amount){return p0*(1-amount)+p1*amount;} 537function lerpPoint(p0,p1,amount){return[lerp(p0[0],p1[0],amount),lerp(p0[1],p1[1],amount)];} 538function quadRoots(a,b,c){if(a===0)return[];var s=b*b-4*a*c;if(s<0)return[];var singleRoot=-b /(2*a);if(s===0)return[singleRoot];var delta=Math.sqrt(s)/(2*a);return[singleRoot-delta,singleRoot+delta];} 539function polynomialCoefficients(p0,p1,p2,p3){return[-p0+3*p1-3*p2+p3,3*p0-6*p1+3*p2,-3*p0+3*p1,p0];} 540function singlePoint(p){return new PolynomialBezier(p,p,p,p,false);} 541function PolynomialBezier(p0,p1,p2,p3,linearize){if(linearize&&pointEqual(p0,p1)){p1=lerpPoint(p0,p3,1 / 3);} 542if(linearize&&pointEqual(p2,p3)){p2=lerpPoint(p0,p3,2 / 3);} 543var coeffx=polynomialCoefficients(p0[0],p1[0],p2[0],p3[0]);var coeffy=polynomialCoefficients(p0[1],p1[1],p2[1],p3[1]);this.a=[coeffx[0],coeffy[0]];this.b=[coeffx[1],coeffy[1]];this.c=[coeffx[2],coeffy[2]];this.d=[coeffx[3],coeffy[3]];this.points=[p0,p1,p2,p3];} 544PolynomialBezier.prototype.point=function(t){return[((this.a[0]*t+this.b[0])*t+this.c[0])*t+this.d[0],((this.a[1]*t+this.b[1])*t+this.c[1])*t+this.d[1]];};PolynomialBezier.prototype.derivative=function(t){return[(3*t*this.a[0]+2*this.b[0])*t+this.c[0],(3*t*this.a[1]+2*this.b[1])*t+this.c[1]];};PolynomialBezier.prototype.tangentAngle=function(t){var p=this.derivative(t);return Math.atan2(p[1],p[0]);};PolynomialBezier.prototype.normalAngle=function(t){var p=this.derivative(t);return Math.atan2(p[0],p[1]);};PolynomialBezier.prototype.inflectionPoints=function(){var denom=this.a[1]*this.b[0]-this.a[0]*this.b[1];if(floatZero(denom))return[];var tcusp=-0.5*(this.a[1]*this.c[0]-this.a[0]*this.c[1])/ denom;var square=tcusp*tcusp-1 / 3*(this.b[1]*this.c[0]-this.b[0]*this.c[1])/ denom;if(square<0)return[];var root=Math.sqrt(square);if(floatZero(root)){if(root>0&&root<1)return[tcusp];return[];} 545return[tcusp-root,tcusp+root].filter(function(r){return r>0&&r<1;});};PolynomialBezier.prototype.split=function(t){if(t<=0)return[singlePoint(this.points[0]),this];if(t>=1)return[this,singlePoint(this.points[this.points.length-1])];var p10=lerpPoint(this.points[0],this.points[1],t);var p11=lerpPoint(this.points[1],this.points[2],t);var p12=lerpPoint(this.points[2],this.points[3],t);var p20=lerpPoint(p10,p11,t);var p21=lerpPoint(p11,p12,t);var p3=lerpPoint(p20,p21,t);return[new PolynomialBezier(this.points[0],p10,p20,p3,true),new PolynomialBezier(p3,p21,p12,this.points[3],true)];};function extrema(bez,comp){var min=bez.points[0][comp];var max=bez.points[bez.points.length-1][comp];if(min>max){var e=max;max=min;min=e;} 546var f=quadRoots(3*bez.a[comp],2*bez.b[comp],bez.c[comp]);for(var i=0;i<f.length;i+=1){if(f[i]>0&&f[i]<1){var val=bez.point(f[i])[comp];if(val<min)min=val;else if(val>max)max=val;}} 547return{min:min,max:max};} 548PolynomialBezier.prototype.bounds=function(){return{x:extrema(this,0),y:extrema(this,1)};};PolynomialBezier.prototype.boundingBox=function(){var bounds=this.bounds();return{left:bounds.x.min,right:bounds.x.max,top:bounds.y.min,bottom:bounds.y.max,width:bounds.x.max-bounds.x.min,height:bounds.y.max-bounds.y.min,cx:(bounds.x.max+bounds.x.min)/ 2,cy:(bounds.y.max+bounds.y.min)/ 2};};function intersectData(bez,t1,t2){var box=bez.boundingBox();return{cx:box.cx,cy:box.cy,width:box.width,height:box.height,bez:bez,t:(t1+t2)/ 2,t1:t1,t2:t2};} 549function splitData(data){var split=data.bez.split(0.5);return[intersectData(split[0],data.t1,data.t),intersectData(split[1],data.t,data.t2)];} 550function boxIntersect(b1,b2){return Math.abs(b1.cx-b2.cx)*2<b1.width+b2.width&&Math.abs(b1.cy-b2.cy)*2<b1.height+b2.height;} 551function intersectsImpl(d1,d2,depth,tolerance,intersections,maxRecursion){if(!boxIntersect(d1,d2))return;if(depth>=maxRecursion||d1.width<=tolerance&&d1.height<=tolerance&&d2.width<=tolerance&&d2.height<=tolerance){intersections.push([d1.t,d2.t]);return;} 552var d1s=splitData(d1);var d2s=splitData(d2);intersectsImpl(d1s[0],d2s[0],depth+1,tolerance,intersections,maxRecursion);intersectsImpl(d1s[0],d2s[1],depth+1,tolerance,intersections,maxRecursion);intersectsImpl(d1s[1],d2s[0],depth+1,tolerance,intersections,maxRecursion);intersectsImpl(d1s[1],d2s[1],depth+1,tolerance,intersections,maxRecursion);} 553PolynomialBezier.prototype.intersections=function(other,tolerance,maxRecursion){if(tolerance===undefined)tolerance=2;if(maxRecursion===undefined)maxRecursion=7;var intersections=[];intersectsImpl(intersectData(this,0,1),intersectData(other,0,1),0,tolerance,intersections,maxRecursion);return intersections;};PolynomialBezier.shapeSegment=function(shapePath,index){var nextIndex=(index+1)%shapePath.length();return new PolynomialBezier(shapePath.v[index],shapePath.o[index],shapePath.i[nextIndex],shapePath.v[nextIndex],true);};PolynomialBezier.shapeSegmentInverted=function(shapePath,index){var nextIndex=(index+1)%shapePath.length();return new PolynomialBezier(shapePath.v[nextIndex],shapePath.i[nextIndex],shapePath.o[index],shapePath.v[index],true);};function crossProduct(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]];} 554function lineIntersection(start1,end1,start2,end2){var v1=[start1[0],start1[1],1];var v2=[end1[0],end1[1],1];var v3=[start2[0],start2[1],1];var v4=[end2[0],end2[1],1];var r=crossProduct(crossProduct(v1,v2),crossProduct(v3,v4));if(floatZero(r[2]))return null;return[r[0]/ r[2],r[1]/ r[2]];} 555function polarOffset(p,angle,length){return[p[0]+Math.cos(angle)*length,p[1]-Math.sin(angle)*length];} 556function pointDistance(p1,p2){return Math.hypot(p1[0]-p2[0],p1[1]-p2[1]);} 557function pointEqual(p1,p2){return floatEqual(p1[0],p2[0])&&floatEqual(p1[1],p2[1]);} 558function ZigZagModifier(){} 559extendPrototype([ShapeModifier],ZigZagModifier);ZigZagModifier.prototype.initModifierProperties=function(elem,data){this.getValue=this.processKeys;this.amplitude=PropertyFactory.getProp(elem,data.s,0,null,this);this.frequency=PropertyFactory.getProp(elem,data.r,0,null,this);this.pointsType=PropertyFactory.getProp(elem,data.pt,0,null,this);this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0;};function setPoint(outputBezier,point,angle,direction,amplitude,outAmplitude,inAmplitude){var angO=angle-Math.PI / 2;var angI=angle+Math.PI / 2;var px=point[0]+Math.cos(angle)*direction*amplitude;var py=point[1]-Math.sin(angle)*direction*amplitude;outputBezier.setTripleAt(px,py,px+Math.cos(angO)*outAmplitude,py-Math.sin(angO)*outAmplitude,px+Math.cos(angI)*inAmplitude,py-Math.sin(angI)*inAmplitude,outputBezier.length());} 560function getPerpendicularVector(pt1,pt2){var vector=[pt2[0]-pt1[0],pt2[1]-pt1[1]];var rot=-Math.PI*0.5;var rotatedVector=[Math.cos(rot)*vector[0]-Math.sin(rot)*vector[1],Math.sin(rot)*vector[0]+Math.cos(rot)*vector[1]];return rotatedVector;} 561function getProjectingAngle(path,cur){var prevIndex=cur===0?path.length()-1:cur-1;var nextIndex=(cur+1)%path.length();var prevPoint=path.v[prevIndex];var nextPoint=path.v[nextIndex];var pVector=getPerpendicularVector(prevPoint,nextPoint);return Math.atan2(0,1)-Math.atan2(pVector[1],pVector[0]);} 562function zigZagCorner(outputBezier,path,cur,amplitude,frequency,pointType,direction){var angle=getProjectingAngle(path,cur);var point=path.v[cur%path._length];var prevPoint=path.v[cur===0?path._length-1:cur-1];var nextPoint=path.v[(cur+1)%path._length];var prevDist=pointType===2?Math.sqrt(Math.pow(point[0]-prevPoint[0],2)+Math.pow(point[1]-prevPoint[1],2)):0;var nextDist=pointType===2?Math.sqrt(Math.pow(point[0]-nextPoint[0],2)+Math.pow(point[1]-nextPoint[1],2)):0;setPoint(outputBezier,path.v[cur%path._length],angle,direction,amplitude,nextDist /((frequency+1)*2),prevDist /((frequency+1)*2),pointType);} 563function zigZagSegment(outputBezier,segment,amplitude,frequency,pointType,direction){for(var i=0;i<frequency;i+=1){var t=(i+1)/(frequency+1);var dist=pointType===2?Math.sqrt(Math.pow(segment.points[3][0]-segment.points[0][0],2)+Math.pow(segment.points[3][1]-segment.points[0][1],2)):0;var angle=segment.normalAngle(t);var point=segment.point(t);setPoint(outputBezier,point,angle,direction,amplitude,dist /((frequency+1)*2),dist /((frequency+1)*2),pointType);direction=-direction;} 564return direction;} 565ZigZagModifier.prototype.processPath=function(path,amplitude,frequency,pointType){var count=path._length;var clonedPath=shapePool.newElement();clonedPath.c=path.c;if(!path.c){count-=1;} 566if(count===0)return clonedPath;var direction=-1;var segment=PolynomialBezier.shapeSegment(path,0);zigZagCorner(clonedPath,path,0,amplitude,frequency,pointType,direction);for(var i=0;i<count;i+=1){direction=zigZagSegment(clonedPath,segment,amplitude,frequency,pointType,-direction);if(i===count-1&&!path.c){segment=null;}else{segment=PolynomialBezier.shapeSegment(path,(i+1)%count);} 567zigZagCorner(clonedPath,path,i+1,amplitude,frequency,pointType,direction);} 568return clonedPath;};ZigZagModifier.prototype.processShapes=function(_isFirstFrame){var shapePaths;var i;var len=this.shapes.length;var j;var jLen;var amplitude=this.amplitude.v;var frequency=Math.max(0,Math.round(this.frequency.v));var pointType=this.pointsType.v;if(amplitude!==0){var shapeData;var localShapeCollection;for(i=0;i<len;i+=1){shapeData=this.shapes[i];localShapeCollection=shapeData.localShapeCollection;if(!(!shapeData.shape._mdf&&!this._mdf&&!_isFirstFrame)){localShapeCollection.releaseShapes();shapeData.shape._mdf=true;shapePaths=shapeData.shape.paths.shapes;jLen=shapeData.shape.paths._length;for(j=0;j<jLen;j+=1){localShapeCollection.addShape(this.processPath(shapePaths[j],amplitude,frequency,pointType));}} 569shapeData.shape.paths=shapeData.localShapeCollection;}} 570if(!this.dynamicProperties.length){this._mdf=false;}};function linearOffset(p1,p2,amount){var angle=Math.atan2(p2[0]-p1[0],p2[1]-p1[1]);return[polarOffset(p1,angle,amount),polarOffset(p2,angle,amount)];} 571function offsetSegment(segment,amount){var p0;var p1a;var p1b;var p2b;var p2a;var p3;var e;e=linearOffset(segment.points[0],segment.points[1],amount);p0=e[0];p1a=e[1];e=linearOffset(segment.points[1],segment.points[2],amount);p1b=e[0];p2b=e[1];e=linearOffset(segment.points[2],segment.points[3],amount);p2a=e[0];p3=e[1];var p1=lineIntersection(p0,p1a,p1b,p2b);if(p1===null)p1=p1a;var p2=lineIntersection(p2a,p3,p1b,p2b);if(p2===null)p2=p2a;return new PolynomialBezier(p0,p1,p2,p3);} 572function joinLines(outputBezier,seg1,seg2,lineJoin,miterLimit){var p0=seg1.points[3];var p1=seg2.points[0];if(lineJoin===3)return p0;if(pointEqual(p0,p1))return p0;if(lineJoin===2){var angleOut=-seg1.tangentAngle(1);var angleIn=-seg2.tangentAngle(0)+Math.PI;var center=lineIntersection(p0,polarOffset(p0,angleOut+Math.PI / 2,100),p1,polarOffset(p1,angleOut+Math.PI / 2,100));var radius=center?pointDistance(center,p0):pointDistance(p0,p1)/ 2;var tan=polarOffset(p0,angleOut,2*radius*roundCorner);outputBezier.setXYAt(tan[0],tan[1],'o',outputBezier.length()-1);tan=polarOffset(p1,angleIn,2*radius*roundCorner);outputBezier.setTripleAt(p1[0],p1[1],p1[0],p1[1],tan[0],tan[1],outputBezier.length());return p1;} 573var t0=pointEqual(p0,seg1.points[2])?seg1.points[0]:seg1.points[2];var t1=pointEqual(p1,seg2.points[1])?seg2.points[3]:seg2.points[1];var intersection=lineIntersection(t0,p0,p1,t1);if(intersection&&pointDistance(intersection,p0)<miterLimit){outputBezier.setTripleAt(intersection[0],intersection[1],intersection[0],intersection[1],intersection[0],intersection[1],outputBezier.length());return intersection;} 574return p0;} 575function getIntersection(a,b){var intersect=a.intersections(b);if(intersect.length&&floatEqual(intersect[0][0],1))intersect.shift();if(intersect.length)return intersect[0];return null;} 576function pruneSegmentIntersection(a,b){var outa=a.slice();var outb=b.slice();var intersect=getIntersection(a[a.length-1],b[0]);if(intersect){outa[a.length-1]=a[a.length-1].split(intersect[0])[0];outb[0]=b[0].split(intersect[1])[1];} 577if(a.length>1&&b.length>1){intersect=getIntersection(a[0],b[b.length-1]);if(intersect){return[[a[0].split(intersect[0])[0]],[b[b.length-1].split(intersect[1])[1]]];}} 578return[outa,outb];} 579function pruneIntersections(segments){var e;for(var i=1;i<segments.length;i+=1){e=pruneSegmentIntersection(segments[i-1],segments[i]);segments[i-1]=e[0];segments[i]=e[1];} 580if(segments.length>1){e=pruneSegmentIntersection(segments[segments.length-1],segments[0]);segments[segments.length-1]=e[0];segments[0]=e[1];} 581return segments;} 582function offsetSegmentSplit(segment,amount){var flex=segment.inflectionPoints();var left;var right;var split;var mid;if(flex.length===0){return[offsetSegment(segment,amount)];} 583if(flex.length===1||floatEqual(flex[1],1)){split=segment.split(flex[0]);left=split[0];right=split[1];return[offsetSegment(left,amount),offsetSegment(right,amount)];} 584split=segment.split(flex[0]);left=split[0];var t=(flex[1]-flex[0])/(1-flex[0]);split=split[1].split(t);mid=split[0];right=split[1];return[offsetSegment(left,amount),offsetSegment(mid,amount),offsetSegment(right,amount)];} 585function OffsetPathModifier(){} 586extendPrototype([ShapeModifier],OffsetPathModifier);OffsetPathModifier.prototype.initModifierProperties=function(elem,data){this.getValue=this.processKeys;this.amount=PropertyFactory.getProp(elem,data.a,0,null,this);this.miterLimit=PropertyFactory.getProp(elem,data.ml,0,null,this);this.lineJoin=data.lj;this._isAnimated=this.amount.effectsSequence.length!==0;};OffsetPathModifier.prototype.processPath=function(inputBezier,amount,lineJoin,miterLimit){var outputBezier=shapePool.newElement();outputBezier.c=inputBezier.c;var count=inputBezier.length();if(!inputBezier.c){count-=1;} 587var i;var j;var segment;var multiSegments=[];for(i=0;i<count;i+=1){segment=PolynomialBezier.shapeSegment(inputBezier,i);multiSegments.push(offsetSegmentSplit(segment,amount));} 588if(!inputBezier.c){for(i=count-1;i>=0;i-=1){segment=PolynomialBezier.shapeSegmentInverted(inputBezier,i);multiSegments.push(offsetSegmentSplit(segment,amount));}} 589multiSegments=pruneIntersections(multiSegments);var lastPoint=null;var lastSeg=null;for(i=0;i<multiSegments.length;i+=1){var multiSegment=multiSegments[i];if(lastSeg)lastPoint=joinLines(outputBezier,lastSeg,multiSegment[0],lineJoin,miterLimit);lastSeg=multiSegment[multiSegment.length-1];for(j=0;j<multiSegment.length;j+=1){segment=multiSegment[j];if(lastPoint&&pointEqual(segment.points[0],lastPoint)){outputBezier.setXYAt(segment.points[1][0],segment.points[1][1],'o',outputBezier.length()-1);}else{outputBezier.setTripleAt(segment.points[0][0],segment.points[0][1],segment.points[1][0],segment.points[1][1],segment.points[0][0],segment.points[0][1],outputBezier.length());} 590outputBezier.setTripleAt(segment.points[3][0],segment.points[3][1],segment.points[3][0],segment.points[3][1],segment.points[2][0],segment.points[2][1],outputBezier.length());lastPoint=segment.points[3];}} 591if(multiSegments.length)joinLines(outputBezier,lastSeg,multiSegments[0][0],lineJoin,miterLimit);return outputBezier;};OffsetPathModifier.prototype.processShapes=function(_isFirstFrame){var shapePaths;var i;var len=this.shapes.length;var j;var jLen;var amount=this.amount.v;var miterLimit=this.miterLimit.v;var lineJoin=this.lineJoin;if(amount!==0){var shapeData;var localShapeCollection;for(i=0;i<len;i+=1){shapeData=this.shapes[i];localShapeCollection=shapeData.localShapeCollection;if(!(!shapeData.shape._mdf&&!this._mdf&&!_isFirstFrame)){localShapeCollection.releaseShapes();shapeData.shape._mdf=true;shapePaths=shapeData.shape.paths.shapes;jLen=shapeData.shape.paths._length;for(j=0;j<jLen;j+=1){localShapeCollection.addShape(this.processPath(shapePaths[j],amount,lineJoin,miterLimit));}} 592shapeData.shape.paths=shapeData.localShapeCollection;}} 593if(!this.dynamicProperties.length){this._mdf=false;}};function getFontProperties(fontData){var styles=fontData.fStyle?fontData.fStyle.split(' '):[];var fWeight='normal';var fStyle='normal';var len=styles.length;var styleName;for(var i=0;i<len;i+=1){styleName=styles[i].toLowerCase();switch(styleName){case'italic':fStyle='italic';break;case'bold':fWeight='700';break;case'black':fWeight='900';break;case'medium':fWeight='500';break;case'regular':case'normal':fWeight='400';break;case'light':case'thin':fWeight='200';break;default:break;}} 594return{style:fStyle,weight:fontData.fWeight||fWeight};} 595var FontManager=function(){var maxWaitingTime=5000;var emptyChar={w:0,size:0,shapes:[],data:{shapes:[]}};var combinedCharacters=[];combinedCharacters=combinedCharacters.concat([2304,2305,2306,2307,2362,23
vendor: 5,763 bytes, lines 595-617
59563,2364,2364,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2387,2388,2389,2390,2391,2402,2403]);var surrogateModifiers=['d83cdffb','d83cdffc','d83cdffd','d83cdffe','d83cdfff'];var zeroWidthJoiner=[65039,8205];function trimFontOptions(font){var familyArray=font.split(',');var i;var len=familyArray.length;var enabledFamilies=[];for(i=0;i<len;i+=1){if(familyArray[i]!=='sans-serif'&&familyArray[i]!=='monospace'){enabledFamilies.push(familyArray[i]);}} 596return enabledFamilies.join(',');} 597function setUpNode(font,family){var parentNode=createTag('span');parentNode.setAttribute('aria-hidden',true);parentNode.style.fontFamily=family;var node=createTag('span');node.innerText='giItT1WQy@!-/#';parentNode.style.position='absolute';parentNode.style.left='-10000px';parentNode.style.top='-10000px';parentNode.style.fontSize='300px';parentNode.style.fontVariant='normal';parentNode.style.fontStyle='normal';parentNode.style.fontWeight='normal';parentNode.style.letterSpacing='0';parentNode.appendChild(node);document.body.appendChild(parentNode);var width=node.offsetWidth;node.style.fontFamily=trimFontOptions(font)+', '+family;return{node:node,w:width,parent:parentNode};} 598function checkLoadedFonts(){var i;var len=this.fonts.length;var node;var w;var loadedCount=len;for(i=0;i<len;i+=1){if(this.fonts[i].loaded){loadedCount-=1;}else if(this.fonts[i].fOrigin==='n'||this.fonts[i].origin===0){this.fonts[i].loaded=true;}else{node=this.fonts[i].monoCase.node;w=this.fonts[i].monoCase.w;if(node.offsetWidth!==w){loadedCount-=1;this.fonts[i].loaded=true;}else{node=this.fonts[i].sansCase.node;w=this.fonts[i].sansCase.w;if(node.offsetWidth!==w){loadedCount-=1;this.fonts[i].loaded=true;}} 599if(this.fonts[i].loaded){this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent);}}} 600if(loadedCount!==0&&Date.now()-this.initTime<maxWaitingTime){setTimeout(this.checkLoadedFontsBinded,20);}else{setTimeout(this.setIsLoadedBinded,10);}} 601function createHelper(fontData,def){var engine=document.body&&def?'svg':'canvas';var helper;var fontProps=getFontProperties(fontData);if(engine==='svg'){var tHelper=createNS('text');tHelper.style.fontSize='100px';tHelper.setAttribute('font-family',fontData.fFamily);tHelper.setAttribute('font-style',fontProps.style);tHelper.setAttribute('font-weight',fontProps.weight);tHelper.textContent='1';if(fontData.fClass){tHelper.style.fontFamily='inherit';tHelper.setAttribute('class',fontData.fClass);}else{tHelper.style.fontFamily=fontData.fFamily;} 602def.appendChild(tHelper);helper=tHelper;}else{var tCanvasHelper=new OffscreenCanvas(500,500).getContext('2d');tCanvasHelper.font=fontProps.style+' '+fontProps.weight+' 100px '+fontData.fFamily;helper=tCanvasHelper;} 603function measure(text){if(engine==='svg'){helper.textContent=text;return helper.getComputedTextLength();} 604return helper.measureText(text).width;} 605return{measureText:measure};} 606function addFonts(fontData,defs){if(!fontData){this.isLoaded=true;return;} 607if(this.chars){this.isLoaded=true;this.fonts=fontData.list;return;} 608if(!document.body){this.isLoaded=true;fontData.list.forEach(function(data){data.helper=createHelper(data);data.cache={};});this.fonts=fontData.list;return;} 609var fontArr=fontData.list;var i;var len=fontArr.length;var _pendingFonts=len;for(i=0;i<len;i+=1){var shouldLoadFont=true;var loadedSelector;var j;fontArr[i].loaded=false;fontArr[i].monoCase=setUpNode(fontArr[i].fFamily,'monospace');fontArr[i].sansCase=setUpNode(fontArr[i].fFamily,'sans-serif');if(!fontArr[i].fPath){fontArr[i].loaded=true;_pendingFonts-=1;}else if(fontArr[i].fOrigin==='p'||fontArr[i].origin===3){loadedSelector=document.querySelectorAll('style[f-forigin="p"][f-family="'+fontArr[i].fFamily+'"], style[f-origin="3"][f-family="'+fontArr[i].fFamily+'"]');if(loadedSelector.length>0){shouldLoadFont=false;} 610if(shouldLoadFont){var s=createTag('style');s.setAttribute('f-forigin',fontArr[i].fOrigin);s.setAttribute('f-origin',fontArr[i].origin);s.setAttribute('f-family',fontArr[i].fFamily);s.type='text/css';s.innerText='@font-face {font-family: '+fontArr[i].fFamily+"; font-style: normal; src: url('"+fontArr[i].fPath+"');}";defs.appendChild(s);}}else if(fontArr[i].fOrigin==='g'||fontArr[i].origin===1){loadedSelector=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]');for(j=0;j<loadedSelector.length;j+=1){if(loadedSelector[j].href.indexOf(fontArr[i].fPath)!==-1){shouldLoadFont=false;}} 611if(shouldLoadFont){var l=createTag('link');l.setAttribute('f-forigin',fontArr[i].fOrigin);l.setAttribute('f-origin',fontArr[i].origin);l.type='text/css';l.rel='stylesheet';l.href=fontArr[i].fPath;document.body.appendChild(l);}}else if(fontArr[i].fOrigin==='t'||fontArr[i].origin===2){loadedSelector=document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]');for(j=0;j<loadedSelector.length;j+=1){if(fontArr[i].fPath===loadedSelector[j].src){shouldLoadFont=false;}} 612if(shouldLoadFont){var sc=createTag('link');sc.setAttribute('f-forigin',fontArr[i].fOrigin);sc.setAttribute('f-origin',fontArr[i].origin);sc.setAttribute('rel','stylesheet');sc.setAttribute('href',fontArr[i].fPath);defs.appendChild(sc);}} 613fontArr[i].helper=createHelper(fontArr[i],defs);fontArr[i].cache={};this.fonts.push(fontArr[i]);} 614if(_pendingFonts===0){this.isLoaded=true;}else{setTimeout(this.checkLoadedFonts.bind(this),100);}} 615function addChars(chars){if(!chars){return;} 616if(!this.chars){this.chars=[];} 617var i;var len=chars.length;var j;var jLen=this.chars.length;var found;for(i=0;i<len;i+=1){j=0;found=false;while(j<jLen){if(this.chars[j].style===chars[i].style&&this.chars[j].fFamily===chars[i].fFamily&&this.chars[j].ch===chars[i].ch){foun
vendor: 44,833 bytes, lines 617-764
617d=true;} 618j+=1;} 619if(!found){this.chars.push(chars[i]);jLen+=1;}}} 620function getCharData(_char,style,font){var i=0;var len=this.chars.length;while(i<len){if(this.chars[i].ch===_char&&this.chars[i].style===style&&this.chars[i].fFamily===font){return this.chars[i];} 621i+=1;} 622if((typeof _char==='string'&&_char.charCodeAt(0)!==13||!_char)&&console&&console.warn&&!this._warned){this._warned=true;console.warn('Missing character from exported characters list: ',_char,style,font);} 623return emptyChar;} 624function measureText(_char2,fontName,size){var fontData=this.getFontByName(fontName);var index=_char2.charCodeAt(0);if(!fontData.cache[index+1]){var tHelper=fontData.helper;if(_char2===' '){var doubleSize=tHelper.measureText('|'+_char2+'|');var singleSize=tHelper.measureText('||');fontData.cache[index+1]=(doubleSize-singleSize)/ 100;}else{fontData.cache[index+1]=tHelper.measureText(_char2)/ 100;}} 625return fontData.cache[index+1]*size;} 626function getFontByName(name){var i=0;var len=this.fonts.length;while(i<len){if(this.fonts[i].fName===name){return this.fonts[i];} 627i+=1;} 628return this.fonts[0];} 629function isModifier(firstCharCode,secondCharCode){var sum=firstCharCode.toString(16)+secondCharCode.toString(16);return surrogateModifiers.indexOf(sum)!==-1;} 630function isZeroWidthJoiner(firstCharCode,secondCharCode){if(!secondCharCode){return firstCharCode===zeroWidthJoiner[1];} 631return firstCharCode===zeroWidthJoiner[0]&&secondCharCode===zeroWidthJoiner[1];} 632function isCombinedCharacter(_char3){return combinedCharacters.indexOf(_char3)!==-1;} 633function setIsLoaded(){this.isLoaded=true;} 634var Font=function Font(){this.fonts=[];this.chars=null;this.typekitLoaded=0;this.isLoaded=false;this._warned=false;this.initTime=Date.now();this.setIsLoadedBinded=this.setIsLoaded.bind(this);this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this);};Font.isModifier=isModifier;Font.isZeroWidthJoiner=isZeroWidthJoiner;Font.isCombinedCharacter=isCombinedCharacter;var fontPrototype={addChars:addChars,addFonts:addFonts,getCharData:getCharData,getFontByName:getFontByName,measureText:measureText,checkLoadedFonts:checkLoadedFonts,setIsLoaded:setIsLoaded};Font.prototype=fontPrototype;return Font;}();function RenderableElement(){} 635RenderableElement.prototype={initRenderable:function initRenderable(){this.isInRange=false;this.hidden=false;this.isTransparent=false;this.renderableComponents=[];},addRenderableComponent:function addRenderableComponent(component){if(this.renderableComponents.indexOf(component)===-1){this.renderableComponents.push(component);}},removeRenderableComponent:function removeRenderableComponent(component){if(this.renderableComponents.indexOf(component)!==-1){this.renderableComponents.splice(this.renderableComponents.indexOf(component),1);}},prepareRenderableFrame:function prepareRenderableFrame(num){this.checkLayerLimits(num);},checkTransparency:function checkTransparency(){if(this.finalTransform.mProp.o.v<=0){if(!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent){this.isTransparent=true;this.hide();}}else if(this.isTransparent){this.isTransparent=false;this.show();}},checkLayerLimits:function checkLayerLimits(num){if(this.data.ip-this.data.st<=num&&this.data.op-this.data.st>num){if(this.isInRange!==true){this.globalData._mdf=true;this._mdf=true;this.isInRange=true;this.show();}}else if(this.isInRange!==false){this.globalData._mdf=true;this.isInRange=false;this.hide();}},renderRenderable:function renderRenderable(){var i;var len=this.renderableComponents.length;for(i=0;i<len;i+=1){this.renderableComponents[i].renderFrame(this._isFirstFrame);}},sourceRectAtTime:function sourceRectAtTime(){return{top:0,left:0,width:100,height:100};},getLayerSize:function getLayerSize(){if(this.data.ty===5){return{w:this.data.textData.width,h:this.data.textData.height};} 636return{w:this.data.width,h:this.data.height};}};var getBlendMode=function(){var blendModeEnums={0:'source-over',1:'multiply',2:'screen',3:'overlay',4:'darken',5:'lighten',6:'color-dodge',7:'color-burn',8:'hard-light',9:'soft-light',10:'difference',11:'exclusion',12:'hue',13:'saturation',14:'color',15:'luminosity'};return function(mode){return blendModeEnums[mode]||'';};}();function SliderEffect(data,elem,container){this.p=PropertyFactory.getProp(elem,data.v,0,0,container);} 637function AngleEffect(data,elem,container){this.p=PropertyFactory.getProp(elem,data.v,0,0,container);} 638function ColorEffect(data,elem,container){this.p=PropertyFactory.getProp(elem,data.v,1,0,container);} 639function PointEffect(data,elem,container){this.p=PropertyFactory.getProp(elem,data.v,1,0,container);} 640function LayerIndexEffect(data,elem,container){this.p=PropertyFactory.getProp(elem,data.v,0,0,container);} 641function MaskIndexEffect(data,elem,container){this.p=PropertyFactory.getProp(elem,data.v,0,0,container);} 642function CheckboxEffect(data,elem,container){this.p=PropertyFactory.getProp(elem,data.v,0,0,container);} 643function NoValueEffect(){this.p={};} 644function EffectsManager(data,element){var effects=data.ef||[];this.effectElements=[];var i;var len=effects.length;var effectItem;for(i=0;i<len;i+=1){effectItem=new GroupEffect(effects[i],element);this.effectElements.push(effectItem);}} 645function GroupEffect(data,element){this.init(data,element);} 646extendPrototype([DynamicPropertyContainer],GroupEffect);GroupEffect.prototype.getValue=GroupEffect.prototype.iterateDynamicProperties;GroupEffect.prototype.init=function(data,element){this.data=data;this.effectElements=[];this.initDynamicPropertyContainer(element);var i;var len=this.data.ef.length;var eff;var effects=this.data.ef;for(i=0;i<len;i+=1){eff=null;switch(effects[i].ty){case 0:eff=new SliderEffect(effects[i],element,this);break;case 1:eff=new AngleEffect(effects[i],element,this);break;case 2:eff=new ColorEffect(effects[i],element,this);break;case 3:eff=new PointEffect(effects[i],element,this);break;case 4:case 7:eff=new CheckboxEffect(effects[i],element,this);break;case 10:eff=new LayerIndexEffect(effects[i],element,this);break;case 11:eff=new MaskIndexEffect(effects[i],element,this);break;case 5:eff=new EffectsManager(effects[i],element,this);break;default:eff=new NoValueEffect(effects[i],element,this);break;} 647if(eff){this.effectElements.push(eff);}}};function BaseElement(){} 648BaseElement.prototype={checkMasks:function checkMasks(){if(!this.data.hasMask){return false;} 649var i=0;var len=this.data.masksProperties.length;while(i<len){if(this.data.masksProperties[i].mode!=='n'&&this.data.masksProperties[i].cl!==false){return true;} 650i+=1;} 651return false;},initExpressions:function initExpressions(){var expressionsInterfaces=getExpressionInterfaces();if(!expressionsInterfaces){return;} 652var LayerExpressionInterface=expressionsInterfaces('layer');var EffectsExpressionInterface=expressionsInterfaces('effects');var ShapeExpressionInterface=expressionsInterfaces('shape');var TextExpressionInterface=expressionsInterfaces('text');var CompExpressionInterface=expressionsInterfaces('comp');this.layerInterface=LayerExpressionInterface(this);if(this.data.hasMask&&this.maskManager){this.layerInterface.registerMaskInterface(this.maskManager);} 653var effectsInterface=EffectsExpressionInterface.createEffectsInterface(this,this.layerInterface);this.layerInterface.registerEffectsInterface(effectsInterface);if(this.data.ty===0||this.data.xt){this.compInterface=CompExpressionInterface(this);}else if(this.data.ty===4){this.layerInterface.shapeInterface=ShapeExpressionInterface(this.shapesData,this.itemsData,this.layerInterface);this.layerInterface.content=this.layerInterface.shapeInterface;}else if(this.data.ty===5){this.layerInterface.textInterface=TextExpressionInterface(this);this.layerInterface.text=this.layerInterface.textInterface;}},setBlendMode:function setBlendMode(){var blendModeValue=getBlendMode(this.data.bm);var elem=this.baseElement||this.layerElement;elem.style['mix-blend-mode']=blendModeValue;},initBaseData:function initBaseData(data,globalData,comp){this.globalData=globalData;this.comp=comp;this.data=data;this.layerId=createElementID();if(!this.data.sr){this.data.sr=1;} 654this.effectsManager=new EffectsManager(this.data,this,this.dynamicProperties);},getType:function getType(){return this.type;},sourceRectAtTime:function sourceRectAtTime(){}};function FrameElement(){} 655FrameElement.prototype={initFrame:function initFrame(){this._isFirstFrame=false;this.dynamicProperties=[];this._mdf=false;},prepareProperties:function prepareProperties(num,isVisible){var i;var len=this.dynamicProperties.length;for(i=0;i<len;i+=1){if(isVisible||this._isParent&&this.dynamicProperties[i].propType==='transform'){this.dynamicProperties[i].getValue();if(this.dynamicProperties[i]._mdf){this.globalData._mdf=true;this._mdf=true;}}}},addDynamicProperty:function addDynamicProperty(prop){if(this.dynamicProperties.indexOf(prop)===-1){this.dynamicProperties.push(prop);}}};function FootageElement(data,globalData,comp){this.initFrame();this.initRenderable();this.assetData=globalData.getAssetData(data.refId);this.footageData=globalData.imageLoader.getAsset(this.assetData);this.initBaseData(data,globalData,comp);} 656FootageElement.prototype.prepareFrame=function(){};extendPrototype([RenderableElement,BaseElement,FrameElement],FootageElement);FootageElement.prototype.getBaseElement=function(){return null;};FootageElement.prototype.renderFrame=function(){};FootageElement.prototype.destroy=function(){};FootageElement.prototype.initExpressions=function(){var expressionsInterfaces=getExpressionInterfaces();if(!expressionsInterfaces){return;} 657var FootageInterface=expressionsInterfaces('footage');this.layerInterface=FootageInterface(this);};FootageElement.prototype.getFootageData=function(){return this.footageData;};function AudioElement(data,globalData,comp){this.initFrame();this.initRenderable();this.assetData=globalData.getAssetData(data.refId);this.initBaseData(data,globalData,comp);this._isPlaying=false;this._canPlay=false;var assetPath=this.globalData.getAssetsPath(this.assetData);this.audio=this.globalData.audioController.createAudio(assetPath);this._currentTime=0;this.globalData.audioController.addAudio(this);this._volumeMultiplier=1;this._volume=1;this._previousVolume=null;this.tm=data.tm?PropertyFactory.getProp(this,data.tm,0,globalData.frameRate,this):{_placeholder:true};this.lv=PropertyFactory.getProp(this,data.au&&data.au.lv?data.au.lv:{k:[100]},1,0.01,this);} 658AudioElement.prototype.prepareFrame=function(num){this.prepareRenderableFrame(num,true);this.prepareProperties(num,true);if(!this.tm._placeholder){var timeRemapped=this.tm.v;this._currentTime=timeRemapped;}else{this._currentTime=num / this.data.sr;} 659this._volume=this.lv.v[0];var totalVolume=this._volume*this._volumeMultiplier;if(this._previousVolume!==totalVolume){this._previousVolume=totalVolume;this.audio.volume(totalVolume);}};extendPrototype([RenderableElement,BaseElement,FrameElement],AudioElement);AudioElement.prototype.renderFrame=function(){if(this.isInRange&&this._canPlay){if(!this._isPlaying){this.audio.play();this.audio.seek(this._currentTime / this.globalData.frameRate);this._isPlaying=true;}else if(!this.audio.playing()||Math.abs(this._currentTime / this.globalData.frameRate-this.audio.seek())>0.1){this.audio.seek(this._currentTime / this.globalData.frameRate);}}};AudioElement.prototype.show=function(){};AudioElement.prototype.hide=function(){this.audio.pause();this._isPlaying=false;};AudioElement.prototype.pause=function(){this.audio.pause();this._isPlaying=false;this._canPlay=false;};AudioElement.prototype.resume=function(){this._canPlay=true;};AudioElement.prototype.setRate=function(rateValue){this.audio.rate(rateValue);};AudioElement.prototype.volume=function(volumeValue){this._volumeMultiplier=volumeValue;this._previousVolume=volumeValue*this._volume;this.audio.volume(this._previousVolume);};AudioElement.prototype.getBaseElement=function(){return null;};AudioElement.prototype.destroy=function(){};AudioElement.prototype.sourceRectAtTime=function(){};AudioElement.prototype.initExpressions=function(){};function BaseRenderer(){} 660BaseRenderer.prototype.checkLayers=function(num){var i;var len=this.layers.length;var data;this.completeLayers=true;for(i=len-1;i>=0;i-=1){if(!this.elements[i]){data=this.layers[i];if(data.ip-data.st<=num-this.layers[i].st&&data.op-data.st>num-this.layers[i].st){this.buildItem(i);}} 661this.completeLayers=this.elements[i]?this.completeLayers:false;} 662this.checkPendingElements();};BaseRenderer.prototype.createItem=function(layer){switch(layer.ty){case 2:return this.createImage(layer);case 0:return this.createComp(layer);case 1:return this.createSolid(layer);case 3:return this.createNull(layer);case 4:return this.createShape(layer);case 5:return this.createText(layer);case 6:return this.createAudio(layer);case 13:return this.createCamera(layer);case 15:return this.createFootage(layer);default:return this.createNull(layer);}};BaseRenderer.prototype.createCamera=function(){throw new Error('You\'re using a 3d camera. Try the html renderer.');};BaseRenderer.prototype.createAudio=function(data){return new AudioElement(data,this.globalData,this);};BaseRenderer.prototype.createFootage=function(data){return new FootageElement(data,this.globalData,this);};BaseRenderer.prototype.buildAllItems=function(){var i;var len=this.layers.length;for(i=0;i<len;i+=1){this.buildItem(i);} 663this.checkPendingElements();};BaseRenderer.prototype.includeLayers=function(newLayers){this.completeLayers=false;var i;var len=newLayers.length;var j;var jLen=this.layers.length;for(i=0;i<len;i+=1){j=0;while(j<jLen){if(this.layers[j].id===newLayers[i].id){this.layers[j]=newLayers[i];break;} 664j+=1;}}};BaseRenderer.prototype.setProjectInterface=function(pInterface){this.globalData.projectInterface=pInterface;};BaseRenderer.prototype.initItems=function(){if(!this.globalData.progressiveLoad){this.buildAllItems();}};BaseRenderer.prototype.buildElementParenting=function(element,parentName,hierarchy){var elements=this.elements;var layers=this.layers;var i=0;var len=layers.length;while(i<len){if(layers[i].ind==parentName){if(!elements[i]||elements[i]===true){this.buildItem(i);this.addPendingElement(element);}else{hierarchy.push(elements[i]);elements[i].setAsParent();if(layers[i].parent!==undefined){this.buildElementParenting(element,layers[i].parent,hierarchy);}else{element.setHierarchy(hierarchy);}}} 665i+=1;}};BaseRenderer.prototype.addPendingElement=function(element){this.pendingElements.push(element);};BaseRenderer.prototype.searchExtraCompositions=function(assets){var i;var len=assets.length;for(i=0;i<len;i+=1){if(assets[i].xt){var comp=this.createComp(assets[i]);comp.initExpressions();this.globalData.projectInterface.registerComposition(comp);}}};BaseRenderer.prototype.getElementById=function(ind){var i;var len=this.elements.length;for(i=0;i<len;i+=1){if(this.elements[i].data.ind===ind){return this.elements[i];}} 666return null;};BaseRenderer.prototype.getElementByPath=function(path){var pathValue=path.shift();var element;if(typeof pathValue==='number'){element=this.elements[pathValue];}else{var i;var len=this.elements.length;for(i=0;i<len;i+=1){if(this.elements[i].data.nm===pathValue){element=this.elements[i];break;}}} 667if(path.length===0){return element;} 668return element.getElementByPath(path);};BaseRenderer.prototype.setupGlobalData=function(animData,fontsContainer){this.globalData.fontManager=new FontManager();this.globalData.fontManager.addChars(animData.chars);this.globalData.fontManager.addFonts(animData.fonts,fontsContainer);this.globalData.getAssetData=this.animationItem.getAssetData.bind(this.animationItem);this.globalData.getAssetsPath=this.animationItem.getAssetsPath.bind(this.animationItem);this.globalData.imageLoader=this.animationItem.imagePreloader;this.globalData.audioController=this.animationItem.audioController;this.globalData.frameId=0;this.globalData.frameRate=animData.fr;this.globalData.nm=animData.nm;this.globalData.compSize={w:animData.w,h:animData.h};};function TransformElement(){} 669TransformElement.prototype={initTransform:function initTransform(){this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:false,_opMdf:false,mat:new Matrix()};if(this.data.ao){this.finalTransform.mProp.autoOriented=true;} 670if(this.data.ty!==11){}},renderTransform:function renderTransform(){this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame;this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame;if(this.hierarchy){var mat;var finalMat=this.finalTransform.mat;var i=0;var len=this.hierarchy.length;if(!this.finalTransform._matMdf){while(i<len){if(this.hierarchy[i].finalTransform.mProp._mdf){this.finalTransform._matMdf=true;break;} 671i+=1;}} 672if(this.finalTransform._matMdf){mat=this.finalTransform.mProp.v.props;finalMat.cloneFromProps(mat);for(i=0;i<len;i+=1){mat=this.hierarchy[i].finalTransform.mProp.v.props;finalMat.transform(mat[0],mat[1],mat[2],mat[3],mat[4],mat[5],mat[6],mat[7],mat[8],mat[9],mat[10],mat[11],mat[12],mat[13],mat[14],mat[15]);}}}},globalToLocal:function globalToLocal(pt){var transforms=[];transforms.push(this.finalTransform);var flag=true;var comp=this.comp;while(flag){if(comp.finalTransform){if(comp.data.hasMask){transforms.splice(0,0,comp.finalTransform);} 673comp=comp.comp;}else{flag=false;}} 674var i;var len=transforms.length;var ptNew;for(i=0;i<len;i+=1){ptNew=transforms[i].mat.applyToPointArray(0,0,0);pt=[pt[0]-ptNew[0],pt[1]-ptNew[1],0];} 675return pt;},mHelper:new Matrix()};function MaskElement(data,element,globalData){this.data=data;this.element=element;this.globalData=globalData;this.storedData=[];this.masksProperties=this.data.masksProperties||[];this.maskElement=null;var defs=this.globalData.defs;var i;var len=this.masksProperties?this.masksProperties.length:0;this.viewData=createSizedArray(len);this.solidPath='';var path;var properties=this.masksProperties;var count=0;var currentMasks=[];var j;var jLen;var layerId=createElementID();var rect;var expansor;var feMorph;var x;var maskType='clipPath';var maskRef='clip-path';for(i=0;i<len;i+=1){if(properties[i].mode!=='a'&&properties[i].mode!=='n'||properties[i].inv||properties[i].o.k!==100||properties[i].o.x){maskType='mask';maskRef='mask';} 676if((properties[i].mode==='s'||properties[i].mode==='i')&&count===0){rect=createNS('rect');rect.setAttribute('fill','#ffffff');rect.setAttribute('width',this.element.comp.data.w||0);rect.setAttribute('height',this.element.comp.data.h||0);currentMasks.push(rect);}else{rect=null;} 677path=createNS('path');if(properties[i].mode==='n'){this.viewData[i]={op:PropertyFactory.getProp(this.element,properties[i].o,0,0.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,properties[i],3),elem:path,lastPath:''};defs.appendChild(path);}else{count+=1;path.setAttribute('fill',properties[i].mode==='s'?'#000000':'#ffffff');path.setAttribute('clip-rule','nonzero');var filterID;if(properties[i].x.k!==0){maskType='mask';maskRef='mask';x=PropertyFactory.getProp(this.element,properties[i].x,0,null,this.element);filterID=createElementID();expansor=createNS('filter');expansor.setAttribute('id',filterID);feMorph=createNS('feMorphology');feMorph.setAttribute('operator','erode');feMorph.setAttribute('in','SourceGraphic');feMorph.setAttribute('radius','0');expansor.appendChild(feMorph);defs.appendChild(expansor);path.setAttribute('stroke',properties[i].mode==='s'?'#000000':'#ffffff');}else{feMorph=null;x=null;} 678this.storedData[i]={elem:path,x:x,expan:feMorph,lastPath:'',lastOperator:'',filterId:filterID,lastRadius:0};if(properties[i].mode==='i'){jLen=currentMasks.length;var g=createNS('g');for(j=0;j<jLen;j+=1){g.appendChild(currentMasks[j]);} 679var mask=createNS('mask');mask.setAttribute('mask-type','alpha');mask.setAttribute('id',layerId+'_'+count);mask.appendChild(path);defs.appendChild(mask);g.setAttribute('mask','url('+getLocationHref()+'#'+layerId+'_'+count+')');currentMasks.length=0;currentMasks.push(g);}else{currentMasks.push(path);} 680if(properties[i].inv&&!this.solidPath){this.solidPath=this.createLayerSolidPath();} 681this.viewData[i]={elem:path,lastPath:'',op:PropertyFactory.getProp(this.element,properties[i].o,0,0.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,properties[i],3),invRect:rect};if(!this.viewData[i].prop.k){this.drawPath(properties[i],this.viewData[i].prop.v,this.viewData[i]);}}} 682this.maskElement=createNS(maskType);len=currentMasks.length;for(i=0;i<len;i+=1){this.maskElement.appendChild(currentMasks[i]);} 683if(count>0){this.maskElement.setAttribute('id',layerId);this.element.maskedElement.setAttribute(maskRef,'url('+getLocationHref()+'#'+layerId+')');defs.appendChild(this.maskElement);} 684if(this.viewData.length){this.element.addRenderableComponent(this);}} 685MaskElement.prototype.getMaskProperty=function(pos){return this.viewData[pos].prop;};MaskElement.prototype.renderFrame=function(isFirstFrame){var finalMat=this.element.finalTransform.mat;var i;var len=this.masksProperties.length;for(i=0;i<len;i+=1){if(this.viewData[i].prop._mdf||isFirstFrame){this.drawPath(this.masksProperties[i],this.viewData[i].prop.v,this.viewData[i]);} 686if(this.viewData[i].op._mdf||isFirstFrame){this.viewData[i].elem.setAttribute('fill-opacity',this.viewData[i].op.v);} 687if(this.masksProperties[i].mode!=='n'){if(this.viewData[i].invRect&&(this.element.finalTransform.mProp._mdf||isFirstFrame)){this.viewData[i].invRect.setAttribute('transform',finalMat.getInverseMatrix().to2dCSS());} 688if(this.storedData[i].x&&(this.storedData[i].x._mdf||isFirstFrame)){var feMorph=this.storedData[i].expan;if(this.storedData[i].x.v<0){if(this.storedData[i].lastOperator!=='erode'){this.storedData[i].lastOperator='erode';this.storedData[i].elem.setAttribute('filter','url('+getLocationHref()+'#'+this.storedData[i].filterId+')');} 689feMorph.setAttribute('radius',-this.storedData[i].x.v);}else{if(this.storedData[i].lastOperator!=='dilate'){this.storedData[i].lastOperator='dilate';this.storedData[i].elem.setAttribute('filter',null);} 690this.storedData[i].elem.setAttribute('stroke-width',this.storedData[i].x.v*2);}}}}};MaskElement.prototype.getMaskelement=function(){return this.maskElement;};MaskElement.prototype.createLayerSolidPath=function(){var path='M0,0 ';path+=' h'+this.globalData.compSize.w;path+=' v'+this.globalData.compSize.h;path+=' h-'+this.globalData.compSize.w;path+=' v-'+this.globalData.compSize.h+' ';return path;};MaskElement.prototype.drawPath=function(pathData,pathNodes,viewData){var pathString=' M'+pathNodes.v[0][0]+','+pathNodes.v[0][1];var i;var len;len=pathNodes._length;for(i=1;i<len;i+=1){pathString+=' C'+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1]+' '+pathNodes.i[i][0]+','+pathNodes.i[i][1]+' '+pathNodes.v[i][0]+','+pathNodes.v[i][1];} 691if(pathNodes.c&&len>1){pathString+=' C'+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1]+' '+pathNodes.i[0][0]+','+pathNodes.i[0][1]+' '+pathNodes.v[0][0]+','+pathNodes.v[0][1];} 692if(viewData.lastPath!==pathString){var pathShapeValue='';if(viewData.elem){if(pathNodes.c){pathShapeValue=pathData.inv?this.solidPath+pathString:pathString;} 693viewData.elem.setAttribute('d',pathShapeValue);} 694viewData.lastPath=pathString;}};MaskElement.prototype.destroy=function(){this.element=null;this.globalData=null;this.maskElement=null;this.data=null;this.masksProperties=null;};var filtersFactory=function(){var ob={};ob.createFilter=createFilter;ob.createAlphaToLuminanceFilter=createAlphaToLuminanceFilter;function createFilter(filId,skipCoordinates){var fil=createNS('filter');fil.setAttribute('id',filId);if(skipCoordinates!==true){fil.setAttribute('filterUnits','objectBoundingBox');fil.setAttribute('x','0%');fil.setAttribute('y','0%');fil.setAttribute('width','100%');fil.setAttribute('height','100%');} 695return fil;} 696function createAlphaToLuminanceFilter(){var feColorMatrix=createNS('feColorMatrix');feColorMatrix.setAttribute('type','matrix');feColorMatrix.setAttribute('color-interpolation-filters','sRGB');feColorMatrix.setAttribute('values','0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1');return feColorMatrix;} 697return ob;}();var featureSupport=function(){var ob={maskType:true,svgLumaHidden:true,offscreenCanvas:typeof OffscreenCanvas!=='undefined'};if(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent)){ob.maskType=false;} 698if(/firefox/i.test(navigator.userAgent)){ob.svgLumaHidden=false;} 699return ob;}();var registeredEffects={};var idPrefix='filter_result_';function SVGEffects(elem){var i;var source='SourceGraphic';var len=elem.data.ef?elem.data.ef.length:0;var filId=createElementID();var fil=filtersFactory.createFilter(filId,true);var count=0;this.filters=[];var filterManager;for(i=0;i<len;i+=1){filterManager=null;var type=elem.data.ef[i].ty;if(registeredEffects[type]){var Effect=registeredEffects[type].effect;filterManager=new Effect(fil,elem.effectsManager.effectElements[i],elem,idPrefix+count,source);source=idPrefix+count;if(registeredEffects[type].countsAsEffect){count+=1;}} 700if(filterManager){this.filters.push(filterManager);}} 701if(count){elem.globalData.defs.appendChild(fil);elem.layerElement.setAttribute('filter','url('+getLocationHref()+'#'+filId+')');} 702if(this.filters.length){elem.addRenderableComponent(this);}} 703SVGEffects.prototype.renderFrame=function(_isFirstFrame){var i;var len=this.filters.length;for(i=0;i<len;i+=1){this.filters[i].renderFrame(_isFirstFrame);}};function registerEffect(id,effect,countsAsEffect){registeredEffects[id]={effect:effect,countsAsEffect:countsAsEffect};} 704function SVGBaseElement(){} 705SVGBaseElement.prototype={initRendererElement:function initRendererElement(){this.layerElement=createNS('g');},createContainerElements:function createContainerElements(){this.matteElement=createNS('g');this.transformedElement=this.layerElement;this.maskedElement=this.layerElement;this._sizeChanged=false;var layerElementParent=null;if(this.data.td){this.matteMasks={};var gg=createNS('g');gg.setAttribute('id',this.layerId);gg.appendChild(this.layerElement);layerElementParent=gg;this.globalData.defs.appendChild(gg);}else if(this.data.tt){this.matteElement.appendChild(this.layerElement);layerElementParent=this.matteElement;this.baseElement=this.matteElement;}else{this.baseElement=this.layerElement;} 706if(this.data.ln){this.layerElement.setAttribute('id',this.data.ln);} 707if(this.data.cl){this.layerElement.setAttribute('class',this.data.cl);} 708if(this.data.ty===0&&!this.data.hd){var cp=createNS('clipPath');var pt=createNS('path');pt.setAttribute('d','M0,0 L'+this.data.w+',0 L'+this.data.w+','+this.data.h+' L0,'+this.data.h+'z');var clipId=createElementID();cp.setAttribute('id',clipId);cp.appendChild(pt);this.globalData.defs.appendChild(cp);if(this.checkMasks()){var cpGroup=createNS('g');cpGroup.setAttribute('clip-path','url('+getLocationHref()+'#'+clipId+')');cpGroup.appendChild(this.layerElement);this.transformedElement=cpGroup;if(layerElementParent){layerElementParent.appendChild(this.transformedElement);}else{this.baseElement=this.transformedElement;}}else{this.layerElement.setAttribute('clip-path','url('+getLocationHref()+'#'+clipId+')');}} 709if(this.data.bm!==0){this.setBlendMode();}},renderElement:function renderElement(){if(this.finalTransform._matMdf){this.transformedElement.setAttribute('transform',this.finalTransform.mat.to2dCSS());} 710if(this.finalTransform._opMdf){this.transformedElement.setAttribute('opacity',this.finalTransform.mProp.o.v);}},destroyBaseElement:function destroyBaseElement(){this.layerElement=null;this.matteElement=null;this.maskManager.destroy();},getBaseElement:function getBaseElement(){if(this.data.hd){return null;} 711return this.baseElement;},createRenderableComponents:function createRenderableComponents(){this.maskManager=new MaskElement(this.data,this,this.globalData);this.renderableEffectsManager=new SVGEffects(this);},getMatte:function getMatte(matteType){if(!this.matteMasks){this.matteMasks={};} 712if(!this.matteMasks[matteType]){var id=this.layerId+'_'+matteType;var filId;var fil;var useElement;var gg;if(matteType===1||matteType===3){var masker=createNS('mask');masker.setAttribute('id',id);masker.setAttribute('mask-type',matteType===3?'luminance':'alpha');useElement=createNS('use');useElement.setAttributeNS('http://www.w3.org/1999/xlink','href','#'+this.layerId);masker.appendChild(useElement);this.globalData.defs.appendChild(masker);if(!featureSupport.maskType&&matteType===1){masker.setAttribute('mask-type','luminance');filId=createElementID();fil=filtersFactory.createFilter(filId);this.globalData.defs.appendChild(fil);fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());gg=createNS('g');gg.appendChild(useElement);masker.appendChild(gg);gg.setAttribute('filter','url('+getLocationHref()+'#'+filId+')');}}else if(matteType===2){var maskGroup=createNS('mask');maskGroup.setAttribute('id',id);maskGroup.setAttribute('mask-type','alpha');var maskGrouper=createNS('g');maskGroup.appendChild(maskGrouper);filId=createElementID();fil=filtersFactory.createFilter(filId);var feCTr=createNS('feComponentTransfer');feCTr.setAttribute('in','SourceGraphic');fil.appendChild(feCTr);var feFunc=createNS('feFuncA');feFunc.setAttribute('type','table');feFunc.setAttribute('tableValues','1.0 0.0');feCTr.appendChild(feFunc);this.globalData.defs.appendChild(fil);var alphaRect=createNS('rect');alphaRect.setAttribute('width',this.comp.data.w);alphaRect.setAttribute('height',this.comp.data.h);alphaRect.setAttribute('x','0');alphaRect.setAttribute('y','0');alphaRect.setAttribute('fill','#ffffff');alphaRect.setAttribute('opacity','0');maskGrouper.setAttribute('filter','url('+getLocationHref()+'#'+filId+')');maskGrouper.appendChild(alphaRect);useElement=createNS('use');useElement.setAttributeNS('http://www.w3.org/1999/xlink','href','#'+this.layerId);maskGrouper.appendChild(useElement);if(!featureSupport.maskType){maskGroup.setAttribute('mask-type','luminance');fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());gg=createNS('g');maskGrouper.appendChild(alphaRect);gg.appendChild(this.layerElement);maskGrouper.appendChild(gg);} 713this.globalData.defs.appendChild(maskGroup);} 714this.matteMasks[matteType]=id;} 715return this.matteMasks[matteType];},setMatte:function setMatte(id){if(!this.matteElement){return;} 716this.matteElement.setAttribute('mask','url('+getLocationHref()+'#'+id+')');}};function HierarchyElement(){} 717HierarchyElement.prototype={initHierarchy:function initHierarchy(){this.hierarchy=[];this._isParent=false;this.checkParenting();},setHierarchy:function setHierarchy(hierarchy){this.hierarchy=hierarchy;},setAsParent:function setAsParent(){this._isParent=true;},checkParenting:function checkParenting(){if(this.data.parent!==undefined){this.comp.buildElementParenting(this,this.data.parent,[]);}}};function RenderableDOMElement(){} 718(function(){var _prototype={initElement:function initElement(data,globalData,comp){this.initFrame();this.initBaseData(data,globalData,comp);this.initTransform(data,globalData,comp);this.initHierarchy();this.initRenderable();this.initRendererElement();this.createContainerElements();this.createRenderableComponents();this.createContent();this.hide();},hide:function hide(){if(!this.hidden&&(!this.isInRange||this.isTransparent)){var elem=this.baseElement||this.layerElement;elem.style.display='none';this.hidden=true;}},show:function show(){if(this.isInRange&&!this.isTransparent){if(!this.data.hd){var elem=this.baseElement||this.layerElement;elem.style.display='block';} 719this.hidden=false;this._isFirstFrame=true;}},renderFrame:function renderFrame(){if(this.data.hd||this.hidden){return;} 720this.renderTransform();this.renderRenderable();this.renderElement();this.renderInnerContent();if(this._isFirstFrame){this._isFirstFrame=false;}},renderInnerContent:function renderInnerContent(){},prepareFrame:function prepareFrame(num){this._mdf=false;this.prepareRenderableFrame(num);this.prepareProperties(num,this.isInRange);this.checkTransparency();},destroy:function destroy(){this.innerElem=null;this.destroyBaseElement();}};extendPrototype([RenderableElement,createProxyFunction(_prototype)],RenderableDOMElement);})();function IImageElement(data,globalData,comp){this.assetData=globalData.getAssetData(data.refId);this.initElement(data,globalData,comp);this.sourceRect={top:0,left:0,width:this.assetData.w,height:this.assetData.h};} 721extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],IImageElement);IImageElement.prototype.createContent=function(){var assetPath=this.globalData.getAssetsPath(this.assetData);this.innerElem=createNS('image');this.innerElem.setAttribute('width',this.assetData.w+'px');this.innerElem.setAttribute('height',this.assetData.h+'px');this.innerElem.setAttribute('preserveAspectRatio',this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio);this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink','href',assetPath);this.layerElement.appendChild(this.innerElem);};IImageElement.prototype.sourceRectAtTime=function(){return this.sourceRect;};function ProcessedElement(element,position){this.elem=element;this.pos=position;} 722function IShapeElement(){} 723IShapeElement.prototype={addShapeToModifiers:function addShapeToModifiers(data){var i;var len=this.shapeModifiers.length;for(i=0;i<len;i+=1){this.shapeModifiers[i].addShape(data);}},isShapeInAnimatedModifiers:function isShapeInAnimatedModifiers(data){var i=0;var len=this.shapeModifiers.length;while(i<len){if(this.shapeModifiers[i].isAnimatedWithShape(data)){return true;}} 724return false;},renderModifiers:function renderModifiers(){if(!this.shapeModifiers.length){return;} 725var i;var len=this.shapes.length;for(i=0;i<len;i+=1){this.shapes[i].sh.reset();} 726len=this.shapeModifiers.length;var shouldBreakProcess;for(i=len-1;i>=0;i-=1){shouldBreakProcess=this.shapeModifiers[i].processShapes(this._isFirstFrame);if(shouldBreakProcess){break;}}},searchProcessedElement:function searchProcessedElement(elem){var elements=this.processedElements;var i=0;var len=elements.length;while(i<len){if(elements[i].elem===elem){return elements[i].pos;} 727i+=1;} 728return 0;},addProcessedElement:function addProcessedElement(elem,pos){var elements=this.processedElements;var i=elements.length;while(i){i-=1;if(elements[i].elem===elem){elements[i].pos=pos;return;}} 729elements.push(new ProcessedElement(elem,pos));},prepareFrame:function prepareFrame(num){this.prepareRenderableFrame(num);this.prepareProperties(num,this.isInRange);}};var lineCapEnum={1:'butt',2:'round',3:'square'};var lineJoinEnum={1:'miter',2:'round',3:'bevel'};function SVGShapeData(transformers,level,shape){this.caches=[];this.styles=[];this.transformers=transformers;this.lStr='';this.sh=shape;this.lvl=level;this._isAnimated=!!shape.k;var i=0;var len=transformers.length;while(i<len){if(transformers[i].mProps.dynamicProperties.length){this._isAnimated=true;break;} 730i+=1;}} 731SVGShapeData.prototype.setAsAnimated=function(){this._isAnimated=true;};function SVGStyleData(data,level){this.data=data;this.type=data.ty;this.d='';this.lvl=level;this._mdf=false;this.closed=data.hd===true;this.pElem=createNS('path');this.msElem=null;} 732SVGStyleData.prototype.reset=function(){this.d='';this._mdf=false;};function DashProperty(elem,data,renderer,container){this.elem=elem;this.frameId=-1;this.dataProps=createSizedArray(data.length);this.renderer=renderer;this.k=false;this.dashStr='';this.dashArray=createTypedArray('float32',data.length?data.length-1:0);this.dashoffset=createTypedArray('float32',1);this.initDynamicPropertyContainer(container);var i;var len=data.length||0;var prop;for(i=0;i<len;i+=1){prop=PropertyFactory.getProp(elem,data[i].v,0,0,this);this.k=prop.k||this.k;this.dataProps[i]={n:data[i].n,p:prop};} 733if(!this.k){this.getValue(true);} 734this._isAnimated=this.k;} 735DashProperty.prototype.getValue=function(forceRender){if(this.elem.globalData.frameId===this.frameId&&!forceRender){return;} 736this.frameId=this.elem.globalData.frameId;this.iterateDynamicProperties();this._mdf=this._mdf||forceRender;if(this._mdf){var i=0;var len=this.dataProps.length;if(this.renderer==='svg'){this.dashStr='';} 737for(i=0;i<len;i+=1){if(this.dataProps[i].n!=='o'){if(this.renderer==='svg'){this.dashStr+=' '+this.dataProps[i].p.v;}else{this.dashArray[i]=this.dataProps[i].p.v;}}else{this.dashoffset[0]=this.dataProps[i].p.v;}}}};extendPrototype([DynamicPropertyContainer],DashProperty);function SVGStrokeStyleData(elem,data,styleOb){this.initDynamicPropertyContainer(elem);this.getValue=this.iterateDynamicProperties;this.o=PropertyFactory.getProp(elem,data.o,0,0.01,this);this.w=PropertyFactory.getProp(elem,data.w,0,null,this);this.d=new DashProperty(elem,data.d||{},'svg',this);this.c=PropertyFactory.getProp(elem,data.c,1,255,this);this.style=styleOb;this._isAnimated=!!this._isAnimated;} 738extendPrototype([DynamicPropertyContainer],SVGStrokeStyleData);function SVGFillStyleData(elem,data,styleOb){this.initDynamicPropertyContainer(elem);this.getValue=this.iterateDynamicProperties;this.o=PropertyFactory.getProp(elem,data.o,0,0.01,this);this.c=PropertyFactory.getProp(elem,data.c,1,255,this);this.style=styleOb;} 739extendPrototype([DynamicPropertyContainer],SVGFillStyleData);function SVGNoStyleData(elem,data,styleOb){this.initDynamicPropertyContainer(elem);this.getValue=this.iterateDynamicProperties;this.style=styleOb;} 740extendPrototype([DynamicPropertyContainer],SVGNoStyleData);function GradientProperty(elem,data,container){this.data=data;this.c=createTypedArray('uint8c',data.p*4);var cLength=data.k.k[0].s?data.k.k[0].s.length-data.p*4:data.k.k.length-data.p*4;this.o=createTypedArray('float32',cLength);this._cmdf=false;this._omdf=false;this._collapsable=this.checkCollapsable();this._hasOpacity=cLength;this.initDynamicPropertyContainer(container);this.prop=PropertyFactory.getProp(elem,data.k,1,null,this);this.k=this.prop.k;this.getValue(true);} 741GradientProperty.prototype.comparePoints=function(values,points){var i=0;var len=this.o.length / 2;var diff;while(i<len){diff=Math.abs(values[i*4]-values[points*4+i*2]);if(diff>0.01){return false;} 742i+=1;} 743return true;};GradientProperty.prototype.checkCollapsable=function(){if(this.o.length / 2!==this.c.length / 4){return false;} 744if(this.data.k.k[0].s){var i=0;var len=this.data.k.k.length;while(i<len){if(!this.comparePoints(this.data.k.k[i].s,this.data.p)){return false;} 745i+=1;}}else if(!this.comparePoints(this.data.k.k,this.data.p)){return false;} 746return true;};GradientProperty.prototype.getValue=function(forceRender){this.prop.getValue();this._mdf=false;this._cmdf=false;this._omdf=false;if(this.prop._mdf||forceRender){var i;var len=this.data.p*4;var mult;var val;for(i=0;i<len;i+=1){mult=i%4===0?100:255;val=Math.round(this.prop.v[i]*mult);if(this.c[i]!==val){this.c[i]=val;this._cmdf=!forceRender;}} 747if(this.o.length){len=this.prop.v.length;for(i=this.data.p*4;i<len;i+=1){mult=i%2===0?100:1;val=i%2===0?Math.round(this.prop.v[i]*100):this.prop.v[i];if(this.o[i-this.data.p*4]!==val){this.o[i-this.data.p*4]=val;this._omdf=!forceRender;}}} 748this._mdf=!forceRender;}};extendPrototype([DynamicPropertyContainer],GradientProperty);function SVGGradientFillStyleData(elem,data,styleOb){this.initDynamicPropertyContainer(elem);this.getValue=this.iterateDynamicProperties;this.initGradientData(elem,data,styleOb);} 749SVGGradientFillStyleData.prototype.initGradientData=function(elem,data,styleOb){this.o=PropertyFactory.getProp(elem,data.o,0,0.01,this);this.s=PropertyFactory.getProp(elem,data.s,1,null,this);this.e=PropertyFactory.getProp(elem,data.e,1,null,this);this.h=PropertyFactory.getProp(elem,data.h||{k:0},0,0.01,this);this.a=PropertyFactory.getProp(elem,data.a||{k:0},0,degToRads,this);this.g=new GradientProperty(elem,data.g,this);this.style=styleOb;this.stops=[];this.setGradientData(styleOb.pElem,data);this.setGradientOpacity(data,styleOb);this._isAnimated=!!this._isAnimated;};SVGGradientFillStyleData.prototype.setGradientData=function(pathElement,data){var gradientId=createElementID();var gfill=createNS(data.t===1?'linearGradient':'radialGradient');gfill.setAttribute('id',gradientId);gfill.setAttribute('spreadMethod','pad');gfill.setAttribute('gradientUnits','userSpaceOnUse');var stops=[];var stop;var j;var jLen;jLen=data.g.p*4;for(j=0;j<jLen;j+=4){stop=createNS('stop');gfill.appendChild(stop);stops.push(stop);} 750pathElement.setAttribute(data.ty==='gf'?'fill':'stroke','url('+getLocationHref()+'#'+gradientId+')');this.gf=gfill;this.cst=stops;};SVGGradientFillStyleData.prototype.setGradientOpacity=function(data,styleOb){if(this.g._hasOpacity&&!this.g._collapsable){var stop;var j;var jLen;var mask=createNS('mask');var maskElement=createNS('path');mask.appendChild(maskElement);var opacityId=createElementID();var maskId=createElementID();mask.setAttribute('id',maskId);var opFill=createNS(data.t===1?'linearGradient':'radialGradient');opFill.setAttribute('id',opacityId);opFill.setAttribute('spreadMethod','pad');opFill.setAttribute('gradientUnits','userSpaceOnUse');jLen=data.g.k.k[0].s?data.g.k.k[0].s.length:data.g.k.k.length;var stops=this.stops;for(j=data.g.p*4;j<jLen;j+=2){stop=createNS('stop');stop.setAttribute('stop-color','rgb(255,255,255)');opFill.appendChild(stop);stops.push(stop);} 751maskElement.setAttribute(data.ty==='gf'?'fill':'stroke','url('+getLocationHref()+'#'+opacityId+')');if(data.ty==='gs'){maskElement.setAttribute('stroke-linecap',lineCapEnum[data.lc||2]);maskElement.setAttribute('stroke-linejoin',lineJoinEnum[data.lj||2]);if(data.lj===1){maskElement.setAttribute('stroke-miterlimit',data.ml);}} 752this.of=opFill;this.ms=mask;this.ost=stops;this.maskId=maskId;styleOb.msElem=maskElement;}};extendPrototype([DynamicPropertyContainer],SVGGradientFillStyleData);function SVGGradientStrokeStyleData(elem,data,styleOb){this.initDynamicPropertyContainer(elem);this.getValue=this.iterateDynamicProperties;this.w=PropertyFactory.getProp(elem,data.w,0,null,this);this.d=new DashProperty(elem,data.d||{},'svg',this);this.initGradientData(elem,data,styleOb);this._isAnimated=!!this._isAnimated;} 753extendPrototype([SVGGradientFillStyleData,DynamicPropertyContainer],SVGGradientStrokeStyleData);function ShapeGroupData(){this.it=[];this.prevViewData=[];this.gr=createNS('g');} 754function SVGTransformData(mProps,op,container){this.transform={mProps:mProps,op:op,container:container};this.elements=[];this._isAnimated=this.transform.mProps.dynamicProperties.length||this.transform.op.effectsSequence.length;} 755var buildShapeString=function buildShapeString(pathNodes,length,closed,mat){if(length===0){return'';} 756var _o=pathNodes.o;var _i=pathNodes.i;var _v=pathNodes.v;var i;var shapeString=' M'+mat.applyToPointStringified(_v[0][0],_v[0][1]);for(i=1;i<length;i+=1){shapeString+=' C'+mat.applyToPointStringified(_o[i-1][0],_o[i-1][1])+' '+mat.applyToPointStringified(_i[i][0],_i[i][1])+' '+mat.applyToPointStringified(_v[i][0],_v[i][1]);} 757if(closed&&length){shapeString+=' C'+mat.applyToPointStringified(_o[i-1][0],_o[i-1][1])+' '+mat.applyToPointStringified(_i[0][0],_i[0][1])+' '+mat.applyToPointStringified(_v[0][0],_v[0][1]);shapeString+='z';} 758return shapeString;};var SVGElementsRenderer=function(){var _identityMatrix=new Matrix();var _matrixHelper=new Matrix();var ob={createRenderFunction:createRenderFunction};function createRenderFunction(data){switch(data.ty){case'fl':return renderFill;case'gf':return renderGradient;case'gs':return renderGradientStroke;case'st':return renderStroke;case'sh':case'el':case'rc':case'sr':return renderPath;case'tr':return renderContentTransform;case'no':return renderNoop;default:return null;}} 759function renderContentTransform(styleData,itemData,isFirstFrame){if(isFirstFrame||itemData.transform.op._mdf){itemData.transform.container.setAttribute('opacity',itemData.transform.op.v);} 760if(isFirstFrame||itemData.transform.mProps._mdf){itemData.transform.container.setAttribute('transform',itemData.transform.mProps.v.to2dCSS());}} 761function renderNoop(){} 762function renderPath(styleData,itemData,isFirstFrame){var j;var jLen;var pathStringTransformed;var redraw;var pathNodes;var l;var lLen=itemData.styles.length;var lvl=itemData.lvl;var paths;var mat;var props;var iterations;var k;for(l=0;l<lLen;l+=1){redraw=itemData.sh._mdf||isFirstFrame;if(itemData.styles[l].lvl<lvl){mat=_matrixHelper.reset();iterations=lvl-itemData.styles[l].lvl;k=itemData.transformers.length-1;while(!redraw&&iterations>0){redraw=itemData.transformers[k].mProps._mdf||redraw;iterations-=1;k-=1;} 763if(redraw){iterations=lvl-itemData.styles[l].lvl;k=itemData.transformers.length-1;while(iterations>0){props=itemData.transformers[k].mProps.v.props;mat.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);iterations-=1;k-=1;}}}else{mat=_identityMatrix;} 764paths=itemData.sh.paths;jLen=paths._length;if(redraw){pathStringTransformed='';for(j=0;j<jLen;
vendor: 3,143 bytes, lines 764-779
764j+=1){pathNodes=paths.shapes[j];if(pathNodes&&pathNodes._length){pathStringTransformed+=buildShapeString(pathNodes,pathNodes._length,pathNodes.c,mat);}} 765itemData.caches[l]=pathStringTransformed;}else{pathStringTransformed=itemData.caches[l];} 766itemData.styles[l].d+=styleData.hd===true?'':pathStringTransformed;itemData.styles[l]._mdf=redraw||itemData.styles[l]._mdf;}} 767function renderFill(styleData,itemData,isFirstFrame){var styleElem=itemData.style;if(itemData.c._mdf||isFirstFrame){styleElem.pElem.setAttribute('fill','rgb('+bmFloor(itemData.c.v[0])+','+bmFloor(itemData.c.v[1])+','+bmFloor(itemData.c.v[2])+')');} 768if(itemData.o._mdf||isFirstFrame){styleElem.pElem.setAttribute('fill-opacity',itemData.o.v);}} 769function renderGradientStroke(styleData,itemData,isFirstFrame){renderGradient(styleData,itemData,isFirstFrame);renderStroke(styleData,itemData,isFirstFrame);} 770function renderGradient(styleData,itemData,isFirstFrame){var gfill=itemData.gf;var hasOpacity=itemData.g._hasOpacity;var pt1=itemData.s.v;var pt2=itemData.e.v;if(itemData.o._mdf||isFirstFrame){var attr=styleData.ty==='gf'?'fill-opacity':'stroke-opacity';itemData.style.pElem.setAttribute(attr,itemData.o.v);} 771if(itemData.s._mdf||isFirstFrame){var attr1=styleData.t===1?'x1':'cx';var attr2=attr1==='x1'?'y1':'cy';gfill.setAttribute(attr1,pt1[0]);gfill.setAttribute(attr2,pt1[1]);if(hasOpacity&&!itemData.g._collapsable){itemData.of.setAttribute(attr1,pt1[0]);itemData.of.setAttribute(attr2,pt1[1]);}} 772var stops;var i;var len;var stop;if(itemData.g._cmdf||isFirstFrame){stops=itemData.cst;var cValues=itemData.g.c;len=stops.length;for(i=0;i<len;i+=1){stop=stops[i];stop.setAttribute('offset',cValues[i*4]+'%');stop.setAttribute('stop-color','rgb('+cValues[i*4+1]+','+cValues[i*4+2]+','+cValues[i*4+3]+')');}} 773if(hasOpacity&&(itemData.g._omdf||isFirstFrame)){var oValues=itemData.g.o;if(itemData.g._collapsable){stops=itemData.cst;}else{stops=itemData.ost;} 774len=stops.length;for(i=0;i<len;i+=1){stop=stops[i];if(!itemData.g._collapsable){stop.setAttribute('offset',oValues[i*2]+'%');} 775stop.setAttribute('stop-opacity',oValues[i*2+1]);}} 776if(styleData.t===1){if(itemData.e._mdf||isFirstFrame){gfill.setAttribute('x2',pt2[0]);gfill.setAttribute('y2',pt2[1]);if(hasOpacity&&!itemData.g._collapsable){itemData.of.setAttribute('x2',pt2[0]);itemData.of.setAttribute('y2',pt2[1]);}}}else{var rad;if(itemData.s._mdf||itemData.e._mdf||isFirstFrame){rad=Math.sqrt(Math.pow(pt1[0]-pt2[0],2)+Math.pow(pt1[1]-pt2[1],2));gfill.setAttribute('r',rad);if(hasOpacity&&!itemData.g._collapsable){itemData.of.setAttribute('r',rad);}} 777if(itemData.e._mdf||itemData.h._mdf||itemData.a._mdf||isFirstFrame){if(!rad){rad=Math.sqrt(Math.pow(pt1[0]-pt2[0],2)+Math.pow(pt1[1]-pt2[1],2));} 778var ang=Math.atan2(pt2[1]-pt1[1],pt2[0]-pt1[0]);var percent=itemData.h.v;if(percent>=1){percent=0.99;}else if(percent<=-1){percent=-0.99;} 779var dist=rad*percent;var x=Math.cos(ang+itemData.a.v)*dist+pt1[0];var y=Math.sin(ang+itemData.a.v)*dist+pt1[1];gfill.setAttribute('fx',x);gfill.setAttribute('fy',y);if(hasOpacity&&!itemData.g._collapsable){itemData.of.setAttribute('fx',x);itemData.of.setAttribute('fy',y);}}}}
vendor: 13,084 bytes, lines 780-832
780function renderStroke(styleData,itemData,isFirstFrame){var styleElem=itemData.style;var d=itemData.d;if(d&&(d._mdf||isFirstFrame)&&d.dashStr){styleElem.pElem.setAttribute('stroke-dasharray',d.dashStr);styleElem.pElem.setAttribute('stroke-dashoffset',d.dashoffset[0]);} 781if(itemData.c&&(itemData.c._mdf||isFirstFrame)){styleElem.pElem.setAttribute('stroke','rgb('+bmFloor(itemData.c.v[0])+','+bmFloor(itemData.c.v[1])+','+bmFloor(itemData.c.v[2])+')');} 782if(itemData.o._mdf||isFirstFrame){styleElem.pElem.setAttribute('stroke-opacity',itemData.o.v);} 783if(itemData.w._mdf||isFirstFrame){styleElem.pElem.setAttribute('stroke-width',itemData.w.v);if(styleElem.msElem){styleElem.msElem.setAttribute('stroke-width',itemData.w.v);}}} 784return ob;}();function SVGShapeElement(data,globalData,comp){this.shapes=[];this.shapesData=data.shapes;this.stylesList=[];this.shapeModifiers=[];this.itemsData=[];this.processedElements=[];this.animatedContents=[];this.initElement(data,globalData,comp);this.prevViewData=[];} 785extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement);SVGShapeElement.prototype.initSecondaryElement=function(){};SVGShapeElement.prototype.identityMatrix=new Matrix();SVGShapeElement.prototype.buildExpressionInterface=function(){};SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],true);this.filterUniqueShapes();};SVGShapeElement.prototype.filterUniqueShapes=function(){var i;var len=this.shapes.length;var shape;var j;var jLen=this.stylesList.length;var style;var tempShapes=[];var areAnimated=false;for(j=0;j<jLen;j+=1){style=this.stylesList[j];areAnimated=false;tempShapes.length=0;for(i=0;i<len;i+=1){shape=this.shapes[i];if(shape.styles.indexOf(style)!==-1){tempShapes.push(shape);areAnimated=shape._isAnimated||areAnimated;}} 786if(tempShapes.length>1&&areAnimated){this.setShapesAsAnimated(tempShapes);}}};SVGShapeElement.prototype.setShapesAsAnimated=function(shapes){var i;var len=shapes.length;for(i=0;i<len;i+=1){shapes[i].setAsAnimated();}};SVGShapeElement.prototype.createStyleElement=function(data,level){var elementData;var styleOb=new SVGStyleData(data,level);var pathElement=styleOb.pElem;if(data.ty==='st'){elementData=new SVGStrokeStyleData(this,data,styleOb);}else if(data.ty==='fl'){elementData=new SVGFillStyleData(this,data,styleOb);}else if(data.ty==='gf'||data.ty==='gs'){var GradientConstructor=data.ty==='gf'?SVGGradientFillStyleData:SVGGradientStrokeStyleData;elementData=new GradientConstructor(this,data,styleOb);this.globalData.defs.appendChild(elementData.gf);if(elementData.maskId){this.globalData.defs.appendChild(elementData.ms);this.globalData.defs.appendChild(elementData.of);pathElement.setAttribute('mask','url('+getLocationHref()+'#'+elementData.maskId+')');}}else if(data.ty==='no'){elementData=new SVGNoStyleData(this,data,styleOb);} 787if(data.ty==='st'||data.ty==='gs'){pathElement.setAttribute('stroke-linecap',lineCapEnum[data.lc||2]);pathElement.setAttribute('stroke-linejoin',lineJoinEnum[data.lj||2]);pathElement.setAttribute('fill-opacity','0');if(data.lj===1){pathElement.setAttribute('stroke-miterlimit',data.ml);}} 788if(data.r===2){pathElement.setAttribute('fill-rule','evenodd');} 789if(data.ln){pathElement.setAttribute('id',data.ln);} 790if(data.cl){pathElement.setAttribute('class',data.cl);} 791if(data.bm){pathElement.style['mix-blend-mode']=getBlendMode(data.bm);} 792this.stylesList.push(styleOb);this.addToAnimatedContents(data,elementData);return elementData;};SVGShapeElement.prototype.createGroupElement=function(data){var elementData=new ShapeGroupData();if(data.ln){elementData.gr.setAttribute('id',data.ln);} 793if(data.cl){elementData.gr.setAttribute('class',data.cl);} 794if(data.bm){elementData.gr.style['mix-blend-mode']=getBlendMode(data.bm);} 795return elementData;};SVGShapeElement.prototype.createTransformElement=function(data,container){var transformProperty=TransformPropertyFactory.getTransformProperty(this,data,this);var elementData=new SVGTransformData(transformProperty,transformProperty.o,container);this.addToAnimatedContents(data,elementData);return elementData;};SVGShapeElement.prototype.createShapeElement=function(data,ownTransformers,level){var ty=4;if(data.ty==='rc'){ty=5;}else if(data.ty==='el'){ty=6;}else if(data.ty==='sr'){ty=7;} 796var shapeProperty=ShapePropertyFactory.getShapeProp(this,data,ty,this);var elementData=new SVGShapeData(ownTransformers,level,shapeProperty);this.shapes.push(elementData);this.addShapeToModifiers(elementData);this.addToAnimatedContents(data,elementData);return elementData;};SVGShapeElement.prototype.addToAnimatedContents=function(data,element){var i=0;var len=this.animatedContents.length;while(i<len){if(this.animatedContents[i].element===element){return;} 797i+=1;} 798this.animatedContents.push({fn:SVGElementsRenderer.createRenderFunction(data),element:element,data:data});};SVGShapeElement.prototype.setElementStyles=function(elementData){var arr=elementData.styles;var j;var jLen=this.stylesList.length;for(j=0;j<jLen;j+=1){if(!this.stylesList[j].closed){arr.push(this.stylesList[j]);}}};SVGShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=true;var i;var len=this.itemsData.length;for(i=0;i<len;i+=1){this.prevViewData[i]=this.itemsData[i];} 799this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],true);this.filterUniqueShapes();len=this.dynamicProperties.length;for(i=0;i<len;i+=1){this.dynamicProperties[i].getValue();} 800this.renderModifiers();};SVGShapeElement.prototype.searchShapes=function(arr,itemsData,prevViewData,container,level,transformers,render){var ownTransformers=[].concat(transformers);var i;var len=arr.length-1;var j;var jLen;var ownStyles=[];var ownModifiers=[];var currentTransform;var modifier;var processedPos;for(i=len;i>=0;i-=1){processedPos=this.searchProcessedElement(arr[i]);if(!processedPos){arr[i]._render=render;}else{itemsData[i]=prevViewData[processedPos-1];} 801if(arr[i].ty==='fl'||arr[i].ty==='st'||arr[i].ty==='gf'||arr[i].ty==='gs'||arr[i].ty==='no'){if(!processedPos){itemsData[i]=this.createStyleElement(arr[i],level);}else{itemsData[i].style.closed=false;} 802if(arr[i]._render){if(itemsData[i].style.pElem.parentNode!==container){container.appendChild(itemsData[i].style.pElem);}} 803ownStyles.push(itemsData[i].style);}else if(arr[i].ty==='gr'){if(!processedPos){itemsData[i]=this.createGroupElement(arr[i]);}else{jLen=itemsData[i].it.length;for(j=0;j<jLen;j+=1){itemsData[i].prevViewData[j]=itemsData[i].it[j];}} 804this.searchShapes(arr[i].it,itemsData[i].it,itemsData[i].prevViewData,itemsData[i].gr,level+1,ownTransformers,render);if(arr[i]._render){if(itemsData[i].gr.parentNode!==container){container.appendChild(itemsData[i].gr);}}}else if(arr[i].ty==='tr'){if(!processedPos){itemsData[i]=this.createTransformElement(arr[i],container);} 805currentTransform=itemsData[i].transform;ownTransformers.push(currentTransform);}else if(arr[i].ty==='sh'||arr[i].ty==='rc'||arr[i].ty==='el'||arr[i].ty==='sr'){if(!processedPos){itemsData[i]=this.createShapeElement(arr[i],ownTransformers,level);} 806this.setElementStyles(itemsData[i]);}else if(arr[i].ty==='tm'||arr[i].ty==='rd'||arr[i].ty==='ms'||arr[i].ty==='pb'||arr[i].ty==='zz'||arr[i].ty==='op'){if(!processedPos){modifier=ShapeModifiers.getModifier(arr[i].ty);modifier.init(this,arr[i]);itemsData[i]=modifier;this.shapeModifiers.push(modifier);}else{modifier=itemsData[i];modifier.closed=false;} 807ownModifiers.push(modifier);}else if(arr[i].ty==='rp'){if(!processedPos){modifier=ShapeModifiers.getModifier(arr[i].ty);itemsData[i]=modifier;modifier.init(this,arr,i,itemsData);this.shapeModifiers.push(modifier);render=false;}else{modifier=itemsData[i];modifier.closed=true;} 808ownModifiers.push(modifier);} 809this.addProcessedElement(arr[i],i+1);} 810len=ownStyles.length;for(i=0;i<len;i+=1){ownStyles[i].closed=true;} 811len=ownModifiers.length;for(i=0;i<len;i+=1){ownModifiers[i].closed=true;}};SVGShapeElement.prototype.renderInnerContent=function(){this.renderModifiers();var i;var len=this.stylesList.length;for(i=0;i<len;i+=1){this.stylesList[i].reset();} 812this.renderShape();for(i=0;i<len;i+=1){if(this.stylesList[i]._mdf||this._isFirstFrame){if(this.stylesList[i].msElem){this.stylesList[i].msElem.setAttribute('d',this.stylesList[i].d);this.stylesList[i].d='M0 0'+this.stylesList[i].d;} 813this.stylesList[i].pElem.setAttribute('d',this.stylesList[i].d||'M0 0');}}};SVGShapeElement.prototype.renderShape=function(){var i;var len=this.animatedContents.length;var animatedContent;for(i=0;i<len;i+=1){animatedContent=this.animatedContents[i];if((this._isFirstFrame||animatedContent.element._isAnimated)&&animatedContent.data!==true){animatedContent.fn(animatedContent.data,animatedContent.element,this._isFirstFrame);}}};SVGShapeElement.prototype.destroy=function(){this.destroyBaseElement();this.shapesData=null;this.itemsData=null;};function LetterProps(o,sw,sc,fc,m,p){this.o=o;this.sw=sw;this.sc=sc;this.fc=fc;this.m=m;this.p=p;this._mdf={o:true,sw:!!sw,sc:!!sc,fc:!!fc,m:true,p:true};} 814LetterProps.prototype.update=function(o,sw,sc,fc,m,p){this._mdf.o=false;this._mdf.sw=false;this._mdf.sc=false;this._mdf.fc=false;this._mdf.m=false;this._mdf.p=false;var updated=false;if(this.o!==o){this.o=o;this._mdf.o=true;updated=true;} 815if(this.sw!==sw){this.sw=sw;this._mdf.sw=true;updated=true;} 816if(this.sc!==sc){this.sc=sc;this._mdf.sc=true;updated=true;} 817if(this.fc!==fc){this.fc=fc;this._mdf.fc=true;updated=true;} 818if(this.m!==m){this.m=m;this._mdf.m=true;updated=true;} 819if(p.length&&(this.p[0]!==p[0]||this.p[1]!==p[1]||this.p[4]!==p[4]||this.p[5]!==p[5]||this.p[12]!==p[12]||this.p[13]!==p[13])){this.p=p;this._mdf.p=true;updated=true;} 820return updated;};function TextProperty(elem,data){this._frameId=initialDefaultFrame;this.pv='';this.v='';this.kf=false;this._isFirstFrame=true;this._mdf=false;this.data=data;this.elem=elem;this.comp=this.elem.comp;this.keysIndex=0;this.canResize=false;this.minimumFontSize=1;this.effectsSequence=[];this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:'',fStyle:'',fWeight:'',fc:'',j:'',justifyOffset:'',l:[],lh:0,lineWidths:[],ls:'',of:'',s:'',sc:'',sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:false,strokeColorAnim:false,strokeWidthAnim:false,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:false};this.copyData(this.currentData,this.data.d.k[0].s);if(!this.searchProperty()){this.completeTextData(this.currentData);}} 821TextProperty.prototype.defaultBoxWidth=[0,0];TextProperty.prototype.copyData=function(obj,data){for(var s in data){if(Object.prototype.hasOwnProperty.call(data,s)){obj[s]=data[s];}} 822return obj;};TextProperty.prototype.setCurrentData=function(data){if(!data.__complete){this.completeTextData(data);} 823this.currentData=data;this.currentData.boxWidth=this.currentData.boxWidth||this.defaultBoxWidth;this._mdf=true;};TextProperty.prototype.searchProperty=function(){return this.searchKeyframes();};TextProperty.prototype.searchKeyframes=function(){this.kf=this.data.d.k.length>1;if(this.kf){this.addEffect(this.getKeyframeValue.bind(this));} 824return this.kf;};TextProperty.prototype.addEffect=function(effectFunction){this.effectsSequence.push(effectFunction);this.elem.addDynamicProperty(this);};TextProperty.prototype.getValue=function(_finalValue){if((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!_finalValue){return;} 825this.currentData.t=this.data.d.k[this.keysIndex].s.t;var currentValue=this.currentData;var currentIndex=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return;} 826this.lock=true;this._mdf=false;var i;var len=this.effectsSequence.length;var finalValue=_finalValue||this.data.d.k[this.keysIndex].s;for(i=0;i<len;i+=1){if(currentIndex!==this.keysIndex){finalValue=this.effectsSequence[i](finalValue,finalValue.t);}else{finalValue=this.effectsSequence[i](this.currentData,finalValue.t);}} 827if(currentValue!==finalValue){this.setCurrentData(finalValue);} 828this.v=this.currentData;this.pv=this.v;this.lock=false;this.frameId=this.elem.globalData.frameId;};TextProperty.prototype.getKeyframeValue=function(){var textKeys=this.data.d.k;var frameNum=this.elem.comp.renderedFrame;var i=0;var len=textKeys.length;while(i<=len-1){if(i===len-1||textKeys[i+1].t>frameNum){break;} 829i+=1;} 830if(this.keysIndex!==i){this.keysIndex=i;} 831return this.data.d.k[this.keysIndex].s;};TextProperty.prototype.buildFinalText=function(text){var charactersArray=[];var i=0;var len=text.length;var charCode;var secondCharCode;var shouldCombine=false;while(i<len){charCode=text.charCodeAt(i);if(FontManager.isCombinedCharacter(charCode)){charactersArray[charactersArray.length-1]+=text.charAt(i);}else if(charCode>=0xD800&&charCode<=0xDBFF){secondCharCode=text.charCodeAt(i+1);if(secondCharCode>=0xDC00&&secondCharCode<=0xDFFF){if(shouldCombine||FontManager.isModifier(charCode,secondCharCode)){charactersArray[charactersArray.length-1]+=text.substr(i,2);shouldCombine=false;}else{charactersArray.push(text.substr(i,2));} 832i+=1;}else{charactersArray.push(text.charAt(i));}}
832else if(charCode>0xDBFF){secondCharCode=text.charCodeAt(i+1);if(FontManager.isZeroWidthJoiner(charCode,secondCharCode)){shouldCombine=true;charactersArray[charactersArray.length-1]+=text.substr(i,2);i+=1;}else{charactersArray.push(text.charAt(i));}}else if(FontManager.isZeroWidthJoiner(charCode)){charactersArray[charactersArray.length-1]+=text.charAt(i);shouldCombine=true;}else{charactersArray.push(text.charAt(i));} 833i+=1;} 834return charactersArray;};TextProperty.prototype.completeTextData=function(documentData){documentData.__complete=true;var fontManager=this.elem.globalData.fontManager;var data=this.data;var letters=[];var i;var len;var newLineFlag;var index=0;var val;var anchorGrouping=data.m.g;var currentSize=0;var currentPos=0;var currentLine=0;var lineWidths=[];var lineWidth=0;var maxLineWidth=0;var j;var jLen;var fontData=fontManager.getFontByName(documentData.f);var charData;var cLength=0;var fontProps=getFontProperties(fontData);documentData.fWeight=fontProps.weight;documentData.fStyle=fontProps.style;documentData.finalSize=documentData.s;documentData.finalText=this.buildFinalText(documentData.t);len=documentData.finalText.length;documentData.finalLineHeight=documentData.lh;var trackingOffset=documentData.tr / 1000*documentData.finalSize;var charCode;if(documentData.sz){var flag=true;var boxWidth=documentData.sz[0];var boxHeight=documentData.sz[1];var currentHeight;var finalText;while(flag){finalText=this.buildFinalText(documentData.t);currentHeight=0;lineWidth=0;len=finalText.length;trackingOffset=documentData.tr / 1000*documentData.finalSize;var lastSpaceIndex=-1;for(i=0;i<len;i+=1){charCode=finalText[i].charCodeAt(0);newLineFlag=false;if(finalText[i]===' '){lastSpaceIndex=i;}
vendor: 77,892 bytes, lines 834-1093
834else if(charCode===13||charCode===3){lineWidth=0;newLineFlag=true;currentHeight+=documentData.finalLineHeight||documentData.finalSize*1.2;} 835if(fontManager.chars){charData=fontManager.getCharData(finalText[i],fontData.fStyle,fontData.fFamily);cLength=newLineFlag?0:charData.w*documentData.finalSize / 100;}else{cLength=fontManager.measureText(finalText[i],documentData.f,documentData.finalSize);} 836if(lineWidth+cLength>boxWidth&&finalText[i]!==' '){if(lastSpaceIndex===-1){len+=1;}else{i=lastSpaceIndex;} 837currentHeight+=documentData.finalLineHeight||documentData.finalSize*1.2;finalText.splice(i,lastSpaceIndex===i?1:0,'\r');lastSpaceIndex=-1;lineWidth=0;}else{lineWidth+=cLength;lineWidth+=trackingOffset;}} 838currentHeight+=fontData.ascent*documentData.finalSize / 100;if(this.canResize&&documentData.finalSize>this.minimumFontSize&&boxHeight<currentHeight){documentData.finalSize-=1;documentData.finalLineHeight=documentData.finalSize*documentData.lh / documentData.s;}else{documentData.finalText=finalText;len=documentData.finalText.length;flag=false;}}} 839lineWidth=-trackingOffset;cLength=0;var uncollapsedSpaces=0;var currentChar;for(i=0;i<len;i+=1){newLineFlag=false;currentChar=documentData.finalText[i];charCode=currentChar.charCodeAt(0);if(charCode===13||charCode===3){uncollapsedSpaces=0;lineWidths.push(lineWidth);maxLineWidth=lineWidth>maxLineWidth?lineWidth:maxLineWidth;lineWidth=-2*trackingOffset;val='';newLineFlag=true;currentLine+=1;}else{val=currentChar;} 840if(fontManager.chars){charData=fontManager.getCharData(currentChar,fontData.fStyle,fontManager.getFontByName(documentData.f).fFamily);cLength=newLineFlag?0:charData.w*documentData.finalSize / 100;}else{cLength=fontManager.measureText(val,documentData.f,documentData.finalSize);} 841if(currentChar===' '){uncollapsedSpaces+=cLength+trackingOffset;}else{lineWidth+=cLength+trackingOffset+uncollapsedSpaces;uncollapsedSpaces=0;} 842letters.push({l:cLength,an:cLength,add:currentSize,n:newLineFlag,anIndexes:[],val:val,line:currentLine,animatorJustifyOffset:0});if(anchorGrouping==2){currentSize+=cLength;if(val===''||val===' '||i===len-1){if(val===''||val===' '){currentSize-=cLength;} 843while(currentPos<=i){letters[currentPos].an=currentSize;letters[currentPos].ind=index;letters[currentPos].extra=cLength;currentPos+=1;} 844index+=1;currentSize=0;}}else if(anchorGrouping==3){currentSize+=cLength;if(val===''||i===len-1){if(val===''){currentSize-=cLength;} 845while(currentPos<=i){letters[currentPos].an=currentSize;letters[currentPos].ind=index;letters[currentPos].extra=cLength;currentPos+=1;} 846currentSize=0;index+=1;}}else{letters[index].ind=index;letters[index].extra=0;index+=1;}} 847documentData.l=letters;maxLineWidth=lineWidth>maxLineWidth?lineWidth:maxLineWidth;lineWidths.push(lineWidth);if(documentData.sz){documentData.boxWidth=documentData.sz[0];documentData.justifyOffset=0;}else{documentData.boxWidth=maxLineWidth;switch(documentData.j){case 1:documentData.justifyOffset=-documentData.boxWidth;break;case 2:documentData.justifyOffset=-documentData.boxWidth / 2;break;default:documentData.justifyOffset=0;}} 848documentData.lineWidths=lineWidths;var animators=data.a;var animatorData;var letterData;jLen=animators.length;var based;var ind;var indexes=[];for(j=0;j<jLen;j+=1){animatorData=animators[j];if(animatorData.a.sc){documentData.strokeColorAnim=true;} 849if(animatorData.a.sw){documentData.strokeWidthAnim=true;} 850if(animatorData.a.fc||animatorData.a.fh||animatorData.a.fs||animatorData.a.fb){documentData.fillColorAnim=true;} 851ind=0;based=animatorData.s.b;for(i=0;i<len;i+=1){letterData=letters[i];letterData.anIndexes[j]=ind;if(based==1&&letterData.val!==''||based==2&&letterData.val!==''&&letterData.val!==' '||based==3&&(letterData.n||letterData.val==' '||i==len-1)||based==4&&(letterData.n||i==len-1)){if(animatorData.s.rn===1){indexes.push(ind);} 852ind+=1;}} 853data.a[j].s.totalChars=ind;var currentInd=-1;var newInd;if(animatorData.s.rn===1){for(i=0;i<len;i+=1){letterData=letters[i];if(currentInd!=letterData.anIndexes[j]){currentInd=letterData.anIndexes[j];newInd=indexes.splice(Math.floor(Math.random()*indexes.length),1)[0];} 854letterData.anIndexes[j]=newInd;}}} 855documentData.yOffset=documentData.finalLineHeight||documentData.finalSize*1.2;documentData.ls=documentData.ls||0;documentData.ascent=fontData.ascent*documentData.finalSize / 100;};TextProperty.prototype.updateDocumentData=function(newData,index){index=index===undefined?this.keysIndex:index;var dData=this.copyData({},this.data.d.k[index].s);dData=this.copyData(dData,newData);this.data.d.k[index].s=dData;this.recalculate(index);this.elem.addDynamicProperty(this);};TextProperty.prototype.recalculate=function(index){var dData=this.data.d.k[index].s;dData.__complete=false;this.keysIndex=0;this._isFirstFrame=true;this.getValue(dData);};TextProperty.prototype.canResizeFont=function(_canResize){this.canResize=_canResize;this.recalculate(this.keysIndex);this.elem.addDynamicProperty(this);};TextProperty.prototype.setMinimumFontSize=function(_fontValue){this.minimumFontSize=Math.floor(_fontValue)||1;this.recalculate(this.keysIndex);this.elem.addDynamicProperty(this);};var TextSelectorProp=function(){var max=Math.max;var min=Math.min;var floor=Math.floor;function TextSelectorPropFactory(elem,data){this._currentTextLength=-1;this.k=false;this.data=data;this.elem=elem;this.comp=elem.comp;this.finalS=0;this.finalE=0;this.initDynamicPropertyContainer(elem);this.s=PropertyFactory.getProp(elem,data.s||{k:0},0,0,this);if('e'in data){this.e=PropertyFactory.getProp(elem,data.e,0,0,this);}else{this.e={v:100};} 856this.o=PropertyFactory.getProp(elem,data.o||{k:0},0,0,this);this.xe=PropertyFactory.getProp(elem,data.xe||{k:0},0,0,this);this.ne=PropertyFactory.getProp(elem,data.ne||{k:0},0,0,this);this.sm=PropertyFactory.getProp(elem,data.sm||{k:100},0,0,this);this.a=PropertyFactory.getProp(elem,data.a,0,0.01,this);if(!this.dynamicProperties.length){this.getValue();}} 857TextSelectorPropFactory.prototype={getMult:function getMult(ind){if(this._currentTextLength!==this.elem.textProperty.currentData.l.length){this.getValue();} 858var x1=0;var y1=0;var x2=1;var y2=1;if(this.ne.v>0){x1=this.ne.v / 100.0;}else{y1=-this.ne.v / 100.0;} 859if(this.xe.v>0){x2=1.0-this.xe.v / 100.0;}else{y2=1.0+this.xe.v / 100.0;} 860var easer=BezierFactory.getBezierEasing(x1,y1,x2,y2).get;var mult=0;var s=this.finalS;var e=this.finalE;var type=this.data.sh;if(type===2){if(e===s){mult=ind>=e?1:0;}else{mult=max(0,min(0.5 /(e-s)+(ind-s)/(e-s),1));} 861mult=easer(mult);}else if(type===3){if(e===s){mult=ind>=e?0:1;}else{mult=1-max(0,min(0.5 /(e-s)+(ind-s)/(e-s),1));} 862mult=easer(mult);}else if(type===4){if(e===s){mult=0;}else{mult=max(0,min(0.5 /(e-s)+(ind-s)/(e-s),1));if(mult<0.5){mult*=2;}else{mult=1-2*(mult-0.5);}} 863mult=easer(mult);}else if(type===5){if(e===s){mult=0;}else{var tot=e-s;ind=min(max(0,ind+0.5-s),e-s);var x=-tot / 2+ind;var a=tot / 2;mult=Math.sqrt(1-x*x /(a*a));} 864mult=easer(mult);}else if(type===6){if(e===s){mult=0;}else{ind=min(max(0,ind+0.5-s),e-s);mult=(1+Math.cos(Math.PI+Math.PI*2*ind /(e-s)))/ 2;} 865mult=easer(mult);}else{if(ind>=floor(s)){if(ind-s<0){mult=max(0,min(min(e,1)-(s-ind),1));}else{mult=max(0,min(e-ind,1));}} 866mult=easer(mult);} 867if(this.sm.v!==100){var smoothness=this.sm.v*0.01;if(smoothness===0){smoothness=0.00000001;} 868var threshold=0.5-smoothness*0.5;if(mult<threshold){mult=0;}else{mult=(mult-threshold)/ smoothness;if(mult>1){mult=1;}}} 869return mult*this.a.v;},getValue:function getValue(newCharsFlag){this.iterateDynamicProperties();this._mdf=newCharsFlag||this._mdf;this._currentTextLength=this.elem.textProperty.currentData.l.length||0;if(newCharsFlag&&this.data.r===2){this.e.v=this._currentTextLength;} 870var divisor=this.data.r===2?1:100 / this.data.totalChars;var o=this.o.v / divisor;var s=this.s.v / divisor+o;var e=this.e.v / divisor+o;if(s>e){var _s=s;s=e;e=_s;} 871this.finalS=s;this.finalE=e;}};extendPrototype([DynamicPropertyContainer],TextSelectorPropFactory);function getTextSelectorProp(elem,data,arr){return new TextSelectorPropFactory(elem,data,arr);} 872return{getTextSelectorProp:getTextSelectorProp};}();function TextAnimatorDataProperty(elem,animatorProps,container){var defaultData={propType:false};var getProp=PropertyFactory.getProp;var textAnimatorAnimatables=animatorProps.a;this.a={r:textAnimatorAnimatables.r?getProp(elem,textAnimatorAnimatables.r,0,degToRads,container):defaultData,rx:textAnimatorAnimatables.rx?getProp(elem,textAnimatorAnimatables.rx,0,degToRads,container):defaultData,ry:textAnimatorAnimatables.ry?getProp(elem,textAnimatorAnimatables.ry,0,degToRads,container):defaultData,sk:textAnimatorAnimatables.sk?getProp(elem,textAnimatorAnimatables.sk,0,degToRads,container):defaultData,sa:textAnimatorAnimatables.sa?getProp(elem,textAnimatorAnimatables.sa,0,degToRads,container):defaultData,s:textAnimatorAnimatables.s?getProp(elem,textAnimatorAnimatables.s,1,0.01,container):defaultData,a:textAnimatorAnimatables.a?getProp(elem,textAnimatorAnimatables.a,1,0,container):defaultData,o:textAnimatorAnimatables.o?getProp(elem,textAnimatorAnimatables.o,0,0.01,container):defaultData,p:textAnimatorAnimatables.p?getProp(elem,textAnimatorAnimatables.p,1,0,container):defaultData,sw:textAnimatorAnimatables.sw?getProp(elem,textAnimatorAnimatables.sw,0,0,container):defaultData,sc:textAnimatorAnimatables.sc?getProp(elem,textAnimatorAnimatables.sc,1,0,container):defaultData,fc:textAnimatorAnimatables.fc?getProp(elem,textAnimatorAnimatables.fc,1,0,container):defaultData,fh:textAnimatorAnimatables.fh?getProp(elem,textAnimatorAnimatables.fh,0,0,container):defaultData,fs:textAnimatorAnimatables.fs?getProp(elem,textAnimatorAnimatables.fs,0,0.01,container):defaultData,fb:textAnimatorAnimatables.fb?getProp(elem,textAnimatorAnimatables.fb,0,0.01,container):defaultData,t:textAnimatorAnimatables.t?getProp(elem,textAnimatorAnimatables.t,0,0,container):defaultData};this.s=TextSelectorProp.getTextSelectorProp(elem,animatorProps.s,container);this.s.t=animatorProps.s.t;} 873function TextAnimatorProperty(textData,renderType,elem){this._isFirstFrame=true;this._hasMaskedPath=false;this._frameId=-1;this._textData=textData;this._renderType=renderType;this._elem=elem;this._animatorsData=createSizedArray(this._textData.a.length);this._pathData={};this._moreOptions={alignment:{}};this.renderedLetters=[];this.lettersChangedFlag=false;this.initDynamicPropertyContainer(elem);} 874TextAnimatorProperty.prototype.searchProperties=function(){var i;var len=this._textData.a.length;var animatorProps;var getProp=PropertyFactory.getProp;for(i=0;i<len;i+=1){animatorProps=this._textData.a[i];this._animatorsData[i]=new TextAnimatorDataProperty(this._elem,animatorProps,this);} 875if(this._textData.p&&'m'in this._textData.p){this._pathData={a:getProp(this._elem,this._textData.p.a,0,0,this),f:getProp(this._elem,this._textData.p.f,0,0,this),l:getProp(this._elem,this._textData.p.l,0,0,this),r:getProp(this._elem,this._textData.p.r,0,0,this),p:getProp(this._elem,this._textData.p.p,0,0,this),m:this._elem.maskManager.getMaskProperty(this._textData.p.m)};this._hasMaskedPath=true;}else{this._hasMaskedPath=false;} 876this._moreOptions.alignment=getProp(this._elem,this._textData.m.a,1,0,this);};TextAnimatorProperty.prototype.getMeasures=function(documentData,lettersChangedFlag){this.lettersChangedFlag=lettersChangedFlag;if(!this._mdf&&!this._isFirstFrame&&!lettersChangedFlag&&(!this._hasMaskedPath||!this._pathData.m._mdf)){return;} 877this._isFirstFrame=false;var alignment=this._moreOptions.alignment.v;var animators=this._animatorsData;var textData=this._textData;var matrixHelper=this.mHelper;var renderType=this._renderType;var renderedLettersCount=this.renderedLetters.length;var xPos;var yPos;var i;var len;var letters=documentData.l;var pathInfo;var currentLength;var currentPoint;var segmentLength;var flag;var pointInd;var segmentInd;var prevPoint;var points;var segments;var partialLength;var totalLength;var perc;var tanAngle;var mask;if(this._hasMaskedPath){mask=this._pathData.m;if(!this._pathData.n||this._pathData._mdf){var paths=mask.v;if(this._pathData.r.v){paths=paths.reverse();} 878pathInfo={tLength:0,segments:[]};len=paths._length-1;var bezierData;totalLength=0;for(i=0;i<len;i+=1){bezierData=bez.buildBezierData(paths.v[i],paths.v[i+1],[paths.o[i][0]-paths.v[i][0],paths.o[i][1]-paths.v[i][1]],[paths.i[i+1][0]-paths.v[i+1][0],paths.i[i+1][1]-paths.v[i+1][1]]);pathInfo.tLength+=bezierData.segmentLength;pathInfo.segments.push(bezierData);totalLength+=bezierData.segmentLength;} 879i=len;if(mask.v.c){bezierData=bez.buildBezierData(paths.v[i],paths.v[0],[paths.o[i][0]-paths.v[i][0],paths.o[i][1]-paths.v[i][1]],[paths.i[0][0]-paths.v[0][0],paths.i[0][1]-paths.v[0][1]]);pathInfo.tLength+=bezierData.segmentLength;pathInfo.segments.push(bezierData);totalLength+=bezierData.segmentLength;} 880this._pathData.pi=pathInfo;} 881pathInfo=this._pathData.pi;currentLength=this._pathData.f.v;segmentInd=0;pointInd=1;segmentLength=0;flag=true;segments=pathInfo.segments;if(currentLength<0&&mask.v.c){if(pathInfo.tLength<Math.abs(currentLength)){currentLength=-Math.abs(currentLength)%pathInfo.tLength;} 882segmentInd=segments.length-1;points=segments[segmentInd].points;pointInd=points.length-1;while(currentLength<0){currentLength+=points[pointInd].partialLength;pointInd-=1;if(pointInd<0){segmentInd-=1;points=segments[segmentInd].points;pointInd=points.length-1;}}} 883points=segments[segmentInd].points;prevPoint=points[pointInd-1];currentPoint=points[pointInd];partialLength=currentPoint.partialLength;} 884len=letters.length;xPos=0;yPos=0;var yOff=documentData.finalSize*1.2*0.714;var firstLine=true;var animatorProps;var animatorSelector;var j;var jLen;var letterValue;jLen=animators.length;var mult;var ind=-1;var offf;var xPathPos;var yPathPos;var initPathPos=currentLength;var initSegmentInd=segmentInd;var initPointInd=pointInd;var currentLine=-1;var elemOpacity;var sc;var sw;var fc;var k;var letterSw;var letterSc;var letterFc;var letterM='';var letterP=this.defaultPropsArray;var letterO;if(documentData.j===2||documentData.j===1){var animatorJustifyOffset=0;var animatorFirstCharOffset=0;var justifyOffsetMult=documentData.j===2?-0.5:-1;var lastIndex=0;var isNewLine=true;for(i=0;i<len;i+=1){if(letters[i].n){if(animatorJustifyOffset){animatorJustifyOffset+=animatorFirstCharOffset;} 885while(lastIndex<i){letters[lastIndex].animatorJustifyOffset=animatorJustifyOffset;lastIndex+=1;} 886animatorJustifyOffset=0;isNewLine=true;}else{for(j=0;j<jLen;j+=1){animatorProps=animators[j].a;if(animatorProps.t.propType){if(isNewLine&&documentData.j===2){animatorFirstCharOffset+=animatorProps.t.v*justifyOffsetMult;} 887animatorSelector=animators[j].s;mult=animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);if(mult.length){animatorJustifyOffset+=animatorProps.t.v*mult[0]*justifyOffsetMult;}else{animatorJustifyOffset+=animatorProps.t.v*mult*justifyOffsetMult;}}} 888isNewLine=false;}} 889if(animatorJustifyOffset){animatorJustifyOffset+=animatorFirstCharOffset;} 890while(lastIndex<i){letters[lastIndex].animatorJustifyOffset=animatorJustifyOffset;lastIndex+=1;}} 891for(i=0;i<len;i+=1){matrixHelper.reset();elemOpacity=1;if(letters[i].n){xPos=0;yPos+=documentData.yOffset;yPos+=firstLine?1:0;currentLength=initPathPos;firstLine=false;if(this._hasMaskedPath){segmentInd=initSegmentInd;pointInd=initPointInd;points=segments[segmentInd].points;prevPoint=points[pointInd-1];currentPoint=points[pointInd];partialLength=currentPoint.partialLength;segmentLength=0;} 892letterM='';letterFc='';letterSw='';letterO='';letterP=this.defaultPropsArray;}else{if(this._hasMaskedPath){if(currentLine!==letters[i].line){switch(documentData.j){case 1:currentLength+=totalLength-documentData.lineWidths[letters[i].line];break;case 2:currentLength+=(totalLength-documentData.lineWidths[letters[i].line])/ 2;break;default:break;} 893currentLine=letters[i].line;} 894if(ind!==letters[i].ind){if(letters[ind]){currentLength+=letters[ind].extra;} 895currentLength+=letters[i].an / 2;ind=letters[i].ind;} 896currentLength+=alignment[0]*letters[i].an*0.005;var animatorOffset=0;for(j=0;j<jLen;j+=1){animatorProps=animators[j].a;if(animatorProps.p.propType){animatorSelector=animators[j].s;mult=animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);if(mult.length){animatorOffset+=animatorProps.p.v[0]*mult[0];}else{animatorOffset+=animatorProps.p.v[0]*mult;}} 897if(animatorProps.a.propType){animatorSelector=animators[j].s;mult=animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);if(mult.length){animatorOffset+=animatorProps.a.v[0]*mult[0];}else{animatorOffset+=animatorProps.a.v[0]*mult;}}} 898flag=true;if(this._pathData.a.v){currentLength=letters[0].an*0.5+(totalLength-this._pathData.f.v-letters[0].an*0.5-letters[letters.length-1].an*0.5)*ind /(len-1);currentLength+=this._pathData.f.v;} 899while(flag){if(segmentLength+partialLength>=currentLength+animatorOffset||!points){perc=(currentLength+animatorOffset-segmentLength)/ currentPoint.partialLength;xPathPos=prevPoint.point[0]+(currentPoint.point[0]-prevPoint.point[0])*perc;yPathPos=prevPoint.point[1]+(currentPoint.point[1]-prevPoint.point[1])*perc;matrixHelper.translate(-alignment[0]*letters[i].an*0.005,-(alignment[1]*yOff)*0.01);flag=false;}else if(points){segmentLength+=currentPoint.partialLength;pointInd+=1;if(pointInd>=points.length){pointInd=0;segmentInd+=1;if(!segments[segmentInd]){if(mask.v.c){pointInd=0;segmentInd=0;points=segments[segmentInd].points;}else{segmentLength-=currentPoint.partialLength;points=null;}}else{points=segments[segmentInd].points;}} 900if(points){prevPoint=currentPoint;currentPoint=points[pointInd];partialLength=currentPoint.partialLength;}}} 901offf=letters[i].an / 2-letters[i].add;matrixHelper.translate(-offf,0,0);}else{offf=letters[i].an / 2-letters[i].add;matrixHelper.translate(-offf,0,0);matrixHelper.translate(-alignment[0]*letters[i].an*0.005,-alignment[1]*yOff*0.01,0);} 902for(j=0;j<jLen;j+=1){animatorProps=animators[j].a;if(animatorProps.t.propType){animatorSelector=animators[j].s;mult=animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);if(xPos!==0||documentData.j!==0){if(this._hasMaskedPath){if(mult.length){currentLength+=animatorProps.t.v*mult[0];}else{currentLength+=animatorProps.t.v*mult;}}else if(mult.length){xPos+=animatorProps.t.v*mult[0];}else{xPos+=animatorProps.t.v*mult;}}}} 903if(documentData.strokeWidthAnim){sw=documentData.sw||0;} 904if(documentData.strokeColorAnim){if(documentData.sc){sc=[documentData.sc[0],documentData.sc[1],documentData.sc[2]];}else{sc=[0,0,0];}} 905if(documentData.fillColorAnim&&documentData.fc){fc=[documentData.fc[0],documentData.fc[1],documentData.fc[2]];} 906for(j=0;j<jLen;j+=1){animatorProps=animators[j].a;if(animatorProps.a.propType){animatorSelector=animators[j].s;mult=animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);if(mult.length){matrixHelper.translate(-animatorProps.a.v[0]*mult[0],-animatorProps.a.v[1]*mult[1],animatorProps.a.v[2]*mult[2]);}else{matrixHelper.translate(-animatorProps.a.v[0]*mult,-animatorProps.a.v[1]*mult,animatorProps.a.v[2]*mult);}}} 907for(j=0;j<jLen;j+=1){animatorProps=animators[j].a;if(animatorProps.s.propType){animatorSelector=animators[j].s;mult=animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);if(mult.length){matrixHelper.scale(1+(animatorProps.s.v[0]-1)*mult[0],1+(animatorProps.s.v[1]-1)*mult[1],1);}else{matrixHelper.scale(1+(animatorProps.s.v[0]-1)*mult,1+(animatorProps.s.v[1]-1)*mult,1);}}} 908for(j=0;j<jLen;j+=1){animatorProps=animators[j].a;animatorSelector=animators[j].s;mult=animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);if(animatorProps.sk.propType){if(mult.length){matrixHelper.skewFromAxis(-animatorProps.sk.v*mult[0],animatorProps.sa.v*mult[1]);}else{matrixHelper.skewFromAxis(-animatorProps.sk.v*mult,animatorProps.sa.v*mult);}} 909if(animatorProps.r.propType){if(mult.length){matrixHelper.rotateZ(-animatorProps.r.v*mult[2]);}else{matrixHelper.rotateZ(-animatorProps.r.v*mult);}} 910if(animatorProps.ry.propType){if(mult.length){matrixHelper.rotateY(animatorProps.ry.v*mult[1]);}else{matrixHelper.rotateY(animatorProps.ry.v*mult);}} 911if(animatorProps.rx.propType){if(mult.length){matrixHelper.rotateX(animatorProps.rx.v*mult[0]);}else{matrixHelper.rotateX(animatorProps.rx.v*mult);}} 912if(animatorProps.o.propType){if(mult.length){elemOpacity+=(animatorProps.o.v*mult[0]-elemOpacity)*mult[0];}else{elemOpacity+=(animatorProps.o.v*mult-elemOpacity)*mult;}} 913if(documentData.strokeWidthAnim&&animatorProps.sw.propType){if(mult.length){sw+=animatorProps.sw.v*mult[0];}else{sw+=animatorProps.sw.v*mult;}} 914if(documentData.strokeColorAnim&&animatorProps.sc.propType){for(k=0;k<3;k+=1){if(mult.length){sc[k]+=(animatorProps.sc.v[k]-sc[k])*mult[0];}else{sc[k]+=(animatorProps.sc.v[k]-sc[k])*mult;}}} 915if(documentData.fillColorAnim&&documentData.fc){if(animatorProps.fc.propType){for(k=0;k<3;k+=1){if(mult.length){fc[k]+=(animatorProps.fc.v[k]-fc[k])*mult[0];}else{fc[k]+=(animatorProps.fc.v[k]-fc[k])*mult;}}} 916if(animatorProps.fh.propType){if(mult.length){fc=addHueToRGB(fc,animatorProps.fh.v*mult[0]);}else{fc=addHueToRGB(fc,animatorProps.fh.v*mult);}} 917if(animatorProps.fs.propType){if(mult.length){fc=addSaturationToRGB(fc,animatorProps.fs.v*mult[0]);}else{fc=addSaturationToRGB(fc,animatorProps.fs.v*mult);}} 918if(animatorProps.fb.propType){if(mult.length){fc=addBrightnessToRGB(fc,animatorProps.fb.v*mult[0]);}else{fc=addBrightnessToRGB(fc,animatorProps.fb.v*mult);}}}} 919for(j=0;j<jLen;j+=1){animatorProps=animators[j].a;if(animatorProps.p.propType){animatorSelector=animators[j].s;mult=animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);if(this._hasMaskedPath){if(mult.length){matrixHelper.translate(0,animatorProps.p.v[1]*mult[0],-animatorProps.p.v[2]*mult[1]);}else{matrixHelper.translate(0,animatorProps.p.v[1]*mult,-animatorProps.p.v[2]*mult);}}else if(mult.length){matrixHelper.translate(animatorProps.p.v[0]*mult[0],animatorProps.p.v[1]*mult[1],-animatorProps.p.v[2]*mult[2]);}else{matrixHelper.translate(animatorProps.p.v[0]*mult,animatorProps.p.v[1]*mult,-animatorProps.p.v[2]*mult);}}} 920if(documentData.strokeWidthAnim){letterSw=sw<0?0:sw;} 921if(documentData.strokeColorAnim){letterSc='rgb('+Math.round(sc[0]*255)+','+Math.round(sc[1]*255)+','+Math.round(sc[2]*255)+')';} 922if(documentData.fillColorAnim&&documentData.fc){letterFc='rgb('+Math.round(fc[0]*255)+','+Math.round(fc[1]*255)+','+Math.round(fc[2]*255)+')';} 923if(this._hasMaskedPath){matrixHelper.translate(0,-documentData.ls);matrixHelper.translate(0,alignment[1]*yOff*0.01+yPos,0);if(this._pathData.p.v){tanAngle=(currentPoint.point[1]-prevPoint.point[1])/(currentPoint.point[0]-prevPoint.point[0]);var rot=Math.atan(tanAngle)*180 / Math.PI;if(currentPoint.point[0]<prevPoint.point[0]){rot+=180;} 924matrixHelper.rotate(-rot*Math.PI / 180);} 925matrixHelper.translate(xPathPos,yPathPos,0);currentLength-=alignment[0]*letters[i].an*0.005;if(letters[i+1]&&ind!==letters[i+1].ind){currentLength+=letters[i].an / 2;currentLength+=documentData.tr*0.001*documentData.finalSize;}}else{matrixHelper.translate(xPos,yPos,0);if(documentData.ps){matrixHelper.translate(documentData.ps[0],documentData.ps[1]+documentData.ascent,0);} 926switch(documentData.j){case 1:matrixHelper.translate(letters[i].animatorJustifyOffset+documentData.justifyOffset+(documentData.boxWidth-documentData.lineWidths[letters[i].line]),0,0);break;case 2:matrixHelper.translate(letters[i].animatorJustifyOffset+documentData.justifyOffset+(documentData.boxWidth-documentData.lineWidths[letters[i].line])/ 2,0,0);break;default:break;} 927matrixHelper.translate(0,-documentData.ls);matrixHelper.translate(offf,0,0);matrixHelper.translate(alignment[0]*letters[i].an*0.005,alignment[1]*yOff*0.01,0);xPos+=letters[i].l+documentData.tr*0.001*documentData.finalSize;} 928if(renderType==='html'){letterM=matrixHelper.toCSS();}else if(renderType==='svg'){letterM=matrixHelper.to2dCSS();}else{letterP=[matrixHelper.props[0],matrixHelper.props[1],matrixHelper.props[2],matrixHelper.props[3],matrixHelper.props[4],matrixHelper.props[5],matrixHelper.props[6],matrixHelper.props[7],matrixHelper.props[8],matrixHelper.props[9],matrixHelper.props[10],matrixHelper.props[11],matrixHelper.props[12],matrixHelper.props[13],matrixHelper.props[14],matrixHelper.props[15]];} 929letterO=elemOpacity;} 930if(renderedLettersCount<=i){letterValue=new LetterProps(letterO,letterSw,letterSc,letterFc,letterM,letterP);this.renderedLetters.push(letterValue);renderedLettersCount+=1;this.lettersChangedFlag=true;}else{letterValue=this.renderedLetters[i];this.lettersChangedFlag=letterValue.update(letterO,letterSw,letterSc,letterFc,letterM,letterP)||this.lettersChangedFlag;}}};TextAnimatorProperty.prototype.getValue=function(){if(this._elem.globalData.frameId===this._frameId){return;} 931this._frameId=this._elem.globalData.frameId;this.iterateDynamicProperties();};TextAnimatorProperty.prototype.mHelper=new Matrix();TextAnimatorProperty.prototype.defaultPropsArray=[];extendPrototype([DynamicPropertyContainer],TextAnimatorProperty);function ITextElement(){} 932ITextElement.prototype.initElement=function(data,globalData,comp){this.lettersChangedFlag=true;this.initFrame();this.initBaseData(data,globalData,comp);this.textProperty=new TextProperty(this,data.t,this.dynamicProperties);this.textAnimator=new TextAnimatorProperty(data.t,this.renderType,this);this.initTransform(data,globalData,comp);this.initHierarchy();this.initRenderable();this.initRendererElement();this.createContainerElements();this.createRenderableComponents();this.createContent();this.hide();this.textAnimator.searchProperties(this.dynamicProperties);};ITextElement.prototype.prepareFrame=function(num){this._mdf=false;this.prepareRenderableFrame(num);this.prepareProperties(num,this.isInRange);if(this.textProperty._mdf||this.textProperty._isFirstFrame){this.buildNewText();this.textProperty._isFirstFrame=false;this.textProperty._mdf=false;}};ITextElement.prototype.createPathShape=function(matrixHelper,shapes){var j;var jLen=shapes.length;var pathNodes;var shapeStr='';for(j=0;j<jLen;j+=1){if(shapes[j].ty==='sh'){pathNodes=shapes[j].ks.k;shapeStr+=buildShapeString(pathNodes,pathNodes.i.length,true,matrixHelper);}} 933return shapeStr;};ITextElement.prototype.updateDocumentData=function(newData,index){this.textProperty.updateDocumentData(newData,index);};ITextElement.prototype.canResizeFont=function(_canResize){this.textProperty.canResizeFont(_canResize);};ITextElement.prototype.setMinimumFontSize=function(_fontSize){this.textProperty.setMinimumFontSize(_fontSize);};ITextElement.prototype.applyTextPropertiesToMatrix=function(documentData,matrixHelper,lineNumber,xPos,yPos){if(documentData.ps){matrixHelper.translate(documentData.ps[0],documentData.ps[1]+documentData.ascent,0);} 934matrixHelper.translate(0,-documentData.ls,0);switch(documentData.j){case 1:matrixHelper.translate(documentData.justifyOffset+(documentData.boxWidth-documentData.lineWidths[lineNumber]),0,0);break;case 2:matrixHelper.translate(documentData.justifyOffset+(documentData.boxWidth-documentData.lineWidths[lineNumber])/ 2,0,0);break;default:break;} 935matrixHelper.translate(xPos,yPos,0);};ITextElement.prototype.buildColor=function(colorData){return'rgb('+Math.round(colorData[0]*255)+','+Math.round(colorData[1]*255)+','+Math.round(colorData[2]*255)+')';};ITextElement.prototype.emptyProp=new LetterProps();ITextElement.prototype.destroy=function(){};var emptyShapeData={shapes:[]};function SVGTextLottieElement(data,globalData,comp){this.textSpans=[];this.renderType='svg';this.initElement(data,globalData,comp);} 936extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],SVGTextLottieElement);SVGTextLottieElement.prototype.createContent=function(){if(this.data.singleShape&&!this.globalData.fontManager.chars){this.textContainer=createNS('text');}};SVGTextLottieElement.prototype.buildTextContents=function(textArray){var i=0;var len=textArray.length;var textContents=[];var currentTextContent='';while(i<len){if(textArray[i]===String.fromCharCode(13)||textArray[i]===String.fromCharCode(3)){textContents.push(currentTextContent);currentTextContent='';}else{currentTextContent+=textArray[i];} 937i+=1;} 938textContents.push(currentTextContent);return textContents;};SVGTextLottieElement.prototype.buildShapeData=function(data,scale){if(data.shapes&&data.shapes.length){var shape=data.shapes[0];if(shape.it){var shapeItem=shape.it[shape.it.length-1];if(shapeItem.s){shapeItem.s.k[0]=scale;shapeItem.s.k[1]=scale;}}} 939return data;};SVGTextLottieElement.prototype.buildNewText=function(){this.addDynamicProperty(this);var i;var len;var documentData=this.textProperty.currentData;this.renderedLetters=createSizedArray(documentData?documentData.l.length:0);if(documentData.fc){this.layerElement.setAttribute('fill',this.buildColor(documentData.fc));}else{this.layerElement.setAttribute('fill','rgba(0,0,0,0)');} 940if(documentData.sc){this.layerElement.setAttribute('stroke',this.buildColor(documentData.sc));this.layerElement.setAttribute('stroke-width',documentData.sw);} 941this.layerElement.setAttribute('font-size',documentData.finalSize);var fontData=this.globalData.fontManager.getFontByName(documentData.f);if(fontData.fClass){this.layerElement.setAttribute('class',fontData.fClass);}else{this.layerElement.setAttribute('font-family',fontData.fFamily);var fWeight=documentData.fWeight;var fStyle=documentData.fStyle;this.layerElement.setAttribute('font-style',fStyle);this.layerElement.setAttribute('font-weight',fWeight);} 942this.layerElement.setAttribute('aria-label',documentData.t);var letters=documentData.l||[];var usesGlyphs=!!this.globalData.fontManager.chars;len=letters.length;var tSpan;var matrixHelper=this.mHelper;var shapeStr='';var singleShape=this.data.singleShape;var xPos=0;var yPos=0;var firstLine=true;var trackingOffset=documentData.tr*0.001*documentData.finalSize;if(singleShape&&!usesGlyphs&&!documentData.sz){var tElement=this.textContainer;var justify='start';switch(documentData.j){case 1:justify='end';break;case 2:justify='middle';break;default:justify='start';break;} 943tElement.setAttribute('text-anchor',justify);tElement.setAttribute('letter-spacing',trackingOffset);var textContent=this.buildTextContents(documentData.finalText);len=textContent.length;yPos=documentData.ps?documentData.ps[1]+documentData.ascent:0;for(i=0;i<len;i+=1){tSpan=this.textSpans[i].span||createNS('tspan');tSpan.textContent=textContent[i];tSpan.setAttribute('x',0);tSpan.setAttribute('y',yPos);tSpan.style.display='inherit';tElement.appendChild(tSpan);if(!this.textSpans[i]){this.textSpans[i]={span:null,glyph:null};} 944this.textSpans[i].span=tSpan;yPos+=documentData.finalLineHeight;} 945this.layerElement.appendChild(tElement);}else{var cachedSpansLength=this.textSpans.length;var charData;for(i=0;i<len;i+=1){if(!this.textSpans[i]){this.textSpans[i]={span:null,childSpan:null,glyph:null};} 946if(!usesGlyphs||!singleShape||i===0){tSpan=cachedSpansLength>i?this.textSpans[i].span:createNS(usesGlyphs?'g':'text');if(cachedSpansLength<=i){tSpan.setAttribute('stroke-linecap','butt');tSpan.setAttribute('stroke-linejoin','round');tSpan.setAttribute('stroke-miterlimit','4');this.textSpans[i].span=tSpan;if(usesGlyphs){var childSpan=createNS('g');tSpan.appendChild(childSpan);this.textSpans[i].childSpan=childSpan;} 947this.textSpans[i].span=tSpan;this.layerElement.appendChild(tSpan);} 948tSpan.style.display='inherit';} 949matrixHelper.reset();if(singleShape){if(letters[i].n){xPos=-trackingOffset;yPos+=documentData.yOffset;yPos+=firstLine?1:0;firstLine=false;} 950this.applyTextPropertiesToMatrix(documentData,matrixHelper,letters[i].line,xPos,yPos);xPos+=letters[i].l||0;xPos+=trackingOffset;} 951if(usesGlyphs){charData=this.globalData.fontManager.getCharData(documentData.finalText[i],fontData.fStyle,this.globalData.fontManager.getFontByName(documentData.f).fFamily);var glyphElement;if(charData.t===1){glyphElement=new SVGCompElement(charData.data,this.globalData,this);}else{var data=emptyShapeData;if(charData.data&&charData.data.shapes){data=this.buildShapeData(charData.data,documentData.finalSize);} 952glyphElement=new SVGShapeElement(data,this.globalData,this);} 953if(this.textSpans[i].glyph){var glyph=this.textSpans[i].glyph;this.textSpans[i].childSpan.removeChild(glyph.layerElement);glyph.destroy();} 954this.textSpans[i].glyph=glyphElement;glyphElement._debug=true;glyphElement.prepareFrame(0);glyphElement.renderFrame();this.textSpans[i].childSpan.appendChild(glyphElement.layerElement);if(charData.t===1){this.textSpans[i].childSpan.setAttribute('transform','scale('+documentData.finalSize / 100+','+documentData.finalSize / 100+')');}}else{if(singleShape){tSpan.setAttribute('transform','translate('+matrixHelper.props[12]+','+matrixHelper.props[13]+')');} 955tSpan.textContent=letters[i].val;tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace','xml:space','preserve');}} 956if(singleShape&&tSpan){tSpan.setAttribute('d',shapeStr);}} 957while(i<this.textSpans.length){this.textSpans[i].span.style.display='none';i+=1;} 958this._sizeChanged=true;};SVGTextLottieElement.prototype.sourceRectAtTime=function(){this.prepareFrame(this.comp.renderedFrame-this.data.st);this.renderInnerContent();if(this._sizeChanged){this._sizeChanged=false;var textBox=this.layerElement.getBBox();this.bbox={top:textBox.y,left:textBox.x,width:textBox.width,height:textBox.height};} 959return this.bbox;};SVGTextLottieElement.prototype.getValue=function(){var i;var len=this.textSpans.length;var glyphElement;this.renderedFrame=this.comp.renderedFrame;for(i=0;i<len;i+=1){glyphElement=this.textSpans[i].glyph;if(glyphElement){glyphElement.prepareFrame(this.comp.renderedFrame-this.data.st);if(glyphElement._mdf){this._mdf=true;}}}};SVGTextLottieElement.prototype.renderInnerContent=function(){if(!this.data.singleShape||this._mdf){this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag);if(this.lettersChangedFlag||this.textAnimator.lettersChangedFlag){this._sizeChanged=true;var i;var len;var renderedLetters=this.textAnimator.renderedLetters;var letters=this.textProperty.currentData.l;len=letters.length;var renderedLetter;var textSpan;var glyphElement;for(i=0;i<len;i+=1){if(!letters[i].n){renderedLetter=renderedLetters[i];textSpan=this.textSpans[i].span;glyphElement=this.textSpans[i].glyph;if(glyphElement){glyphElement.renderFrame();} 960if(renderedLetter._mdf.m){textSpan.setAttribute('transform',renderedLetter.m);} 961if(renderedLetter._mdf.o){textSpan.setAttribute('opacity',renderedLetter.o);} 962if(renderedLetter._mdf.sw){textSpan.setAttribute('stroke-width',renderedLetter.sw);} 963if(renderedLetter._mdf.sc){textSpan.setAttribute('stroke',renderedLetter.sc);} 964if(renderedLetter._mdf.fc){textSpan.setAttribute('fill',renderedLetter.fc);}}}}}};function ISolidElement(data,globalData,comp){this.initElement(data,globalData,comp);} 965extendPrototype([IImageElement],ISolidElement);ISolidElement.prototype.createContent=function(){var rect=createNS('rect');rect.setAttribute('width',this.data.sw);rect.setAttribute('height',this.data.sh);rect.setAttribute('fill',this.data.sc);this.layerElement.appendChild(rect);};function NullElement(data,globalData,comp){this.initFrame();this.initBaseData(data,globalData,comp);this.initFrame();this.initTransform(data,globalData,comp);this.initHierarchy();} 966NullElement.prototype.prepareFrame=function(num){this.prepareProperties(num,true);};NullElement.prototype.renderFrame=function(){};NullElement.prototype.getBaseElement=function(){return null;};NullElement.prototype.destroy=function(){};NullElement.prototype.sourceRectAtTime=function(){};NullElement.prototype.hide=function(){};extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement],NullElement);function SVGRendererBase(){} 967extendPrototype([BaseRenderer],SVGRendererBase);SVGRendererBase.prototype.createNull=function(data){return new NullElement(data,this.globalData,this);};SVGRendererBase.prototype.createShape=function(data){return new SVGShapeElement(data,this.globalData,this);};SVGRendererBase.prototype.createText=function(data){return new SVGTextLottieElement(data,this.globalData,this);};SVGRendererBase.prototype.createImage=function(data){return new IImageElement(data,this.globalData,this);};SVGRendererBase.prototype.createSolid=function(data){return new ISolidElement(data,this.globalData,this);};SVGRendererBase.prototype.configAnimation=function(animData){this.svgElement.setAttribute('xmlns','http://www.w3.org/2000/svg');this.svgElement.setAttribute('xmlns:xlink','http://www.w3.org/1999/xlink');if(this.renderConfig.viewBoxSize){this.svgElement.setAttribute('viewBox',this.renderConfig.viewBoxSize);}else{this.svgElement.setAttribute('viewBox','0 0 '+animData.w+' '+animData.h);} 968if(!this.renderConfig.viewBoxOnly){this.svgElement.setAttribute('width',animData.w);this.svgElement.setAttribute('height',animData.h);this.svgElement.style.width='100%';this.svgElement.style.height='100%';this.svgElement.style.transform='translate3d(0,0,0)';this.svgElement.style.contentVisibility=this.renderConfig.contentVisibility;} 969if(this.renderConfig.width){this.svgElement.setAttribute('width',this.renderConfig.width);} 970if(this.renderConfig.height){this.svgElement.setAttribute('height',this.renderConfig.height);} 971if(this.renderConfig.className){this.svgElement.setAttribute('class',this.renderConfig.className);} 972if(this.renderConfig.id){this.svgElement.setAttribute('id',this.renderConfig.id);} 973if(this.renderConfig.focusable!==undefined){this.svgElement.setAttribute('focusable',this.renderConfig.focusable);} 974this.svgElement.setAttribute('preserveAspectRatio',this.renderConfig.preserveAspectRatio);this.animationItem.wrapper.appendChild(this.svgElement);var defs=this.globalData.defs;this.setupGlobalData(animData,defs);this.globalData.progressiveLoad=this.renderConfig.progressiveLoad;this.data=animData;var maskElement=createNS('clipPath');var rect=createNS('rect');rect.setAttribute('width',animData.w);rect.setAttribute('height',animData.h);rect.setAttribute('x',0);rect.setAttribute('y',0);var maskId=createElementID();maskElement.setAttribute('id',maskId);maskElement.appendChild(rect);this.layerElement.setAttribute('clip-path','url('+getLocationHref()+'#'+maskId+')');defs.appendChild(maskElement);this.layers=animData.layers;this.elements=createSizedArray(animData.layers.length);};SVGRendererBase.prototype.destroy=function(){if(this.animationItem.wrapper){this.animationItem.wrapper.innerText='';} 975this.layerElement=null;this.globalData.defs=null;var i;var len=this.layers?this.layers.length:0;for(i=0;i<len;i+=1){if(this.elements[i]){this.elements[i].destroy();}} 976this.elements.length=0;this.destroyed=true;this.animationItem=null;};SVGRendererBase.prototype.updateContainerSize=function(){};SVGRendererBase.prototype.findIndexByInd=function(ind){var i=0;var len=this.layers.length;for(i=0;i<len;i+=1){if(this.layers[i].ind===ind){return i;}} 977return-1;};SVGRendererBase.prototype.buildItem=function(pos){var elements=this.elements;if(elements[pos]||this.layers[pos].ty===99){return;} 978elements[pos]=true;var element=this.createItem(this.layers[pos]);elements[pos]=element;if(getExpressionsPlugin()){if(this.layers[pos].ty===0){this.globalData.projectInterface.registerComposition(element);} 979element.initExpressions();} 980this.appendElementInPos(element,pos);if(this.layers[pos].tt){var elementIndex='tp'in this.layers[pos]?this.findIndexByInd(this.layers[pos].tp):pos-1;if(elementIndex===-1){return;} 981if(!this.elements[elementIndex]||this.elements[elementIndex]===true){this.buildItem(elementIndex);this.addPendingElement(element);}else{var matteElement=elements[elementIndex];var matteMask=matteElement.getMatte(this.layers[pos].tt);element.setMatte(matteMask);}}};SVGRendererBase.prototype.checkPendingElements=function(){while(this.pendingElements.length){var element=this.pendingElements.pop();element.checkParenting();if(element.data.tt){var i=0;var len=this.elements.length;while(i<len){if(this.elements[i]===element){var elementIndex='tp'in element.data?this.findIndexByInd(element.data.tp):i-1;var matteElement=this.elements[elementIndex];var matteMask=matteElement.getMatte(this.layers[i].tt);element.setMatte(matteMask);break;} 982i+=1;}}}};SVGRendererBase.prototype.renderFrame=function(num){if(this.renderedFrame===num||this.destroyed){return;} 983if(num===null){num=this.renderedFrame;}else{this.renderedFrame=num;} 984this.globalData.frameNum=num;this.globalData.frameId+=1;this.globalData.projectInterface.currentFrame=num;this.globalData._mdf=false;var i;var len=this.layers.length;if(!this.completeLayers){this.checkLayers(num);} 985for(i=len-1;i>=0;i-=1){if(this.completeLayers||this.elements[i]){this.elements[i].prepareFrame(num-this.layers[i].st);}} 986if(this.globalData._mdf){for(i=0;i<len;i+=1){if(this.completeLayers||this.elements[i]){this.elements[i].renderFrame();}}}};SVGRendererBase.prototype.appendElementInPos=function(element,pos){var newElement=element.getBaseElement();if(!newElement){return;} 987var i=0;var nextElement;while(i<pos){if(this.elements[i]&&this.elements[i]!==true&&this.elements[i].getBaseElement()){nextElement=this.elements[i].getBaseElement();} 988i+=1;} 989if(nextElement){this.layerElement.insertBefore(newElement,nextElement);}else{this.layerElement.appendChild(newElement);}};SVGRendererBase.prototype.hide=function(){this.layerElement.style.display='none';};SVGRendererBase.prototype.show=function(){this.layerElement.style.display='block';};function ICompElement(){} 990extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement,RenderableDOMElement],ICompElement);ICompElement.prototype.initElement=function(data,globalData,comp){this.initFrame();this.initBaseData(data,globalData,comp);this.initTransform(data,globalData,comp);this.initRenderable();this.initHierarchy();this.initRendererElement();this.createContainerElements();this.createRenderableComponents();if(this.data.xt||!globalData.progressiveLoad){this.buildAllItems();} 991this.hide();};ICompElement.prototype.prepareFrame=function(num){this._mdf=false;this.prepareRenderableFrame(num);this.prepareProperties(num,this.isInRange);if(!this.isInRange&&!this.data.xt){return;} 992if(!this.tm._placeholder){var timeRemapped=this.tm.v;if(timeRemapped===this.data.op){timeRemapped=this.data.op-1;} 993this.renderedFrame=timeRemapped;}else{this.renderedFrame=num / this.data.sr;} 994var i;var len=this.elements.length;if(!this.completeLayers){this.checkLayers(this.renderedFrame);} 995for(i=len-1;i>=0;i-=1){if(this.completeLayers||this.elements[i]){this.elements[i].prepareFrame(this.renderedFrame-this.layers[i].st);if(this.elements[i]._mdf){this._mdf=true;}}}};ICompElement.prototype.renderInnerContent=function(){var i;var len=this.layers.length;for(i=0;i<len;i+=1){if(this.completeLayers||this.elements[i]){this.elements[i].renderFrame();}}};ICompElement.prototype.setElements=function(elems){this.elements=elems;};ICompElement.prototype.getElements=function(){return this.elements;};ICompElement.prototype.destroyElements=function(){var i;var len=this.layers.length;for(i=0;i<len;i+=1){if(this.elements[i]){this.elements[i].destroy();}}};ICompElement.prototype.destroy=function(){this.destroyElements();this.destroyBaseElement();};function SVGCompElement(data,globalData,comp){this.layers=data.layers;this.supports3d=true;this.completeLayers=false;this.pendingElements=[];this.elements=this.layers?createSizedArray(this.layers.length):[];this.initElement(data,globalData,comp);this.tm=data.tm?PropertyFactory.getProp(this,data.tm,0,globalData.frameRate,this):{_placeholder:true};} 996extendPrototype([SVGRendererBase,ICompElement,SVGBaseElement],SVGCompElement);SVGCompElement.prototype.createComp=function(data){return new SVGCompElement(data,this.globalData,this);};function SVGRenderer(animationItem,config){this.animationItem=animationItem;this.layers=null;this.renderedFrame=-1;this.svgElement=createNS('svg');var ariaLabel='';if(config&&config.title){var titleElement=createNS('title');var titleId=createElementID();titleElement.setAttribute('id',titleId);titleElement.textContent=config.title;this.svgElement.appendChild(titleElement);ariaLabel+=titleId;} 997if(config&&config.description){var descElement=createNS('desc');var descId=createElementID();descElement.setAttribute('id',descId);descElement.textContent=config.description;this.svgElement.appendChild(descElement);ariaLabel+=' '+descId;} 998if(ariaLabel){this.svgElement.setAttribute('aria-labelledby',ariaLabel);} 999var defs=createNS('defs');this.svgElement.appendChild(defs);var maskElement=createNS('g');this.svgElement.appendChild(maskElement);this.layerElement=maskElement;this.renderConfig={preserveAspectRatio:config&&config.preserveAspectRatio||'xMidYMid meet',imagePreserveAspectRatio:config&&config.imagePreserveAspectRatio||'xMidYMid slice',contentVisibility:config&&config.contentVisibility||'visible',progressiveLoad:config&&config.progressiveLoad||false,hideOnTransparent:!(config&&config.hideOnTransparent===false),viewBoxOnly:config&&config.viewBoxOnly||false,viewBoxSize:config&&config.viewBoxSize||false,className:config&&config.className||'',id:config&&config.id||'',focusable:config&&config.focusable,filterSize:{width:config&&config.filterSize&&config.filterSize.width||'100%',height:config&&config.filterSize&&config.filterSize.height||'100%',x:config&&config.filterSize&&config.filterSize.x||'0%',y:config&&config.filterSize&&config.filterSize.y||'0%'},width:config&&config.width,height:config&&config.height,runExpressions:!config||config.runExpressions===undefined||config.runExpressions};this.globalData={_mdf:false,frameNum:-1,defs:defs,renderConfig:this.renderConfig};this.elements=[];this.pendingElements=[];this.destroyed=false;this.rendererType='svg';} 1000extendPrototype([SVGRendererBase],SVGRenderer);SVGRenderer.prototype.createComp=function(data){return new SVGCompElement(data,this.globalData,this);};function CVContextData(){this.saved=[];this.cArrPos=0;this.cTr=new Matrix();this.cO=1;var i;var len=15;this.savedOp=createTypedArray('float32',len);for(i=0;i<len;i+=1){this.saved[i]=createTypedArray('float32',16);} 1001this._length=len;} 1002CVContextData.prototype.duplicate=function(){var newLength=this._length*2;var currentSavedOp=this.savedOp;this.savedOp=createTypedArray('float32',newLength);this.savedOp.set(currentSavedOp);var i=0;for(i=this._length;i<newLength;i+=1){this.saved[i]=createTypedArray('float32',16);} 1003this._length=newLength;};CVContextData.prototype.reset=function(){this.cArrPos=0;this.cTr.reset();this.cO=1;};CVContextData.prototype.popTransform=function(){var popped=this.saved[this.cArrPos];var i;var arr=this.cTr.props;for(i=0;i<16;i+=1){arr[i]=popped[i];} 1004return popped;};CVContextData.prototype.popOpacity=function(){var popped=this.savedOp[this.cArrPos];this.cO=popped;return popped;};CVContextData.prototype.pop=function(){this.cArrPos-=1;var transform=this.popTransform();var opacity=this.popOpacity();return{transform:transform,opacity:opacity};};CVContextData.prototype.push=function(){var props=this.cTr.props;if(this._length<=this.cArrPos){this.duplicate();} 1005var i;var arr=this.saved[this.cArrPos];for(i=0;i<16;i+=1){arr[i]=props[i];} 1006this.savedOp[this.cArrPos]=this.cO;this.cArrPos+=1;};CVContextData.prototype.getTransform=function(){return this.cTr;};CVContextData.prototype.getOpacity=function(){return this.cO;};CVContextData.prototype.setOpacity=function(value){this.cO=value;};function ShapeTransformManager(){this.sequences={};this.sequenceList=[];this.transform_key_count=0;} 1007ShapeTransformManager.prototype={addTransformSequence:function addTransformSequence(transforms){var i;var len=transforms.length;var key='_';for(i=0;i<len;i+=1){key+=transforms[i].transform.key+'_';} 1008var sequence=this.sequences[key];if(!sequence){sequence={transforms:[].concat(transforms),finalTransform:new Matrix(),_mdf:false};this.sequences[key]=sequence;this.sequenceList.push(sequence);} 1009return sequence;},processSequence:function processSequence(sequence,isFirstFrame){var i=0;var len=sequence.transforms.length;var _mdf=isFirstFrame;while(i<len&&!isFirstFrame){if(sequence.transforms[i].transform.mProps._mdf){_mdf=true;break;} 1010i+=1;} 1011if(_mdf){var props;sequence.finalTransform.reset();for(i=len-1;i>=0;i-=1){props=sequence.transforms[i].transform.mProps.v.props;sequence.finalTransform.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);}} 1012sequence._mdf=_mdf;},processSequences:function processSequences(isFirstFrame){var i;var len=this.sequenceList.length;for(i=0;i<len;i+=1){this.processSequence(this.sequenceList[i],isFirstFrame);}},getNewKey:function getNewKey(){this.transform_key_count+=1;return'_'+this.transform_key_count;}};var lumaLoader=function lumaLoader(){var id='__lottie_element_luma_buffer';var lumaBuffer=null;var lumaBufferCtx=null;var svg=null;function createLumaSvgFilter(){var _svg=createNS('svg');var fil=createNS('filter');var matrix=createNS('feColorMatrix');fil.setAttribute('id',id);matrix.setAttribute('type','matrix');matrix.setAttribute('color-interpolation-filters','sRGB');matrix.setAttribute('values','0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0');fil.appendChild(matrix);_svg.appendChild(fil);_svg.setAttribute('id',id+'_svg');if(featureSupport.svgLumaHidden){_svg.style.display='none';} 1013return _svg;} 1014function loadLuma(){if(!lumaBuffer){svg=createLumaSvgFilter();document.body.appendChild(svg);lumaBuffer=createTag('canvas');lumaBufferCtx=lumaBuffer.getContext('2d');lumaBufferCtx.filter='url(#'+id+')';lumaBufferCtx.fillStyle='rgba(0,0,0,0)';lumaBufferCtx.fillRect(0,0,1,1);}} 1015function getLuma(canvas){if(!lumaBuffer){loadLuma();} 1016lumaBuffer.width=canvas.width;lumaBuffer.height=canvas.height;lumaBufferCtx.filter='url(#'+id+')';return lumaBuffer;} 1017return{load:loadLuma,get:getLuma};};function createCanvas(width,height){if(featureSupport.offscreenCanvas){return new OffscreenCanvas(width,height);} 1018var canvas=createTag('canvas');canvas.width=width;canvas.height=height;return canvas;} 1019var assetLoader=function(){return{loadLumaCanvas:lumaLoader.load,getLumaCanvas:lumaLoader.get,createCanvas:createCanvas};}();function CVEffects(){} 1020CVEffects.prototype.renderFrame=function(){};function CVMaskElement(data,element){this.data=data;this.element=element;this.masksProperties=this.data.masksProperties||[];this.viewData=createSizedArray(this.masksProperties.length);var i;var len=this.masksProperties.length;var hasMasks=false;for(i=0;i<len;i+=1){if(this.masksProperties[i].mode!=='n'){hasMasks=true;} 1021this.viewData[i]=ShapePropertyFactory.getShapeProp(this.element,this.masksProperties[i],3);} 1022this.hasMasks=hasMasks;if(hasMasks){this.element.addRenderableComponent(this);}} 1023CVMaskElement.prototype.renderFrame=function(){if(!this.hasMasks){return;} 1024var transform=this.element.finalTransform.mat;var ctx=this.element.canvasContext;var i;var len=this.masksProperties.length;var pt;var pts;var data;ctx.beginPath();for(i=0;i<len;i+=1){if(this.masksProperties[i].mode!=='n'){if(this.masksProperties[i].inv){ctx.moveTo(0,0);ctx.lineTo(this.element.globalData.compSize.w,0);ctx.lineTo(this.element.globalData.compSize.w,this.element.globalData.compSize.h);ctx.lineTo(0,this.element.globalData.compSize.h);ctx.lineTo(0,0);} 1025data=this.viewData[i].v;pt=transform.applyToPointArray(data.v[0][0],data.v[0][1],0);ctx.moveTo(pt[0],pt[1]);var j;var jLen=data._length;for(j=1;j<jLen;j+=1){pts=transform.applyToTriplePoints(data.o[j-1],data.i[j],data.v[j]);ctx.bezierCurveTo(pts[0],pts[1],pts[2],pts[3],pts[4],pts[5]);} 1026pts=transform.applyToTriplePoints(data.o[j-1],data.i[0],data.v[0]);ctx.bezierCurveTo(pts[0],pts[1],pts[2],pts[3],pts[4],pts[5]);}} 1027this.element.globalData.renderer.save(true);ctx.clip();};CVMaskElement.prototype.getMaskProperty=MaskElement.prototype.getMaskProperty;CVMaskElement.prototype.destroy=function(){this.element=null;};function CVBaseElement(){} 1028var operationsMap={1:'source-in',2:'source-out',3:'source-in',4:'source-out'};CVBaseElement.prototype={createElements:function createElements(){},initRendererElement:function initRendererElement(){},createContainerElements:function createContainerElements(){if(this.data.tt>=1){this.buffers=[];var canvasContext=this.globalData.canvasContext;var bufferCanvas=assetLoader.createCanvas(canvasContext.canvas.width,canvasContext.canvas.height);this.buffers.push(bufferCanvas);var bufferCanvas2=assetLoader.createCanvas(canvasContext.canvas.width,canvasContext.canvas.height);this.buffers.push(bufferCanvas2);if(this.data.tt>=3&&!document._isProxy){assetLoader.loadLumaCanvas();}} 1029this.canvasContext=this.globalData.canvasContext;this.transformCanvas=this.globalData.transformCanvas;this.renderableEffectsManager=new CVEffects(this);},createContent:function createContent(){},setBlendMode:function setBlendMode(){var globalData=this.globalData;if(globalData.blendMode!==this.data.bm){globalData.blendMode=this.data.bm;var blendModeValue=getBlendMode(this.data.bm);globalData.canvasContext.globalCompositeOperation=blendModeValue;}},createRenderableComponents:function createRenderableComponents(){this.maskManager=new CVMaskElement(this.data,this);},hideElement:function hideElement(){if(!this.hidden&&(!this.isInRange||this.isTransparent)){this.hidden=true;}},showElement:function showElement(){if(this.isInRange&&!this.isTransparent){this.hidden=false;this._isFirstFrame=true;this.maskManager._isFirstFrame=true;}},clearCanvas:function clearCanvas(canvasContext){canvasContext.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy);},prepareLayer:function prepareLayer(){if(this.data.tt>=1){var buffer=this.buffers[0];var bufferCtx=buffer.getContext('2d');this.clearCanvas(bufferCtx);bufferCtx.drawImage(this.canvasContext.canvas,0,0);this.currentTransform=this.canvasContext.getTransform();this.canvasContext.setTransform(1,0,0,1,0,0);this.clearCanvas(this.canvasContext);this.canvasContext.setTransform(this.currentTransform);}},exitLayer:function exitLayer(){if(this.data.tt>=1){var buffer=this.buffers[1];var bufferCtx=buffer.getContext('2d');this.clearCanvas(bufferCtx);bufferCtx.drawImage(this.canvasContext.canvas,0,0);this.canvasContext.setTransform(1,0,0,1,0,0);this.clearCanvas(this.canvasContext);this.canvasContext.setTransform(this.currentTransform);var mask=this.comp.getElementById('tp'in this.data?this.data.tp:this.data.ind-1);mask.renderFrame(true);this.canvasContext.setTransform(1,0,0,1,0,0);if(this.data.tt>=3&&!document._isProxy){var lumaBuffer=assetLoader.getLumaCanvas(this.canvasContext.canvas);var lumaBufferCtx=lumaBuffer.getContext('2d');lumaBufferCtx.drawImage(this.canvasContext.canvas,0,0);this.clearCanvas(this.canvasContext);this.canvasContext.drawImage(lumaBuffer,0,0);} 1030this.canvasContext.globalCompositeOperation=operationsMap[this.data.tt];this.canvasContext.drawImage(buffer,0,0);this.canvasContext.globalCompositeOperation='destination-over';this.canvasContext.drawImage(this.buffers[0],0,0);this.canvasContext.setTransform(this.currentTransform);this.canvasContext.globalCompositeOperation='source-over';}},renderFrame:function renderFrame(forceRender){if(this.hidden||this.data.hd){return;} 1031if(this.data.td===1&&!forceRender){return;} 1032this.renderTransform();this.renderRenderable();this.setBlendMode();var forceRealStack=this.data.ty===0;this.prepareLayer();this.globalData.renderer.save(forceRealStack);this.globalData.renderer.ctxTransform(this.finalTransform.mat.props);this.globalData.renderer.ctxOpacity(this.finalTransform.mProp.o.v);this.renderInnerContent();this.globalData.renderer.restore(forceRealStack);this.exitLayer();if(this.maskManager.hasMasks){this.globalData.renderer.restore(true);} 1033if(this._isFirstFrame){this._isFirstFrame=false;}},destroy:function destroy(){this.canvasContext=null;this.data=null;this.globalData=null;this.maskManager.destroy();},mHelper:new Matrix()};CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement;CVBaseElement.prototype.show=CVBaseElement.prototype.showElement;function CVShapeData(element,data,styles,transformsManager){this.styledShapes=[];this.tr=[0,0,0,0,0,0];var ty=4;if(data.ty==='rc'){ty=5;}else if(data.ty==='el'){ty=6;}else if(data.ty==='sr'){ty=7;} 1034this.sh=ShapePropertyFactory.getShapeProp(element,data,ty,element);var i;var len=styles.length;var styledShape;for(i=0;i<len;i+=1){if(!styles[i].closed){styledShape={transforms:transformsManager.addTransformSequence(styles[i].transforms),trNodes:[]};this.styledShapes.push(styledShape);styles[i].elements.push(styledShape);}}} 1035CVShapeData.prototype.setAsAnimated=SVGShapeData.prototype.setAsAnimated;function CVShapeElement(data,globalData,comp){this.shapes=[];this.shapesData=data.shapes;this.stylesList=[];this.itemsData=[];this.prevViewData=[];this.shapeModifiers=[];this.processedElements=[];this.transformsManager=new ShapeTransformManager();this.initElement(data,globalData,comp);} 1036extendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement],CVShapeElement);CVShapeElement.prototype.initElement=RenderableDOMElement.prototype.initElement;CVShapeElement.prototype.transformHelper={opacity:1,_opMdf:false};CVShapeElement.prototype.dashResetter=[];CVShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,true,[]);};CVShapeElement.prototype.createStyleElement=function(data,transforms){var styleElem={data:data,type:data.ty,preTransforms:this.transformsManager.addTransformSequence(transforms),transforms:[],elements:[],closed:data.hd===true};var elementData={};if(data.ty==='fl'||data.ty==='st'){elementData.c=PropertyFactory.getProp(this,data.c,1,255,this);if(!elementData.c.k){styleElem.co='rgb('+bmFloor(elementData.c.v[0])+','+bmFloor(elementData.c.v[1])+','+bmFloor(elementData.c.v[2])+')';}}else if(data.ty==='gf'||data.ty==='gs'){elementData.s=PropertyFactory.getProp(this,data.s,1,null,this);elementData.e=PropertyFactory.getProp(this,data.e,1,null,this);elementData.h=PropertyFactory.getProp(this,data.h||{k:0},0,0.01,this);elementData.a=PropertyFactory.getProp(this,data.a||{k:0},0,degToRads,this);elementData.g=new GradientProperty(this,data.g,this);} 1037elementData.o=PropertyFactory.getProp(this,data.o,0,0.01,this);if(data.ty==='st'||data.ty==='gs'){styleElem.lc=lineCapEnum[data.lc||2];styleElem.lj=lineJoinEnum[data.lj||2];if(data.lj==1){styleElem.ml=data.ml;} 1038elementData.w=PropertyFactory.getProp(this,data.w,0,null,this);if(!elementData.w.k){styleElem.wi=elementData.w.v;} 1039if(data.d){var d=new DashProperty(this,data.d,'canvas',this);elementData.d=d;if(!elementData.d.k){styleElem.da=elementData.d.dashArray;styleElem["do"]=elementData.d.dashoffset[0];}}}else{styleElem.r=data.r===2?'evenodd':'nonzero';} 1040this.stylesList.push(styleElem);elementData.style=styleElem;return elementData;};CVShapeElement.prototype.createGroupElement=function(){var elementData={it:[],prevViewData:[]};return elementData;};CVShapeElement.prototype.createTransformElement=function(data){var elementData={transform:{opacity:1,_opMdf:false,key:this.transformsManager.getNewKey(),op:PropertyFactory.getProp(this,data.o,0,0.01,this),mProps:TransformPropertyFactory.getTransformProperty(this,data,this)}};return elementData;};CVShapeElement.prototype.createShapeElement=function(data){var elementData=new CVShapeData(this,data,this.stylesList,this.transformsManager);this.shapes.push(elementData);this.addShapeToModifiers(elementData);return elementData;};CVShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=true;var i;var len=this.itemsData.length;for(i=0;i<len;i+=1){this.prevViewData[i]=this.itemsData[i];} 1041this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,true,[]);len=this.dynamicProperties.length;for(i=0;i<len;i+=1){this.dynamicProperties[i].getValue();} 1042this.renderModifiers();this.transformsManager.processSequences(this._isFirstFrame);};CVShapeElement.prototype.addTransformToStyleList=function(transform){var i;var len=this.stylesList.length;for(i=0;i<len;i+=1){if(!this.stylesList[i].closed){this.stylesList[i].transforms.push(transform);}}};CVShapeElement.prototype.removeTransformFromStyleList=function(){var i;var len=this.stylesList.length;for(i=0;i<len;i+=1){if(!this.stylesList[i].closed){this.stylesList[i].transforms.pop();}}};CVShapeElement.prototype.closeStyles=function(styles){var i;var len=styles.length;for(i=0;i<len;i+=1){styles[i].closed=true;}};CVShapeElement.prototype.searchShapes=function(arr,itemsData,prevViewData,shouldRender,transforms){var i;var len=arr.length-1;var j;var jLen;var ownStyles=[];var ownModifiers=[];var processedPos;var modifier;var currentTransform;var ownTransforms=[].concat(transforms);for(i=len;i>=0;i-=1){processedPos=this.searchProcessedElement(arr[i]);if(!processedPos){arr[i]._shouldRender=shouldRender;}else{itemsData[i]=prevViewData[processedPos-1];} 1043if(arr[i].ty==='fl'||arr[i].ty==='st'||arr[i].ty==='gf'||arr[i].ty==='gs'){if(!processedPos){itemsData[i]=this.createStyleElement(arr[i],ownTransforms);}else{itemsData[i].style.closed=false;} 1044ownStyles.push(itemsData[i].style);}else if(arr[i].ty==='gr'){if(!processedPos){itemsData[i]=this.createGroupElement(arr[i]);}else{jLen=itemsData[i].it.length;for(j=0;j<jLen;j+=1){itemsData[i].prevViewData[j]=itemsData[i].it[j];}} 1045this.searchShapes(arr[i].it,itemsData[i].it,itemsData[i].prevViewData,shouldRender,ownTransforms);}else if(arr[i].ty==='tr'){if(!processedPos){currentTransform=this.createTransformElement(arr[i]);itemsData[i]=currentTransform;} 1046ownTransforms.push(itemsData[i]);this.addTransformToStyleList(itemsData[i]);}else if(arr[i].ty==='sh'||arr[i].ty==='rc'||arr[i].ty==='el'||arr[i].ty==='sr'){if(!processedPos){itemsData[i]=this.createShapeElement(arr[i]);}}else if(arr[i].ty==='tm'||arr[i].ty==='rd'||arr[i].ty==='pb'||arr[i].ty==='zz'||arr[i].ty==='op'){if(!processedPos){modifier=ShapeModifiers.getModifier(arr[i].ty);modifier.init(this,arr[i]);itemsData[i]=modifier;this.shapeModifiers.push(modifier);}else{modifier=itemsData[i];modifier.closed=false;} 1047ownModifiers.push(modifier);}else if(arr[i].ty==='rp'){if(!processedPos){modifier=ShapeModifiers.getModifier(arr[i].ty);itemsData[i]=modifier;modifier.init(this,arr,i,itemsData);this.shapeModifiers.push(modifier);shouldRender=false;}else{modifier=itemsData[i];modifier.closed=true;} 1048ownModifiers.push(modifier);} 1049this.addProcessedElement(arr[i],i+1);} 1050this.removeTransformFromStyleList();this.closeStyles(ownStyles);len=ownModifiers.length;for(i=0;i<len;i+=1){ownModifiers[i].closed=true;}};CVShapeElement.prototype.renderInnerContent=function(){this.transformHelper.opacity=1;this.transformHelper._opMdf=false;this.renderModifiers();this.transformsManager.processSequences(this._isFirstFrame);this.renderShape(this.transformHelper,this.shapesData,this.itemsData,true);};CVShapeElement.prototype.renderShapeTransform=function(parentTransform,groupTransform){if(parentTransform._opMdf||groupTransform.op._mdf||this._isFirstFrame){groupTransform.opacity=parentTransform.opacity;groupTransform.opacity*=groupTransform.op.v;groupTransform._opMdf=true;}};CVShapeElement.prototype.drawLayer=function(){var i;var len=this.stylesList.length;var j;var jLen;var k;var kLen;var elems;var nodes;var renderer=this.globalData.renderer;var ctx=this.globalData.canvasContext;var type;var currentStyle;for(i=0;i<len;i+=1){currentStyle=this.stylesList[i];type=currentStyle.type;if(!((type==='st'||type==='gs')&¤tStyle.wi===0||!currentStyle.data._shouldRender||currentStyle.coOp===0||this.globalData.currentGlobalAlpha===0)){renderer.save();elems=currentStyle.elements;if(type==='st'||type==='gs'){ctx.strokeStyle=type==='st'?currentStyle.co:currentStyle.grd;ctx.lineWidth=currentStyle.wi;ctx.lineCap=currentStyle.lc;ctx.lineJoin=currentStyle.lj;ctx.miterLimit=currentStyle.ml||0;}else{ctx.fillStyle=type==='fl'?currentStyle.co:currentStyle.grd;} 1051renderer.ctxOpacity(currentStyle.coOp);if(type!=='st'&&type!=='gs'){ctx.beginPath();} 1052renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);jLen=elems.length;for(j=0;j<jLen;j+=1){if(type==='st'||type==='gs'){ctx.beginPath();if(currentStyle.da){ctx.setLineDash(currentStyle.da);ctx.lineDashOffset=currentStyle["do"];}} 1053nodes=elems[j].trNodes;kLen=nodes.length;for(k=0;k<kLen;k+=1){if(nodes[k].t==='m'){ctx.moveTo(nodes[k].p[0],nodes[k].p[1]);}else if(nodes[k].t==='c'){ctx.bezierCurveTo(nodes[k].pts[0],nodes[k].pts[1],nodes[k].pts[2],nodes[k].pts[3],nodes[k].pts[4],nodes[k].pts[5]);}else{ctx.closePath();}} 1054if(type==='st'||type==='gs'){ctx.stroke();if(currentStyle.da){ctx.setLineDash(this.dashResetter);}}} 1055if(type!=='st'&&type!=='gs'){ctx.fill(currentStyle.r);} 1056renderer.restore();}}};CVShapeElement.prototype.renderShape=function(parentTransform,items,data,isMain){var i;var len=items.length-1;var groupTransform;groupTransform=parentTransform;for(i=len;i>=0;i-=1){if(items[i].ty==='tr'){groupTransform=data[i].transform;this.renderShapeTransform(parentTransform,groupTransform);}else if(items[i].ty==='sh'||items[i].ty==='el'||items[i].ty==='rc'||items[i].ty==='sr'){this.renderPath(items[i],data[i]);}else if(items[i].ty==='fl'){this.renderFill(items[i],data[i],groupTransform);}else if(items[i].ty==='st'){this.renderStroke(items[i],data[i],groupTransform);}else if(items[i].ty==='gf'||items[i].ty==='gs'){this.renderGradientFill(items[i],data[i],groupTransform);}else if(items[i].ty==='gr'){this.renderShape(groupTransform,items[i].it,data[i].it);}else if(items[i].ty==='tm'){}} 1057if(isMain){this.drawLayer();}};CVShapeElement.prototype.renderStyledShape=function(styledShape,shape){if(this._isFirstFrame||shape._mdf||styledShape.transforms._mdf){var shapeNodes=styledShape.trNodes;var paths=shape.paths;var i;var len;var j;var jLen=paths._length;shapeNodes.length=0;var groupTransformMat=styledShape.transforms.finalTransform;for(j=0;j<jLen;j+=1){var pathNodes=paths.shapes[j];if(pathNodes&&pathNodes.v){len=pathNodes._length;for(i=1;i<len;i+=1){if(i===1){shapeNodes.push({t:'m',p:groupTransformMat.applyToPointArray(pathNodes.v[0][0],pathNodes.v[0][1],0)});} 1058shapeNodes.push({t:'c',pts:groupTransformMat.applyToTriplePoints(pathNodes.o[i-1],pathNodes.i[i],pathNodes.v[i])});} 1059if(len===1){shapeNodes.push({t:'m',p:groupTransformMat.applyToPointArray(pathNodes.v[0][0],pathNodes.v[0][1],0)});} 1060if(pathNodes.c&&len){shapeNodes.push({t:'c',pts:groupTransformMat.applyToTriplePoints(pathNodes.o[i-1],pathNodes.i[0],pathNodes.v[0])});shapeNodes.push({t:'z'});}}} 1061styledShape.trNodes=shapeNodes;}};CVShapeElement.prototype.renderPath=function(pathData,itemData){if(pathData.hd!==true&&pathData._shouldRender){var i;var len=itemData.styledShapes.length;for(i=0;i<len;i+=1){this.renderStyledShape(itemData.styledShapes[i],itemData.sh);}}};CVShapeElement.prototype.renderFill=function(styleData,itemData,groupTransform){var styleElem=itemData.style;if(itemData.c._mdf||this._isFirstFrame){styleElem.co='rgb('+bmFloor(itemData.c.v[0])+','+bmFloor(itemData.c.v[1])+','+bmFloor(itemData.c.v[2])+')';} 1062if(itemData.o._mdf||groupTransform._opMdf||this._isFirstFrame){styleElem.coOp=itemData.o.v*groupTransform.opacity;}};CVShapeElement.prototype.renderGradientFill=function(styleData,itemData,groupTransform){var styleElem=itemData.style;var grd;if(!styleElem.grd||itemData.g._mdf||itemData.s._mdf||itemData.e._mdf||styleData.t!==1&&(itemData.h._mdf||itemData.a._mdf)){var ctx=this.globalData.canvasContext;var pt1=itemData.s.v;var pt2=itemData.e.v;if(styleData.t===1){grd=ctx.createLinearGradient(pt1[0],pt1[1],pt2[0],pt2[1]);}else{var rad=Math.sqrt(Math.pow(pt1[0]-pt2[0],2)+Math.pow(pt1[1]-pt2[1],2));var ang=Math.atan2(pt2[1]-pt1[1],pt2[0]-pt1[0]);var percent=itemData.h.v;if(percent>=1){percent=0.99;}else if(percent<=-1){percent=-0.99;} 1063var dist=rad*percent;var x=Math.cos(ang+itemData.a.v)*dist+pt1[0];var y=Math.sin(ang+itemData.a.v)*dist+pt1[1];grd=ctx.createRadialGradient(x,y,0,pt1[0],pt1[1],rad);} 1064var i;var len=styleData.g.p;var cValues=itemData.g.c;var opacity=1;for(i=0;i<len;i+=1){if(itemData.g._hasOpacity&&itemData.g._collapsable){opacity=itemData.g.o[i*2+1];} 1065grd.addColorStop(cValues[i*4]/ 100,'rgba('+cValues[i*4+1]+','+cValues[i*4+2]+','+cValues[i*4+3]+','+opacity+')');} 1066styleElem.grd=grd;} 1067styleElem.coOp=itemData.o.v*groupTransform.opacity;};CVShapeElement.prototype.renderStroke=function(styleData,itemData,groupTransform){var styleElem=itemData.style;var d=itemData.d;if(d&&(d._mdf||this._isFirstFrame)){styleElem.da=d.dashArray;styleElem["do"]=d.dashoffset[0];} 1068if(itemData.c._mdf||this._isFirstFrame){styleElem.co='rgb('+bmFloor(itemData.c.v[0])+','+bmFloor(itemData.c.v[1])+','+bmFloor(itemData.c.v[2])+')';} 1069if(itemData.o._mdf||groupTransform._opMdf||this._isFirstFrame){styleElem.coOp=itemData.o.v*groupTransform.opacity;} 1070if(itemData.w._mdf||this._isFirstFrame){styleElem.wi=itemData.w.v;}};CVShapeElement.prototype.destroy=function(){this.shapesData=null;this.globalData=null;this.canvasContext=null;this.stylesList.length=0;this.itemsData.length=0;};function CVTextElement(data,globalData,comp){this.textSpans=[];this.yOffset=0;this.fillColorAnim=false;this.strokeColorAnim=false;this.strokeWidthAnim=false;this.stroke=false;this.fill=false;this.justifyOffset=0;this.currentRender=null;this.renderType='canvas';this.values={fill:'rgba(0,0,0,0)',stroke:'rgba(0,0,0,0)',sWidth:0,fValue:''};this.initElement(data,globalData,comp);} 1071extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement,ITextElement],CVTextElement);CVTextElement.prototype.tHelper=createTag('canvas').getContext('2d');CVTextElement.prototype.buildNewText=function(){var documentData=this.textProperty.currentData;this.renderedLetters=createSizedArray(documentData.l?documentData.l.length:0);var hasFill=false;if(documentData.fc){hasFill=true;this.values.fill=this.buildColor(documentData.fc);}else{this.values.fill='rgba(0,0,0,0)';} 1072this.fill=hasFill;var hasStroke=false;if(documentData.sc){hasStroke=true;this.values.stroke=this.buildColor(documentData.sc);this.values.sWidth=documentData.sw;} 1073var fontData=this.globalData.fontManager.getFontByName(documentData.f);var i;var len;var letters=documentData.l;var matrixHelper=this.mHelper;this.stroke=hasStroke;this.values.fValue=documentData.finalSize+'px '+this.globalData.fontManager.getFontByName(documentData.f).fFamily;len=documentData.finalText.length;var charData;var shapeData;var k;var kLen;var shapes;var j;var jLen;var pathNodes;var commands;var pathArr;var singleShape=this.data.singleShape;var trackingOffset=documentData.tr*0.001*documentData.finalSize;var xPos=0;var yPos=0;var firstLine=true;var cnt=0;for(i=0;i<len;i+=1){charData=this.globalData.fontManager.getCharData(documentData.finalText[i],fontData.fStyle,this.globalData.fontManager.getFontByName(documentData.f).fFamily);shapeData=charData&&charData.data||{};matrixHelper.reset();if(singleShape&&letters[i].n){xPos=-trackingOffset;yPos+=documentData.yOffset;yPos+=firstLine?1:0;firstLine=false;} 1074shapes=shapeData.shapes?shapeData.shapes[0].it:[];jLen=shapes.length;matrixHelper.scale(documentData.finalSize / 100,documentData.finalSize / 100);if(singleShape){this.applyTextPropertiesToMatrix(documentData,matrixHelper,letters[i].line,xPos,yPos);} 1075commands=createSizedArray(jLen-1);var commandsCounter=0;for(j=0;j<jLen;j+=1){if(shapes[j].ty==='sh'){kLen=shapes[j].ks.k.i.length;pathNodes=shapes[j].ks.k;pathArr=[];for(k=1;k<kLen;k+=1){if(k===1){pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0],pathNodes.v[0][1],0),matrixHelper.applyToY(pathNodes.v[0][0],pathNodes.v[0][1],0));} 1076pathArr.push(matrixHelper.applyToX(pathNodes.o[k-1][0],pathNodes.o[k-1][1],0),matrixHelper.applyToY(pathNodes.o[k-1][0],pathNodes.o[k-1][1],0),matrixHelper.applyToX(pathNodes.i[k][0],pathNodes.i[k][1],0),matrixHelper.applyToY(pathNodes.i[k][0],pathNodes.i[k][1],0),matrixHelper.applyToX(pathNodes.v[k][0],pathNodes.v[k][1],0),matrixHelper.applyToY(pathNodes.v[k][0],pathNodes.v[k][1],0));} 1077pathArr.push(matrixHelper.applyToX(pathNodes.o[k-1][0],pathNodes.o[k-1][1],0),matrixHelper.applyToY(pathNodes.o[k-1][0],pathNodes.o[k-1][1],0),matrixHelper.applyToX(pathNodes.i[0][0],pathNodes.i[0][1],0),matrixHelper.applyToY(pathNodes.i[0][0],pathNodes.i[0][1],0),matrixHelper.applyToX(pathNodes.v[0][0],pathNodes.v[0][1],0),matrixHelper.applyToY(pathNodes.v[0][0],pathNodes.v[0][1],0));commands[commandsCounter]=pathArr;commandsCounter+=1;}} 1078if(singleShape){xPos+=letters[i].l;xPos+=trackingOffset;} 1079if(this.textSpans[cnt]){this.textSpans[cnt].elem=commands;}else{this.textSpans[cnt]={elem:commands};} 1080cnt+=1;}};CVTextElement.prototype.renderInnerContent=function(){var ctx=this.canvasContext;ctx.font=this.values.fValue;ctx.lineCap='butt';ctx.lineJoin='miter';ctx.miterLimit=4;if(!this.data.singleShape){this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag);} 1081var i;var len;var j;var jLen;var k;var kLen;var renderedLetters=this.textAnimator.renderedLetters;var letters=this.textProperty.currentData.l;len=letters.length;var renderedLetter;var lastFill=null;var lastStroke=null;var lastStrokeW=null;var commands;var pathArr;for(i=0;i<len;i+=1){if(!letters[i].n){renderedLetter=renderedLetters[i];if(renderedLetter){this.globalData.renderer.save();this.globalData.renderer.ctxTransform(renderedLetter.p);this.globalData.renderer.ctxOpacity(renderedLetter.o);} 1082if(this.fill){if(renderedLetter&&renderedLetter.fc){if(lastFill!==renderedLetter.fc){lastFill=renderedLetter.fc;ctx.fillStyle=renderedLetter.fc;}}else if(lastFill!==this.values.fill){lastFill=this.values.fill;ctx.fillStyle=this.values.fill;} 1083commands=this.textSpans[i].elem;jLen=commands.length;this.globalData.canvasContext.beginPath();for(j=0;j<jLen;j+=1){pathArr=commands[j];kLen=pathArr.length;this.globalData.canvasContext.moveTo(pathArr[0],pathArr[1]);for(k=2;k<kLen;k+=6){this.globalData.canvasContext.bezierCurveTo(pathArr[k],pathArr[k+1],pathArr[k+2],pathArr[k+3],pathArr[k+4],pathArr[k+5]);}} 1084this.globalData.canvasContext.closePath();this.globalData.canvasContext.fill();} 1085if(this.stroke){if(renderedLetter&&renderedLetter.sw){if(lastStrokeW!==renderedLetter.sw){lastStrokeW=renderedLetter.sw;ctx.lineWidth=renderedLetter.sw;}}else if(lastStrokeW!==this.values.sWidth){lastStrokeW=this.values.sWidth;ctx.lineWidth=this.values.sWidth;} 1086if(renderedLetter&&renderedLetter.sc){if(lastStroke!==renderedLetter.sc){lastStroke=renderedLetter.sc;ctx.strokeStyle=renderedLetter.sc;}}else if(lastStroke!==this.values.stroke){lastStroke=this.values.stroke;ctx.strokeStyle=this.values.stroke;} 1087commands=this.textSpans[i].elem;jLen=commands.length;this.globalData.canvasContext.beginPath();for(j=0;j<jLen;j+=1){pathArr=commands[j];kLen=pathArr.length;this.globalData.canvasContext.moveTo(pathArr[0],pathArr[1]);for(k=2;k<kLen;k+=6){this.globalData.canvasContext.bezierCurveTo(pathArr[k],pathArr[k+1],pathArr[k+2],pathArr[k+3],pathArr[k+4],pathArr[k+5]);}} 1088this.globalData.canvasContext.closePath();this.globalData.canvasContext.stroke();} 1089if(renderedLetter){this.globalData.renderer.restore();}}}};function CVImageElement(data,globalData,comp){this.assetData=globalData.getAssetData(data.refId);this.img=globalData.imageLoader.getAsset(this.assetData);this.initElement(data,globalData,comp);} 1090extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVImageElement);CVImageElement.prototype.initElement=SVGShapeElement.prototype.initElement;CVImageElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame;CVImageElement.prototype.createContent=function(){if(this.img.width&&(this.assetData.w!==this.img.width||this.assetData.h!==this.img.height)){var canvas=createTag('canvas');canvas.width=this.assetData.w;canvas.height=this.assetData.h;var ctx=canvas.getContext('2d');var imgW=this.img.width;var imgH=this.img.height;var imgRel=imgW / imgH;var canvasRel=this.assetData.w / this.assetData.h;var widthCrop;var heightCrop;var par=this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio;if(imgRel>canvasRel&&par==='xMidYMid slice'||imgRel<canvasRel&&par!=='xMidYMid slice'){heightCrop=imgH;widthCrop=heightCrop*canvasRel;}else{widthCrop=imgW;heightCrop=widthCrop / canvasRel;} 1091ctx.drawImage(this.img,(imgW-widthCrop)/ 2,(imgH-heightCrop)/ 2,widthCrop,heightCrop,0,0,this.assetData.w,this.assetData.h);this.img=canvas;}};CVImageElement.prototype.renderInnerContent=function(){this.canvasContext.drawImage(this.img,0,0);};CVImageElement.prototype.destroy=function(){this.img=null;};function CVSolidElement(data,globalData,comp){this.initElement(data,globalData,comp);} 1092extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVSolidElement);CVSolidElement.prototype.initElement=SVGShapeElement.prototype.initElement;CVSolidElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame;CVSolidElement.prototype.renderInnerContent=function(){var ctx=this.canvasContext;ctx.fillStyle=this.data.sc;ctx.fillRect(0,0,this.data.sw,this.data.sh);};function CanvasRendererBase(animationItem,config){this.animationItem=animationItem;this.renderConfig={clearCanvas:config&&config.clearCanvas!==undefined?config.clearCanvas:true,context:config&&config.context||null,progressiveLoad:config&&config.progressiveLoad||false,preserveAspectRatio:config&&config.preserveAspectRatio||'xMidYMid meet',imagePreserveAspectRatio:config&&config.imagePreserveAspectRatio||'xMidYMid slice',contentVisibility:config&&config.contentVisibility||'visible',className:config&&config.className||'',id:config&&config.id||''};this.renderConfig.dpr=config&&config.dpr||1;if(this.animationItem.wrapper){this.renderConfig.dpr=config&&config.dpr||window.devicePixelRatio||1;} 1093this.renderedFrame=-1;this.globalData={frameNum:-1,_mdf:false,renderConfig:this.renderConfig,currentGlobalAlpha:-1};this.contextData=new CVContextData();this.elements=[];this.pendingElements=[];
1093this.transformMat=new Matrix();this.completeLayers=false;this.rendererType='canvas';} 1094extendPrototype([BaseRenderer],CanvasRendererBase);CanvasRendererBase.prototype.createShape=function(data){return new CVShapeElement(data,this.globalData,this);};CanvasRendererBase.prototype.createText=function(data){return new CVTextElement(data,this.globalData,this);};CanvasRendererBase.prototype.createImage=function(data){return new CVImageElement(data,this.globalData,this);};CanvasRendererBase.prototype.createSolid=function(data){return new CVSolidElement(data,this.globalData,this);};CanvasRendererBase.prototype.createNull=SVGRenderer.prototype.createNull;CanvasRendererBase.prototype.ctxTransform=function(props){if(props[0]===1&&props[1]===0&&props[4]===0&&props[5]===1&&props[12]===0&&props[13]===0){return;} 1095if(!this.renderConfig.clearCanvas){this.canvasContext.transform(props[0],props[1],props[4],props[5],props[12],props[13]);return;} 1096this.transformMat.cloneFromProps(props);var currentTransform=this.contextData.getTransform();var cProps=currentTransform.props;this.transformMat.transform(cProps[0],cProps[1],cProps[2],cProps[3],cProps[4],cProps[5],cProps[6],cProps[7],cProps[8],cProps[9],cProps[10],cProps[11],cProps[12],cProps[13],cProps[14],cProps[15]);currentTransform.cloneFromProps(this.transformMat.props);var trProps=currentTransform.props;this.canvasContext.setTransform(trProps[0],trProps[1],trProps[4],trProps[5],trProps[12],trProps[13]);};CanvasRendererBase.prototype.ctxOpacity=function(op){var currentOpacity=this.contextData.getOpacity();if(!this.renderConfig.clearCanvas){this.canvasContext.globalAlpha*=op<0?0:op;this.globalData.currentGlobalAlpha=currentOpacity;return;} 1097currentOpacity*=op<0?0:op;this.contextData.setOpacity(currentOpacity);if(this.globalData.currentGlobalAlpha!==currentOpacity){this.canvasContext.globalAlpha=currentOpacity;this.globalData.currentGlobalAlpha=currentOpacity;}};CanvasRendererBase.prototype.reset=function(){if(!this.renderConfig.clearCanvas){this.canvasContext.restore();return;} 1098this.contextData.reset();};CanvasRendererBase.prototype.save=function(actionFlag){if(!this.renderConfig.clearCanvas){this.canvasContext.save();return;} 1099if(actionFlag){this.canvasContext.save();} 1100this.contextData.push();};CanvasRendererBase.prototype.restore=function(actionFlag){if(!this.renderConfig.clearCanvas){this.canvasContext.restore();return;} 1101if(actionFlag){this.canvasContext.restore();this.globalData.blendMode='source-over';} 1102var popped=this.contextData.pop();var transform=popped.transform;var opacity=popped.opacity;this.canvasContext.setTransform(transform[0],transform[1],transform[4],transform[5],transform[12],transform[13]);if(this.globalData.currentGlobalAlpha!==opacity){this.canvasContext.globalAlpha=opacity;this.globalData.currentGlobalAlpha=opacity;}};CanvasRendererBase.prototype.configAnimation=function(animData){if(this.animationItem.wrapper){this.animationItem.container=createTag('canvas');var containerStyle=this.animationItem.container.style;containerStyle.width='100%';containerStyle.height='100%';var origin='0px 0px 0px';containerStyle.transformOrigin=origin;containerStyle.mozTransformOrigin=origin;containerStyle.webkitTransformOrigin=origin;containerStyle['-webkit-transform']=origin;containerStyle.contentVisibility=this.renderConfig.contentVisibility;this.animationItem.wrapper.appendChild(this.animationItem.container);this.canvasContext=this.animationItem.container.getContext('2d');if(this.renderConfig.className){this.animationItem.container.setAttribute('class',this.renderConfig.className);} 1103if(this.renderConfig.id){this.animationItem.container.setAttribute('id',this.renderConfig.id);}}else{this.canvasContext=this.renderConfig.context;} 1104this.data=animData;this.layers=animData.layers;this.transformCanvas={w:animData.w,h:animData.h,sx:0,sy:0,tx:0,ty:0};this.setupGlobalData(animData,document.body);this.globalData.canvasContext=this.canvasContext;this.globalData.renderer=this;this.globalData.isDashed=false;this.globalData.progressiveLoad=this.renderConfig.progressiveLoad;this.globalData.transformCanvas=this.transformCanvas;this.elements=createSizedArray(animData.layers.length);this.updateContainerSize();};CanvasRendererBase.prototype.updateContainerSize=function(width,height){this.reset();var elementWidth;var elementHeight;if(width){elementWidth=width;elementHeight=height;this.canvasContext.canvas.width=elementWidth;this.canvasContext.canvas.height=elementHeight;}else{if(this.animationItem.wrapper&&this.animationItem.container){elementWidth=this.animationItem.wrapper.offsetWidth;elementHeight=this.animationItem.wrapper.offsetHeight;}else{elementWidth=this.canvasContext.canvas.width;elementHeight=this.canvasContext.canvas.height;} 1105this.canvasContext.canvas.width=elementWidth*this.renderConfig.dpr;this.canvasContext.canvas.height=elementHeight*this.renderConfig.dpr;} 1106var elementRel;var animationRel;if(this.renderConfig.preserveAspectRatio.indexOf('meet')!==-1||this.renderConfig.preserveAspectRatio.indexOf('slice')!==-1){var par=this.renderConfig.preserveAspectRatio.split(' ');var fillType=par[1]||'meet';var pos=par[0]||'xMidYMid';var xPos=pos.substr(0,4);var yPos=pos.substr(4);elementRel=elementWidth / elementHeight;animationRel=this.transformCanvas.w / this.transformCanvas.h;
vendor: 108,646 bytes, lines 1106-1593
1106if(animationRel>elementRel&&fillType==='meet'||animationRel<elementRel&&fillType==='slice'){this.transformCanvas.sx=elementWidth /(this.transformCanvas.w / this.renderConfig.dpr);this.transformCanvas.sy=elementWidth /(this.transformCanvas.w / this.renderConfig.dpr);}else{this.transformCanvas.sx=elementHeight /(this.transformCanvas.h / this.renderConfig.dpr);this.transformCanvas.sy=elementHeight /(this.transformCanvas.h / this.renderConfig.dpr);} 1107if(xPos==='xMid'&&(animationRel<elementRel&&fillType==='meet'||animationRel>elementRel&&fillType==='slice')){this.transformCanvas.tx=(elementWidth-this.transformCanvas.w*(elementHeight / this.transformCanvas.h))/ 2*this.renderConfig.dpr;}else if(xPos==='xMax'&&(animationRel<elementRel&&fillType==='meet'||animationRel>elementRel&&fillType==='slice')){this.transformCanvas.tx=(elementWidth-this.transformCanvas.w*(elementHeight / this.transformCanvas.h))*this.renderConfig.dpr;}else{this.transformCanvas.tx=0;} 1108if(yPos==='YMid'&&(animationRel>elementRel&&fillType==='meet'||animationRel<elementRel&&fillType==='slice')){this.transformCanvas.ty=(elementHeight-this.transformCanvas.h*(elementWidth / this.transformCanvas.w))/ 2*this.renderConfig.dpr;}else if(yPos==='YMax'&&(animationRel>elementRel&&fillType==='meet'||animationRel<elementRel&&fillType==='slice')){this.transformCanvas.ty=(elementHeight-this.transformCanvas.h*(elementWidth / this.transformCanvas.w))*this.renderConfig.dpr;}else{this.transformCanvas.ty=0;}}else if(this.renderConfig.preserveAspectRatio==='none'){this.transformCanvas.sx=elementWidth /(this.transformCanvas.w / this.renderConfig.dpr);this.transformCanvas.sy=elementHeight /(this.transformCanvas.h / this.renderConfig.dpr);this.transformCanvas.tx=0;this.transformCanvas.ty=0;}else{this.transformCanvas.sx=this.renderConfig.dpr;this.transformCanvas.sy=this.renderConfig.dpr;this.transformCanvas.tx=0;this.transformCanvas.ty=0;} 1109this.transformCanvas.props=[this.transformCanvas.sx,0,0,0,0,this.transformCanvas.sy,0,0,0,0,1,0,this.transformCanvas.tx,this.transformCanvas.ty,0,1];this.ctxTransform(this.transformCanvas.props);this.canvasContext.beginPath();this.canvasContext.rect(0,0,this.transformCanvas.w,this.transformCanvas.h);this.canvasContext.closePath();this.canvasContext.clip();this.renderFrame(this.renderedFrame,true);};CanvasRendererBase.prototype.destroy=function(){if(this.renderConfig.clearCanvas&&this.animationItem.wrapper){this.animationItem.wrapper.innerText='';} 1110var i;var len=this.layers?this.layers.length:0;for(i=len-1;i>=0;i-=1){if(this.elements[i]){this.elements[i].destroy();}} 1111this.elements.length=0;this.globalData.canvasContext=null;this.animationItem.container=null;this.destroyed=true;};CanvasRendererBase.prototype.renderFrame=function(num,forceRender){if(this.renderedFrame===num&&this.renderConfig.clearCanvas===true&&!forceRender||this.destroyed||num===-1){return;} 1112this.renderedFrame=num;this.globalData.frameNum=num-this.animationItem._isFirstFrame;this.globalData.frameId+=1;this.globalData._mdf=!this.renderConfig.clearCanvas||forceRender;this.globalData.projectInterface.currentFrame=num;var i;var len=this.layers.length;if(!this.completeLayers){this.checkLayers(num);} 1113for(i=0;i<len;i+=1){if(this.completeLayers||this.elements[i]){this.elements[i].prepareFrame(num-this.layers[i].st);}} 1114if(this.globalData._mdf){if(this.renderConfig.clearCanvas===true){this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h);}else{this.save();} 1115for(i=len-1;i>=0;i-=1){if(this.completeLayers||this.elements[i]){this.elements[i].renderFrame();}} 1116if(this.renderConfig.clearCanvas!==true){this.restore();}}};CanvasRendererBase.prototype.buildItem=function(pos){var elements=this.elements;if(elements[pos]||this.layers[pos].ty===99){return;} 1117var element=this.createItem(this.layers[pos],this,this.globalData);elements[pos]=element;element.initExpressions();};CanvasRendererBase.prototype.checkPendingElements=function(){while(this.pendingElements.length){var element=this.pendingElements.pop();element.checkParenting();}};CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display='none';};CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display='block';};function CVCompElement(data,globalData,comp){this.completeLayers=false;this.layers=data.layers;this.pendingElements=[];this.elements=createSizedArray(this.layers.length);this.initElement(data,globalData,comp);this.tm=data.tm?PropertyFactory.getProp(this,data.tm,0,globalData.frameRate,this):{_placeholder:true};} 1118extendPrototype([CanvasRendererBase,ICompElement,CVBaseElement],CVCompElement);CVCompElement.prototype.renderInnerContent=function(){var ctx=this.canvasContext;ctx.beginPath();ctx.moveTo(0,0);ctx.lineTo(this.data.w,0);ctx.lineTo(this.data.w,this.data.h);ctx.lineTo(0,this.data.h);ctx.lineTo(0,0);ctx.clip();var i;var len=this.layers.length;for(i=len-1;i>=0;i-=1){if(this.completeLayers||this.elements[i]){this.elements[i].renderFrame();}}};CVCompElement.prototype.destroy=function(){var i;var len=this.layers.length;for(i=len-1;i>=0;i-=1){if(this.elements[i]){this.elements[i].destroy();}} 1119this.layers=null;this.elements=null;};CVCompElement.prototype.createComp=function(data){return new CVCompElement(data,this.globalData,this);};function CanvasRenderer(animationItem,config){this.animationItem=animationItem;this.renderConfig={clearCanvas:config&&config.clearCanvas!==undefined?config.clearCanvas:true,context:config&&config.context||null,progressiveLoad:config&&config.progressiveLoad||false,preserveAspectRatio:config&&config.preserveAspectRatio||'xMidYMid meet',imagePreserveAspectRatio:config&&config.imagePreserveAspectRatio||'xMidYMid slice',contentVisibility:config&&config.contentVisibility||'visible',className:config&&config.className||'',id:config&&config.id||'',runExpressions:!config||config.runExpressions===undefined||config.runExpressions};this.renderConfig.dpr=config&&config.dpr||1;if(this.animationItem.wrapper){this.renderConfig.dpr=config&&config.dpr||window.devicePixelRatio||1;} 1120this.renderedFrame=-1;this.globalData={frameNum:-1,_mdf:false,renderConfig:this.renderConfig,currentGlobalAlpha:-1};this.contextData=new CVContextData();this.elements=[];this.pendingElements=[];this.transformMat=new Matrix();this.completeLayers=false;this.rendererType='canvas';} 1121extendPrototype([CanvasRendererBase],CanvasRenderer);CanvasRenderer.prototype.createComp=function(data){return new CVCompElement(data,this.globalData,this);};function HBaseElement(){} 1122HBaseElement.prototype={checkBlendMode:function checkBlendMode(){},initRendererElement:function initRendererElement(){this.baseElement=createTag(this.data.tg||'div');if(this.data.hasMask){this.svgElement=createNS('svg');this.layerElement=createNS('g');this.maskedElement=this.layerElement;this.svgElement.appendChild(this.layerElement);this.baseElement.appendChild(this.svgElement);}else{this.layerElement=this.baseElement;} 1123styleDiv(this.baseElement);},createContainerElements:function createContainerElements(){this.renderableEffectsManager=new CVEffects(this);this.transformedElement=this.baseElement;this.maskedElement=this.layerElement;if(this.data.ln){this.layerElement.setAttribute('id',this.data.ln);} 1124if(this.data.cl){this.layerElement.setAttribute('class',this.data.cl);} 1125if(this.data.bm!==0){this.setBlendMode();}},renderElement:function renderElement(){var transformedElementStyle=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var matrixValue=this.finalTransform.mat.toCSS();transformedElementStyle.transform=matrixValue;transformedElementStyle.webkitTransform=matrixValue;} 1126if(this.finalTransform._opMdf){transformedElementStyle.opacity=this.finalTransform.mProp.o.v;}},renderFrame:function renderFrame(){if(this.data.hd||this.hidden){return;} 1127this.renderTransform();this.renderRenderable();this.renderElement();this.renderInnerContent();if(this._isFirstFrame){this._isFirstFrame=false;}},destroy:function destroy(){this.layerElement=null;this.transformedElement=null;if(this.matteElement){this.matteElement=null;} 1128if(this.maskManager){this.maskManager.destroy();this.maskManager=null;}},createRenderableComponents:function createRenderableComponents(){this.maskManager=new MaskElement(this.data,this,this.globalData);},addEffects:function addEffects(){},setMatte:function setMatte(){}};HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement;HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy;HBaseElement.prototype.buildElementParenting=BaseRenderer.prototype.buildElementParenting;function HSolidElement(data,globalData,comp){this.initElement(data,globalData,comp);} 1129extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement);HSolidElement.prototype.createContent=function(){var rect;if(this.data.hasMask){rect=createNS('rect');rect.setAttribute('width',this.data.sw);rect.setAttribute('height',this.data.sh);rect.setAttribute('fill',this.data.sc);this.svgElement.setAttribute('width',this.data.sw);this.svgElement.setAttribute('height',this.data.sh);}else{rect=createTag('div');rect.style.width=this.data.sw+'px';rect.style.height=this.data.sh+'px';rect.style.backgroundColor=this.data.sc;} 1130this.layerElement.appendChild(rect);};function HShapeElement(data,globalData,comp){this.shapes=[];this.shapesData=data.shapes;this.stylesList=[];this.shapeModifiers=[];this.itemsData=[];this.processedElements=[];this.animatedContents=[];this.shapesContainer=createNS('g');this.initElement(data,globalData,comp);this.prevViewData=[];this.currentBBox={x:999999,y:-999999,h:0,w:0};} 1131extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement);HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent;HShapeElement.prototype.createContent=function(){var cont;this.baseElement.style.fontSize=0;if(this.data.hasMask){this.layerElement.appendChild(this.shapesContainer);cont=this.svgElement;}else{cont=createNS('svg');var size=this.comp.data?this.comp.data:this.globalData.compSize;cont.setAttribute('width',size.w);cont.setAttribute('height',size.h);cont.appendChild(this.shapesContainer);this.layerElement.appendChild(cont);} 1132this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],true);this.filterUniqueShapes();this.shapeCont=cont;};HShapeElement.prototype.getTransformedPoint=function(transformers,point){var i;var len=transformers.length;for(i=0;i<len;i+=1){point=transformers[i].mProps.v.applyToPointArray(point[0],point[1],0);} 1133return point;};HShapeElement.prototype.calculateShapeBoundingBox=function(item,boundingBox){var shape=item.sh.v;var transformers=item.transformers;var i;var len=shape._length;var vPoint;var oPoint;var nextIPoint;var nextVPoint;if(len<=1){return;} 1134for(i=0;i<len-1;i+=1){vPoint=this.getTransformedPoint(transformers,shape.v[i]);oPoint=this.getTransformedPoint(transformers,shape.o[i]);nextIPoint=this.getTransformedPoint(transformers,shape.i[i+1]);nextVPoint=this.getTransformedPoint(transformers,shape.v[i+1]);this.checkBounds(vPoint,oPoint,nextIPoint,nextVPoint,boundingBox);} 1135if(shape.c){vPoint=this.getTransformedPoint(transformers,shape.v[i]);oPoint=this.getTransformedPoint(transformers,shape.o[i]);nextIPoint=this.getTransformedPoint(transformers,shape.i[0]);nextVPoint=this.getTransformedPoint(transformers,shape.v[0]);this.checkBounds(vPoint,oPoint,nextIPoint,nextVPoint,boundingBox);}};HShapeElement.prototype.checkBounds=function(vPoint,oPoint,nextIPoint,nextVPoint,boundingBox){this.getBoundsOfCurve(vPoint,oPoint,nextIPoint,nextVPoint);var bounds=this.shapeBoundingBox;boundingBox.x=bmMin(bounds.left,boundingBox.x);boundingBox.xMax=bmMax(bounds.right,boundingBox.xMax);boundingBox.y=bmMin(bounds.top,boundingBox.y);boundingBox.yMax=bmMax(bounds.bottom,boundingBox.yMax);};HShapeElement.prototype.shapeBoundingBox={left:0,right:0,top:0,bottom:0};HShapeElement.prototype.tempBoundingBox={x:0,xMax:0,y:0,yMax:0,width:0,height:0};HShapeElement.prototype.getBoundsOfCurve=function(p0,p1,p2,p3){var bounds=[[p0[0],p3[0]],[p0[1],p3[1]]];for(var a,b,c,t,b2ac,t1,t2,i=0;i<2;++i){b=6*p0[i]-12*p1[i]+6*p2[i];a=-3*p0[i]+9*p1[i]-9*p2[i]+3*p3[i];c=3*p1[i]-3*p0[i];b|=0;a|=0;c|=0;if(a===0&&b===0){}else if(a===0){t=-c / b;if(t>0&&t<1){bounds[i].push(this.calculateF(t,p0,p1,p2,p3,i));}}else{b2ac=b*b-4*c*a;if(b2ac>=0){t1=(-b+bmSqrt(b2ac))/(2*a);if(t1>0&&t1<1)bounds[i].push(this.calculateF(t1,p0,p1,p2,p3,i));t2=(-b-bmSqrt(b2ac))/(2*a);if(t2>0&&t2<1)bounds[i].push(this.calculateF(t2,p0,p1,p2,p3,i));}}} 1136this.shapeBoundingBox.left=bmMin.apply(null,bounds[0]);this.shapeBoundingBox.top=bmMin.apply(null,bounds[1]);this.shapeBoundingBox.right=bmMax.apply(null,bounds[0]);this.shapeBoundingBox.bottom=bmMax.apply(null,bounds[1]);};HShapeElement.prototype.calculateF=function(t,p0,p1,p2,p3,i){return bmPow(1-t,3)*p0[i]+3*bmPow(1-t,2)*t*p1[i]+3*(1-t)*bmPow(t,2)*p2[i]+bmPow(t,3)*p3[i];};HShapeElement.prototype.calculateBoundingBox=function(itemsData,boundingBox){var i;var len=itemsData.length;for(i=0;i<len;i+=1){if(itemsData[i]&&itemsData[i].sh){this.calculateShapeBoundingBox(itemsData[i],boundingBox);}else if(itemsData[i]&&itemsData[i].it){this.calculateBoundingBox(itemsData[i].it,boundingBox);}else if(itemsData[i]&&itemsData[i].style&&itemsData[i].w){this.expandStrokeBoundingBox(itemsData[i].w,boundingBox);}}};HShapeElement.prototype.expandStrokeBoundingBox=function(widthProperty,boundingBox){var width=0;if(widthProperty.keyframes){for(var i=0;i<widthProperty.keyframes.length;i+=1){var kfw=widthProperty.keyframes[i].s;if(kfw>width){width=kfw;}} 1137width*=widthProperty.mult;}else{width=widthProperty.v*widthProperty.mult;} 1138boundingBox.x-=width;boundingBox.xMax+=width;boundingBox.y-=width;boundingBox.yMax+=width;};HShapeElement.prototype.currentBoxContains=function(box){return this.currentBBox.x<=box.x&&this.currentBBox.y<=box.y&&this.currentBBox.width+this.currentBBox.x>=box.x+box.width&&this.currentBBox.height+this.currentBBox.y>=box.y+box.height;};HShapeElement.prototype.renderInnerContent=function(){this._renderShapeFrame();if(!this.hidden&&(this._isFirstFrame||this._mdf)){var tempBoundingBox=this.tempBoundingBox;var max=999999;tempBoundingBox.x=max;tempBoundingBox.xMax=-max;tempBoundingBox.y=max;tempBoundingBox.yMax=-max;this.calculateBoundingBox(this.itemsData,tempBoundingBox);tempBoundingBox.width=tempBoundingBox.xMax<tempBoundingBox.x?0:tempBoundingBox.xMax-tempBoundingBox.x;tempBoundingBox.height=tempBoundingBox.yMax<tempBoundingBox.y?0:tempBoundingBox.yMax-tempBoundingBox.y;if(this.currentBoxContains(tempBoundingBox)){return;} 1139var changed=false;if(this.currentBBox.w!==tempBoundingBox.width){this.currentBBox.w=tempBoundingBox.width;this.shapeCont.setAttribute('width',tempBoundingBox.width);changed=true;} 1140if(this.currentBBox.h!==tempBoundingBox.height){this.currentBBox.h=tempBoundingBox.height;this.shapeCont.setAttribute('height',tempBoundingBox.height);changed=true;} 1141if(changed||this.currentBBox.x!==tempBoundingBox.x||this.currentBBox.y!==tempBoundingBox.y){this.currentBBox.w=tempBoundingBox.width;this.currentBBox.h=tempBoundingBox.height;this.currentBBox.x=tempBoundingBox.x;this.currentBBox.y=tempBoundingBox.y;this.shapeCont.setAttribute('viewBox',this.currentBBox.x+' '+this.currentBBox.y+' '+this.currentBBox.w+' '+this.currentBBox.h);var shapeStyle=this.shapeCont.style;var shapeTransform='translate('+this.currentBBox.x+'px,'+this.currentBBox.y+'px)';shapeStyle.transform=shapeTransform;shapeStyle.webkitTransform=shapeTransform;}}};function HTextElement(data,globalData,comp){this.textSpans=[];this.textPaths=[];this.currentBBox={x:999999,y:-999999,h:0,w:0};this.renderType='svg';this.isMasked=false;this.initElement(data,globalData,comp);} 1142extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],HTextElement);HTextElement.prototype.createContent=function(){this.isMasked=this.checkMasks();if(this.isMasked){this.renderType='svg';this.compW=this.comp.data.w;this.compH=this.comp.data.h;this.svgElement.setAttribute('width',this.compW);this.svgElement.setAttribute('height',this.compH);var g=createNS('g');this.maskedElement.appendChild(g);this.innerElem=g;}else{this.renderType='html';this.innerElem=this.layerElement;} 1143this.checkParenting();};HTextElement.prototype.buildNewText=function(){var documentData=this.textProperty.currentData;this.renderedLetters=createSizedArray(documentData.l?documentData.l.length:0);var innerElemStyle=this.innerElem.style;var textColor=documentData.fc?this.buildColor(documentData.fc):'rgba(0,0,0,0)';innerElemStyle.fill=textColor;innerElemStyle.color=textColor;if(documentData.sc){innerElemStyle.stroke=this.buildColor(documentData.sc);innerElemStyle.strokeWidth=documentData.sw+'px';} 1144var fontData=this.globalData.fontManager.getFontByName(documentData.f);if(!this.globalData.fontManager.chars){innerElemStyle.fontSize=documentData.finalSize+'px';innerElemStyle.lineHeight=documentData.finalSize+'px';if(fontData.fClass){this.innerElem.className=fontData.fClass;}else{innerElemStyle.fontFamily=fontData.fFamily;var fWeight=documentData.fWeight;var fStyle=documentData.fStyle;innerElemStyle.fontStyle=fStyle;innerElemStyle.fontWeight=fWeight;}} 1145var i;var len;var letters=documentData.l;len=letters.length;var tSpan;var tParent;var tCont;var matrixHelper=this.mHelper;var shapes;var shapeStr='';var cnt=0;for(i=0;i<len;i+=1){if(this.globalData.fontManager.chars){if(!this.textPaths[cnt]){tSpan=createNS('path');tSpan.setAttribute('stroke-linecap',lineCapEnum[1]);tSpan.setAttribute('stroke-linejoin',lineJoinEnum[2]);tSpan.setAttribute('stroke-miterlimit','4');}else{tSpan=this.textPaths[cnt];} 1146if(!this.isMasked){if(this.textSpans[cnt]){tParent=this.textSpans[cnt];tCont=tParent.children[0];}else{tParent=createTag('div');tParent.style.lineHeight=0;tCont=createNS('svg');tCont.appendChild(tSpan);styleDiv(tParent);}}}else if(!this.isMasked){if(this.textSpans[cnt]){tParent=this.textSpans[cnt];tSpan=this.textPaths[cnt];}else{tParent=createTag('span');styleDiv(tParent);tSpan=createTag('span');styleDiv(tSpan);tParent.appendChild(tSpan);}}else{tSpan=this.textPaths[cnt]?this.textPaths[cnt]:createNS('text');} 1147if(this.globalData.fontManager.chars){var charData=this.globalData.fontManager.getCharData(documentData.finalText[i],fontData.fStyle,this.globalData.fontManager.getFontByName(documentData.f).fFamily);var shapeData;if(charData){shapeData=charData.data;}else{shapeData=null;} 1148matrixHelper.reset();if(shapeData&&shapeData.shapes&&shapeData.shapes.length){shapes=shapeData.shapes[0].it;matrixHelper.scale(documentData.finalSize / 100,documentData.finalSize / 100);shapeStr=this.createPathShape(matrixHelper,shapes);tSpan.setAttribute('d',shapeStr);} 1149if(!this.isMasked){this.innerElem.appendChild(tParent);if(shapeData&&shapeData.shapes){document.body.appendChild(tCont);var boundingBox=tCont.getBBox();tCont.setAttribute('width',boundingBox.width+2);tCont.setAttribute('height',boundingBox.height+2);tCont.setAttribute('viewBox',boundingBox.x-1+' '+(boundingBox.y-1)+' '+(boundingBox.width+2)+' '+(boundingBox.height+2));var tContStyle=tCont.style;var tContTranslation='translate('+(boundingBox.x-1)+'px,'+(boundingBox.y-1)+'px)';tContStyle.transform=tContTranslation;tContStyle.webkitTransform=tContTranslation;letters[i].yOffset=boundingBox.y-1;}else{tCont.setAttribute('width',1);tCont.setAttribute('height',1);} 1150tParent.appendChild(tCont);}else{this.innerElem.appendChild(tSpan);}}else{tSpan.textContent=letters[i].val;tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace','xml:space','preserve');if(!this.isMasked){this.innerElem.appendChild(tParent);var tStyle=tSpan.style;var tSpanTranslation='translate3d(0,'+ -documentData.finalSize / 1.2+'px,0)';tStyle.transform=tSpanTranslation;tStyle.webkitTransform=tSpanTranslation;}else{this.innerElem.appendChild(tSpan);}} 1151if(!this.isMasked){this.textSpans[cnt]=tParent;}else{this.textSpans[cnt]=tSpan;} 1152this.textSpans[cnt].style.display='block';this.textPaths[cnt]=tSpan;cnt+=1;} 1153while(cnt<this.textSpans.length){this.textSpans[cnt].style.display='none';cnt+=1;}};HTextElement.prototype.renderInnerContent=function(){var svgStyle;if(this.data.singleShape){if(!this._isFirstFrame&&!this.lettersChangedFlag){return;} 1154if(this.isMasked&&this.finalTransform._matMdf){this.svgElement.setAttribute('viewBox',-this.finalTransform.mProp.p.v[0]+' '+ -this.finalTransform.mProp.p.v[1]+' '+this.compW+' '+this.compH);svgStyle=this.svgElement.style;var translation='translate('+ -this.finalTransform.mProp.p.v[0]+'px,'+ -this.finalTransform.mProp.p.v[1]+'px)';svgStyle.transform=translation;svgStyle.webkitTransform=translation;}} 1155this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag);if(!this.lettersChangedFlag&&!this.textAnimator.lettersChangedFlag){return;} 1156var i;var len;var count=0;var renderedLetters=this.textAnimator.renderedLetters;var letters=this.textProperty.currentData.l;len=letters.length;var renderedLetter;var textSpan;var textPath;for(i=0;i<len;i+=1){if(letters[i].n){count+=1;}else{textSpan=this.textSpans[i];textPath=this.textPaths[i];renderedLetter=renderedLetters[count];count+=1;if(renderedLetter._mdf.m){if(!this.isMasked){textSpan.style.webkitTransform=renderedLetter.m;textSpan.style.transform=renderedLetter.m;}else{textSpan.setAttribute('transform',renderedLetter.m);}} 1157textSpan.style.opacity=renderedLetter.o;if(renderedLetter.sw&&renderedLetter._mdf.sw){textPath.setAttribute('stroke-width',renderedLetter.sw);} 1158if(renderedLetter.sc&&renderedLetter._mdf.sc){textPath.setAttribute('stroke',renderedLetter.sc);} 1159if(renderedLetter.fc&&renderedLetter._mdf.fc){textPath.setAttribute('fill',renderedLetter.fc);textPath.style.color=renderedLetter.fc;}}} 1160if(this.innerElem.getBBox&&!this.hidden&&(this._isFirstFrame||this._mdf)){var boundingBox=this.innerElem.getBBox();if(this.currentBBox.w!==boundingBox.width){this.currentBBox.w=boundingBox.width;this.svgElement.setAttribute('width',boundingBox.width);} 1161if(this.currentBBox.h!==boundingBox.height){this.currentBBox.h=boundingBox.height;this.svgElement.setAttribute('height',boundingBox.height);} 1162var margin=1;if(this.currentBBox.w!==boundingBox.width+margin*2||this.currentBBox.h!==boundingBox.height+margin*2||this.currentBBox.x!==boundingBox.x-margin||this.currentBBox.y!==boundingBox.y-margin){this.currentBBox.w=boundingBox.width+margin*2;this.currentBBox.h=boundingBox.height+margin*2;this.currentBBox.x=boundingBox.x-margin;this.currentBBox.y=boundingBox.y-margin;this.svgElement.setAttribute('viewBox',this.currentBBox.x+' '+this.currentBBox.y+' '+this.currentBBox.w+' '+this.currentBBox.h);svgStyle=this.svgElement.style;var svgTransform='translate('+this.currentBBox.x+'px,'+this.currentBBox.y+'px)';svgStyle.transform=svgTransform;svgStyle.webkitTransform=svgTransform;}}};function HCameraElement(data,globalData,comp){this.initFrame();this.initBaseData(data,globalData,comp);this.initHierarchy();var getProp=PropertyFactory.getProp;this.pe=getProp(this,data.pe,0,0,this);if(data.ks.p.s){this.px=getProp(this,data.ks.p.x,1,0,this);this.py=getProp(this,data.ks.p.y,1,0,this);this.pz=getProp(this,data.ks.p.z,1,0,this);}else{this.p=getProp(this,data.ks.p,1,0,this);} 1163if(data.ks.a){this.a=getProp(this,data.ks.a,1,0,this);} 1164if(data.ks.or.k.length&&data.ks.or.k[0].to){var i;var len=data.ks.or.k.length;for(i=0;i<len;i+=1){data.ks.or.k[i].to=null;data.ks.or.k[i].ti=null;}} 1165this.or=getProp(this,data.ks.or,1,degToRads,this);this.or.sh=true;this.rx=getProp(this,data.ks.rx,0,degToRads,this);this.ry=getProp(this,data.ks.ry,0,degToRads,this);this.rz=getProp(this,data.ks.rz,0,degToRads,this);this.mat=new Matrix();this._prevMat=new Matrix();this._isFirstFrame=true;this.finalTransform={mProp:this};} 1166extendPrototype([BaseElement,FrameElement,HierarchyElement],HCameraElement);HCameraElement.prototype.setup=function(){var i;var len=this.comp.threeDElements.length;var comp;var perspectiveStyle;var containerStyle;for(i=0;i<len;i+=1){comp=this.comp.threeDElements[i];if(comp.type==='3d'){perspectiveStyle=comp.perspectiveElem.style;containerStyle=comp.container.style;var perspective=this.pe.v+'px';var origin='0px 0px 0px';var matrix='matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';perspectiveStyle.perspective=perspective;perspectiveStyle.webkitPerspective=perspective;containerStyle.transformOrigin=origin;containerStyle.mozTransformOrigin=origin;containerStyle.webkitTransformOrigin=origin;perspectiveStyle.transform=matrix;perspectiveStyle.webkitTransform=matrix;}}};HCameraElement.prototype.createElements=function(){};HCameraElement.prototype.hide=function(){};HCameraElement.prototype.renderFrame=function(){var _mdf=this._isFirstFrame;var i;var len;if(this.hierarchy){len=this.hierarchy.length;for(i=0;i<len;i+=1){_mdf=this.hierarchy[i].finalTransform.mProp._mdf||_mdf;}} 1167if(_mdf||this.pe._mdf||this.p&&this.p._mdf||this.px&&(this.px._mdf||this.py._mdf||this.pz._mdf)||this.rx._mdf||this.ry._mdf||this.rz._mdf||this.or._mdf||this.a&&this.a._mdf){this.mat.reset();if(this.hierarchy){len=this.hierarchy.length-1;for(i=len;i>=0;i-=1){var mTransf=this.hierarchy[i].finalTransform.mProp;this.mat.translate(-mTransf.p.v[0],-mTransf.p.v[1],mTransf.p.v[2]);this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);this.mat.scale(1 / mTransf.s.v[0],1 / mTransf.s.v[1],1 / mTransf.s.v[2]);this.mat.translate(mTransf.a.v[0],mTransf.a.v[1],mTransf.a.v[2]);}} 1168if(this.p){this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]);}else{this.mat.translate(-this.px.v,-this.py.v,this.pz.v);} 1169if(this.a){var diffVector;if(this.p){diffVector=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]];}else{diffVector=[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];} 1170var mag=Math.sqrt(Math.pow(diffVector[0],2)+Math.pow(diffVector[1],2)+Math.pow(diffVector[2],2));var lookDir=[diffVector[0]/ mag,diffVector[1]/ mag,diffVector[2]/ mag];var lookLengthOnXZ=Math.sqrt(lookDir[2]*lookDir[2]+lookDir[0]*lookDir[0]);var mRotationX=Math.atan2(lookDir[1],lookLengthOnXZ);var mRotationY=Math.atan2(lookDir[0],-lookDir[2]);this.mat.rotateY(mRotationY).rotateX(-mRotationX);} 1171this.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);var hasMatrixChanged=!this._prevMat.equals(this.mat);if((hasMatrixChanged||this.pe._mdf)&&this.comp.threeDElements){len=this.comp.threeDElements.length;var comp;var perspectiveStyle;var containerStyle;for(i=0;i<len;i+=1){comp=this.comp.threeDElements[i];if(comp.type==='3d'){if(hasMatrixChanged){var matValue=this.mat.toCSS();containerStyle=comp.container.style;containerStyle.transform=matValue;containerStyle.webkitTransform=matValue;} 1172if(this.pe._mdf){perspectiveStyle=comp.perspectiveElem.style;perspectiveStyle.perspective=this.pe.v+'px';perspectiveStyle.webkitPerspective=this.pe.v+'px';}}} 1173this.mat.clone(this._prevMat);}} 1174this._isFirstFrame=false;};HCameraElement.prototype.prepareFrame=function(num){this.prepareProperties(num,true);};HCameraElement.prototype.destroy=function(){};HCameraElement.prototype.getBaseElement=function(){return null;};function HImageElement(data,globalData,comp){this.assetData=globalData.getAssetData(data.refId);this.initElement(data,globalData,comp);} 1175extendPrototype([BaseElement,TransformElement,HBaseElement,HSolidElement,HierarchyElement,FrameElement,RenderableElement],HImageElement);HImageElement.prototype.createContent=function(){var assetPath=this.globalData.getAssetsPath(this.assetData);var img=new Image();if(this.data.hasMask){this.imageElem=createNS('image');this.imageElem.setAttribute('width',this.assetData.w+'px');this.imageElem.setAttribute('height',this.assetData.h+'px');this.imageElem.setAttributeNS('http://www.w3.org/1999/xlink','href',assetPath);this.layerElement.appendChild(this.imageElem);this.baseElement.setAttribute('width',this.assetData.w);this.baseElement.setAttribute('height',this.assetData.h);}else{this.layerElement.appendChild(img);} 1176img.crossOrigin='anonymous';img.src=assetPath;if(this.data.ln){this.baseElement.setAttribute('id',this.data.ln);}};function HybridRendererBase(animationItem,config){this.animationItem=animationItem;this.layers=null;this.renderedFrame=-1;this.renderConfig={className:config&&config.className||'',imagePreserveAspectRatio:config&&config.imagePreserveAspectRatio||'xMidYMid slice',hideOnTransparent:!(config&&config.hideOnTransparent===false),filterSize:{width:config&&config.filterSize&&config.filterSize.width||'400%',height:config&&config.filterSize&&config.filterSize.height||'400%',x:config&&config.filterSize&&config.filterSize.x||'-100%',y:config&&config.filterSize&&config.filterSize.y||'-100%'}};this.globalData={_mdf:false,frameNum:-1,renderConfig:this.renderConfig};this.pendingElements=[];this.elements=[];this.threeDElements=[];this.destroyed=false;this.camera=null;this.supports3d=true;this.rendererType='html';} 1177extendPrototype([BaseRenderer],HybridRendererBase);HybridRendererBase.prototype.buildItem=SVGRenderer.prototype.buildItem;HybridRendererBase.prototype.checkPendingElements=function(){while(this.pendingElements.length){var element=this.pendingElements.pop();element.checkParenting();}};HybridRendererBase.prototype.appendElementInPos=function(element,pos){var newDOMElement=element.getBaseElement();if(!newDOMElement){return;} 1178var layer=this.layers[pos];if(!layer.ddd||!this.supports3d){if(this.threeDElements){this.addTo3dContainer(newDOMElement,pos);}else{var i=0;var nextDOMElement;var nextLayer;var tmpDOMElement;while(i<pos){if(this.elements[i]&&this.elements[i]!==true&&this.elements[i].getBaseElement){nextLayer=this.elements[i];tmpDOMElement=this.layers[i].ddd?this.getThreeDContainerByPos(i):nextLayer.getBaseElement();nextDOMElement=tmpDOMElement||nextDOMElement;} 1179i+=1;} 1180if(nextDOMElement){if(!layer.ddd||!this.supports3d){this.layerElement.insertBefore(newDOMElement,nextDOMElement);}}else if(!layer.ddd||!this.supports3d){this.layerElement.appendChild(newDOMElement);}}}else{this.addTo3dContainer(newDOMElement,pos);}};HybridRendererBase.prototype.createShape=function(data){if(!this.supports3d){return new SVGShapeElement(data,this.globalData,this);} 1181return new HShapeElement(data,this.globalData,this);};HybridRendererBase.prototype.createText=function(data){if(!this.supports3d){return new SVGTextLottieElement(data,this.globalData,this);} 1182return new HTextElement(data,this.globalData,this);};HybridRendererBase.prototype.createCamera=function(data){this.camera=new HCameraElement(data,this.globalData,this);return this.camera;};HybridRendererBase.prototype.createImage=function(data){if(!this.supports3d){return new IImageElement(data,this.globalData,this);} 1183return new HImageElement(data,this.globalData,this);};HybridRendererBase.prototype.createSolid=function(data){if(!this.supports3d){return new ISolidElement(data,this.globalData,this);} 1184return new HSolidElement(data,this.globalData,this);};HybridRendererBase.prototype.createNull=SVGRenderer.prototype.createNull;HybridRendererBase.prototype.getThreeDContainerByPos=function(pos){var i=0;var len=this.threeDElements.length;while(i<len){if(this.threeDElements[i].startPos<=pos&&this.threeDElements[i].endPos>=pos){return this.threeDElements[i].perspectiveElem;} 1185i+=1;} 1186return null;};HybridRendererBase.prototype.createThreeDContainer=function(pos,type){var perspectiveElem=createTag('div');var style;var containerStyle;styleDiv(perspectiveElem);var container=createTag('div');styleDiv(container);if(type==='3d'){style=perspectiveElem.style;style.width=this.globalData.compSize.w+'px';style.height=this.globalData.compSize.h+'px';var center='50% 50%';style.webkitTransformOrigin=center;style.mozTransformOrigin=center;style.transformOrigin=center;containerStyle=container.style;var matrix='matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';containerStyle.transform=matrix;containerStyle.webkitTransform=matrix;} 1187perspectiveElem.appendChild(container);var threeDContainerData={container:container,perspectiveElem:perspectiveElem,startPos:pos,endPos:pos,type:type};this.threeDElements.push(threeDContainerData);return threeDContainerData;};HybridRendererBase.prototype.build3dContainers=function(){var i;var len=this.layers.length;var lastThreeDContainerData;var currentContainer='';for(i=0;i<len;i+=1){if(this.layers[i].ddd&&this.layers[i].ty!==3){if(currentContainer!=='3d'){currentContainer='3d';lastThreeDContainerData=this.createThreeDContainer(i,'3d');} 1188lastThreeDContainerData.endPos=Math.max(lastThreeDContainerData.endPos,i);}else{if(currentContainer!=='2d'){currentContainer='2d';lastThreeDContainerData=this.createThreeDContainer(i,'2d');} 1189lastThreeDContainerData.endPos=Math.max(lastThreeDContainerData.endPos,i);}} 1190len=this.threeDElements.length;for(i=len-1;i>=0;i-=1){this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);}};HybridRendererBase.prototype.addTo3dContainer=function(elem,pos){var i=0;var len=this.threeDElements.length;while(i<len){if(pos<=this.threeDElements[i].endPos){var j=this.threeDElements[i].startPos;var nextElement;while(j<pos){if(this.elements[j]&&this.elements[j].getBaseElement){nextElement=this.elements[j].getBaseElement();} 1191j+=1;} 1192if(nextElement){this.threeDElements[i].container.insertBefore(elem,nextElement);}else{this.threeDElements[i].container.appendChild(elem);} 1193break;} 1194i+=1;}};HybridRendererBase.prototype.configAnimation=function(animData){var resizerElem=createTag('div');var wrapper=this.animationItem.wrapper;var style=resizerElem.style;style.width=animData.w+'px';style.height=animData.h+'px';this.resizerElem=resizerElem;styleDiv(resizerElem);style.transformStyle='flat';style.mozTransformStyle='flat';style.webkitTransformStyle='flat';if(this.renderConfig.className){resizerElem.setAttribute('class',this.renderConfig.className);} 1195wrapper.appendChild(resizerElem);style.overflow='hidden';var svg=createNS('svg');svg.setAttribute('width','1');svg.setAttribute('height','1');styleDiv(svg);this.resizerElem.appendChild(svg);var defs=createNS('defs');svg.appendChild(defs);this.data=animData;this.setupGlobalData(animData,svg);this.globalData.defs=defs;this.layers=animData.layers;this.layerElement=this.resizerElem;this.build3dContainers();this.updateContainerSize();};HybridRendererBase.prototype.destroy=function(){if(this.animationItem.wrapper){this.animationItem.wrapper.innerText='';} 1196this.animationItem.container=null;this.globalData.defs=null;var i;var len=this.layers?this.layers.length:0;for(i=0;i<len;i+=1){this.elements[i].destroy();} 1197this.elements.length=0;this.destroyed=true;this.animationItem=null;};HybridRendererBase.prototype.updateContainerSize=function(){var elementWidth=this.animationItem.wrapper.offsetWidth;var elementHeight=this.animationItem.wrapper.offsetHeight;var elementRel=elementWidth / elementHeight;var animationRel=this.globalData.compSize.w / this.globalData.compSize.h;var sx;var sy;var tx;var ty;if(animationRel>elementRel){sx=elementWidth / this.globalData.compSize.w;sy=elementWidth / this.globalData.compSize.w;tx=0;ty=(elementHeight-this.globalData.compSize.h*(elementWidth / this.globalData.compSize.w))/ 2;}else{sx=elementHeight / this.globalData.compSize.h;sy=elementHeight / this.globalData.compSize.h;tx=(elementWidth-this.globalData.compSize.w*(elementHeight / this.globalData.compSize.h))/ 2;ty=0;} 1198var style=this.resizerElem.style;style.webkitTransform='matrix3d('+sx+',0,0,0,0,'+sy+',0,0,0,0,1,0,'+tx+','+ty+',0,1)';style.transform=style.webkitTransform;};HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame;HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display='none';};HybridRendererBase.prototype.show=function(){this.resizerElem.style.display='block';};HybridRendererBase.prototype.initItems=function(){this.buildAllItems();if(this.camera){this.camera.setup();}else{var cWidth=this.globalData.compSize.w;var cHeight=this.globalData.compSize.h;var i;var len=this.threeDElements.length;for(i=0;i<len;i+=1){var style=this.threeDElements[i].perspectiveElem.style;style.webkitPerspective=Math.sqrt(Math.pow(cWidth,2)+Math.pow(cHeight,2))+'px';style.perspective=style.webkitPerspective;}}};HybridRendererBase.prototype.searchExtraCompositions=function(assets){var i;var len=assets.length;var floatingContainer=createTag('div');for(i=0;i<len;i+=1){if(assets[i].xt){var comp=this.createComp(assets[i],floatingContainer,this.globalData.comp,null);comp.initExpressions();this.globalData.projectInterface.registerComposition(comp);}}};function HCompElement(data,globalData,comp){this.layers=data.layers;this.supports3d=!data.hasMask;this.completeLayers=false;this.pendingElements=[];this.elements=this.layers?createSizedArray(this.layers.length):[];this.initElement(data,globalData,comp);this.tm=data.tm?PropertyFactory.getProp(this,data.tm,0,globalData.frameRate,this):{_placeholder:true};} 1199extendPrototype([HybridRendererBase,ICompElement,HBaseElement],HCompElement);HCompElement.prototype._createBaseContainerElements=HCompElement.prototype.createContainerElements;HCompElement.prototype.createContainerElements=function(){this._createBaseContainerElements();if(this.data.hasMask){this.svgElement.setAttribute('width',this.data.w);this.svgElement.setAttribute('height',this.data.h);this.transformedElement=this.baseElement;}else{this.transformedElement=this.layerElement;}};HCompElement.prototype.addTo3dContainer=function(elem,pos){var j=0;var nextElement;while(j<pos){if(this.elements[j]&&this.elements[j].getBaseElement){nextElement=this.elements[j].getBaseElement();} 1200j+=1;} 1201if(nextElement){this.layerElement.insertBefore(elem,nextElement);}else{this.layerElement.appendChild(elem);}};HCompElement.prototype.createComp=function(data){if(!this.supports3d){return new SVGCompElement(data,this.globalData,this);} 1202return new HCompElement(data,this.globalData,this);};function HybridRenderer(animationItem,config){this.animationItem=animationItem;this.layers=null;this.renderedFrame=-1;this.renderConfig={className:config&&config.className||'',imagePreserveAspectRatio:config&&config.imagePreserveAspectRatio||'xMidYMid slice',hideOnTransparent:!(config&&config.hideOnTransparent===false),filterSize:{width:config&&config.filterSize&&config.filterSize.width||'400%',height:config&&config.filterSize&&config.filterSize.height||'400%',x:config&&config.filterSize&&config.filterSize.x||'-100%',y:config&&config.filterSize&&config.filterSize.y||'-100%'},runExpressions:!config||config.runExpressions===undefined||config.runExpressions};this.globalData={_mdf:false,frameNum:-1,renderConfig:this.renderConfig};this.pendingElements=[];this.elements=[];this.threeDElements=[];this.destroyed=false;this.camera=null;this.supports3d=true;this.rendererType='html';} 1203extendPrototype([HybridRendererBase],HybridRenderer);HybridRenderer.prototype.createComp=function(data){if(!this.supports3d){return new SVGCompElement(data,this.globalData,this);} 1204return new HCompElement(data,this.globalData,this);};var CompExpressionInterface=function(){return function(comp){function _thisLayerFunction(name){var i=0;var len=comp.layers.length;while(i<len){if(comp.layers[i].nm===name||comp.layers[i].ind===name){return comp.elements[i].layerInterface;} 1205i+=1;} 1206return null;} 1207Object.defineProperty(_thisLayerFunction,'_name',{value:comp.data.nm});_thisLayerFunction.layer=_thisLayerFunction;_thisLayerFunction.pixelAspect=1;_thisLayerFunction.height=comp.data.h||comp.globalData.compSize.h;_thisLayerFunction.width=comp.data.w||comp.globalData.compSize.w;_thisLayerFunction.pixelAspect=1;_thisLayerFunction.frameDuration=1 / comp.globalData.frameRate;_thisLayerFunction.displayStartTime=0;_thisLayerFunction.numLayers=comp.layers.length;return _thisLayerFunction;};}();var Expressions=function(){var ob={};ob.initExpressions=initExpressions;function initExpressions(animation){var stackCount=0;var registers=[];function pushExpression(){stackCount+=1;} 1208function popExpression(){stackCount-=1;if(stackCount===0){releaseInstances();}} 1209function registerExpressionProperty(expression){if(registers.indexOf(expression)===-1){registers.push(expression);}} 1210function releaseInstances(){var i;var len=registers.length;for(i=0;i<len;i+=1){registers[i].release();} 1211registers.length=0;} 1212animation.renderer.compInterface=CompExpressionInterface(animation.renderer);animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);animation.renderer.globalData.pushExpression=pushExpression;animation.renderer.globalData.popExpression=popExpression;animation.renderer.globalData.registerExpressionProperty=registerExpressionProperty;} 1213return ob;}();var MaskManagerInterface=function(){function MaskInterface(mask,data){this._mask=mask;this._data=data;} 1214Object.defineProperty(MaskInterface.prototype,'maskPath',{get:function get(){if(this._mask.prop.k){this._mask.prop.getValue();} 1215return this._mask.prop;}});Object.defineProperty(MaskInterface.prototype,'maskOpacity',{get:function get(){if(this._mask.op.k){this._mask.op.getValue();} 1216return this._mask.op.v*100;}});var MaskManager=function MaskManager(maskManager){var _masksInterfaces=createSizedArray(maskManager.viewData.length);var i;var len=maskManager.viewData.length;for(i=0;i<len;i+=1){_masksInterfaces[i]=new MaskInterface(maskManager.viewData[i],maskManager.masksProperties[i]);} 1217var maskFunction=function maskFunction(name){i=0;while(i<len){if(maskManager.masksProperties[i].nm===name){return _masksInterfaces[i];} 1218i+=1;} 1219return null;};return maskFunction;};return MaskManager;}();var ExpressionPropertyInterface=function(){var defaultUnidimensionalValue={pv:0,v:0,mult:1};var defaultMultidimensionalValue={pv:[0,0,0],v:[0,0,0],mult:1};function completeProperty(expressionValue,property,type){Object.defineProperty(expressionValue,'velocity',{get:function get(){return property.getVelocityAtTime(property.comp.currentFrame);}});expressionValue.numKeys=property.keyframes?property.keyframes.length:0;expressionValue.key=function(pos){if(!expressionValue.numKeys){return 0;} 1220var value='';if('s'in property.keyframes[pos-1]){value=property.keyframes[pos-1].s;}else if('e'in property.keyframes[pos-2]){value=property.keyframes[pos-2].e;}else{value=property.keyframes[pos-2].s;} 1221var valueProp=type==='unidimensional'?new Number(value):Object.assign({},value);valueProp.time=property.keyframes[pos-1].t / property.elem.comp.globalData.frameRate;valueProp.value=type==='unidimensional'?value[0]:value;return valueProp;};expressionValue.valueAtTime=property.getValueAtTime;expressionValue.speedAtTime=property.getSpeedAtTime;expressionValue.velocityAtTime=property.getVelocityAtTime;expressionValue.propertyGroup=property.propertyGroup;} 1222function UnidimensionalPropertyInterface(property){if(!property||!('pv'in property)){property=defaultUnidimensionalValue;} 1223var mult=1 / property.mult;var val=property.pv*mult;var expressionValue=new Number(val);expressionValue.value=val;completeProperty(expressionValue,property,'unidimensional');return function(){if(property.k){property.getValue();} 1224val=property.v*mult;if(expressionValue.value!==val){expressionValue=new Number(val);expressionValue.value=val;completeProperty(expressionValue,property,'unidimensional');} 1225return expressionValue;};} 1226function MultidimensionalPropertyInterface(property){if(!property||!('pv'in property)){property=defaultMultidimensionalValue;} 1227var mult=1 / property.mult;var len=property.data&&property.data.l||property.pv.length;var expressionValue=createTypedArray('float32',len);var arrValue=createTypedArray('float32',len);expressionValue.value=arrValue;completeProperty(expressionValue,property,'multidimensional');return function(){if(property.k){property.getValue();} 1228for(var i=0;i<len;i+=1){arrValue[i]=property.v[i]*mult;expressionValue[i]=arrValue[i];} 1229return expressionValue;};} 1230function defaultGetter(){return defaultUnidimensionalValue;} 1231return function(property){if(!property){return defaultGetter;} 1232if(property.propType==='unidimensional'){return UnidimensionalPropertyInterface(property);} 1233return MultidimensionalPropertyInterface(property);};}();var TransformExpressionInterface=function(){return function(transform){function _thisFunction(name){switch(name){case'scale':case'Scale':case'ADBE Scale':case 6:return _thisFunction.scale;case'rotation':case'Rotation':case'ADBE Rotation':case'ADBE Rotate Z':case 10:return _thisFunction.rotation;case'ADBE Rotate X':return _thisFunction.xRotation;case'ADBE Rotate Y':return _thisFunction.yRotation;case'position':case'Position':case'ADBE Position':case 2:return _thisFunction.position;case'ADBE Position_0':return _thisFunction.xPosition;case'ADBE Position_1':return _thisFunction.yPosition;case'ADBE Position_2':return _thisFunction.zPosition;case'anchorPoint':case'AnchorPoint':case'Anchor Point':case'ADBE AnchorPoint':case 1:return _thisFunction.anchorPoint;case'opacity':case'Opacity':case 11:return _thisFunction.opacity;default:return null;}} 1234Object.defineProperty(_thisFunction,'rotation',{get:ExpressionPropertyInterface(transform.r||transform.rz)});Object.defineProperty(_thisFunction,'zRotation',{get:ExpressionPropertyInterface(transform.rz||transform.r)});Object.defineProperty(_thisFunction,'xRotation',{get:ExpressionPropertyInterface(transform.rx)});Object.defineProperty(_thisFunction,'yRotation',{get:ExpressionPropertyInterface(transform.ry)});Object.defineProperty(_thisFunction,'scale',{get:ExpressionPropertyInterface(transform.s)});var _px;var _py;var _pz;var _transformFactory;if(transform.p){_transformFactory=ExpressionPropertyInterface(transform.p);}else{_px=ExpressionPropertyInterface(transform.px);_py=ExpressionPropertyInterface(transform.py);if(transform.pz){_pz=ExpressionPropertyInterface(transform.pz);}} 1235Object.defineProperty(_thisFunction,'position',{get:function get(){if(transform.p){return _transformFactory();} 1236return[_px(),_py(),_pz?_pz():0];}});Object.defineProperty(_thisFunction,'xPosition',{get:ExpressionPropertyInterface(transform.px)});Object.defineProperty(_thisFunction,'yPosition',{get:ExpressionPropertyInterface(transform.py)});Object.defineProperty(_thisFunction,'zPosition',{get:ExpressionPropertyInterface(transform.pz)});Object.defineProperty(_thisFunction,'anchorPoint',{get:ExpressionPropertyInterface(transform.a)});Object.defineProperty(_thisFunction,'opacity',{get:ExpressionPropertyInterface(transform.o)});Object.defineProperty(_thisFunction,'skew',{get:ExpressionPropertyInterface(transform.sk)});Object.defineProperty(_thisFunction,'skewAxis',{get:ExpressionPropertyInterface(transform.sa)});Object.defineProperty(_thisFunction,'orientation',{get:ExpressionPropertyInterface(transform.or)});return _thisFunction;};}();var LayerExpressionInterface=function(){function getMatrix(time){var toWorldMat=new Matrix();if(time!==undefined){var propMatrix=this._elem.finalTransform.mProp.getValueAtTime(time);propMatrix.clone(toWorldMat);}else{var transformMat=this._elem.finalTransform.mProp;transformMat.applyToMatrix(toWorldMat);} 1237return toWorldMat;} 1238function toWorldVec(arr,time){var toWorldMat=this.getMatrix(time);toWorldMat.props[12]=0;toWorldMat.props[13]=0;toWorldMat.props[14]=0;return this.applyPoint(toWorldMat,arr);} 1239function toWorld(arr,time){var toWorldMat=this.getMatrix(time);return this.applyPoint(toWorldMat,arr);} 1240function fromWorldVec(arr,time){var toWorldMat=this.getMatrix(time);toWorldMat.props[12]=0;toWorldMat.props[13]=0;toWorldMat.props[14]=0;return this.invertPoint(toWorldMat,arr);} 1241function fromWorld(arr,time){var toWorldMat=this.getMatrix(time);return this.invertPoint(toWorldMat,arr);} 1242function applyPoint(matrix,arr){if(this._elem.hierarchy&&this._elem.hierarchy.length){var i;var len=this._elem.hierarchy.length;for(i=0;i<len;i+=1){this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);}} 1243return matrix.applyToPointArray(arr[0],arr[1],arr[2]||0);} 1244function invertPoint(matrix,arr){if(this._elem.hierarchy&&this._elem.hierarchy.length){var i;var len=this._elem.hierarchy.length;for(i=0;i<len;i+=1){this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);}} 1245return matrix.inversePoint(arr);} 1246function fromComp(arr){var toWorldMat=new Matrix();toWorldMat.reset();this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);if(this._elem.hierarchy&&this._elem.hierarchy.length){var i;var len=this._elem.hierarchy.length;for(i=0;i<len;i+=1){this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);} 1247return toWorldMat.inversePoint(arr);} 1248return toWorldMat.inversePoint(arr);} 1249function sampleImage(){return[1,1,1,1];} 1250return function(elem){var transformInterface;function _registerMaskInterface(maskManager){_thisLayerFunction.mask=new MaskManagerInterface(maskManager,elem);} 1251function _registerEffectsInterface(effects){_thisLayerFunction.effect=effects;} 1252function _thisLayerFunction(name){switch(name){case'ADBE Root Vectors Group':case'Contents':case 2:return _thisLayerFunction.shapeInterface;case 1:case 6:case'Transform':case'transform':case'ADBE Transform Group':return transformInterface;case 4:case'ADBE Effect Parade':case'effects':case'Effects':return _thisLayerFunction.effect;case'ADBE Text Properties':return _thisLayerFunction.textInterface;default:return null;}} 1253_thisLayerFunction.getMatrix=getMatrix;_thisLayerFunction.invertPoint=invertPoint;_thisLayerFunction.applyPoint=applyPoint;_thisLayerFunction.toWorld=toWorld;_thisLayerFunction.toWorldVec=toWorldVec;_thisLayerFunction.fromWorld=fromWorld;_thisLayerFunction.fromWorldVec=fromWorldVec;_thisLayerFunction.toComp=toWorld;_thisLayerFunction.fromComp=fromComp;_thisLayerFunction.sampleImage=sampleImage;_thisLayerFunction.sourceRectAtTime=elem.sourceRectAtTime.bind(elem);_thisLayerFunction._elem=elem;transformInterface=TransformExpressionInterface(elem.finalTransform.mProp);var anchorPointDescriptor=getDescriptor(transformInterface,'anchorPoint');Object.defineProperties(_thisLayerFunction,{hasParent:{get:function get(){return elem.hierarchy.length;}},parent:{get:function get(){return elem.hierarchy[0].layerInterface;}},rotation:getDescriptor(transformInterface,'rotation'),scale:getDescriptor(transformInterface,'scale'),position:getDescriptor(transformInterface,'position'),opacity:getDescriptor(transformInterface,'opacity'),anchorPoint:anchorPointDescriptor,anchor_point:anchorPointDescriptor,transform:{get:function get(){return transformInterface;}},active:{get:function get(){return elem.isInRange;}}});_thisLayerFunction.startTime=elem.data.st;_thisLayerFunction.index=elem.data.ind;_thisLayerFunction.source=elem.data.refId;_thisLayerFunction.height=elem.data.ty===0?elem.data.h:100;_thisLayerFunction.width=elem.data.ty===0?elem.data.w:100;_thisLayerFunction.inPoint=elem.data.ip / elem.comp.globalData.frameRate;_thisLayerFunction.outPoint=elem.data.op / elem.comp.globalData.frameRate;_thisLayerFunction._name=elem.data.nm;_thisLayerFunction.registerMaskInterface=_registerMaskInterface;_thisLayerFunction.registerEffectsInterface=_registerEffectsInterface;return _thisLayerFunction;};}();var propertyGroupFactory=function(){return function(interfaceFunction,parentPropertyGroup){return function(val){val=val===undefined?1:val;if(val<=0){return interfaceFunction;} 1254return parentPropertyGroup(val-1);};};}();var PropertyInterface=function(){return function(propertyName,propertyGroup){var interfaceFunction={_name:propertyName};function _propertyGroup(val){val=val===undefined?1:val;if(val<=0){return interfaceFunction;} 1255return propertyGroup(val-1);} 1256return _propertyGroup;};}();var EffectsExpressionInterface=function(){var ob={createEffectsInterface:createEffectsInterface};function createEffectsInterface(elem,propertyGroup){if(elem.effectsManager){var effectElements=[];var effectsData=elem.data.ef;var i;var len=elem.effectsManager.effectElements.length;for(i=0;i<len;i+=1){effectElements.push(createGroupInterface(effectsData[i],elem.effectsManager.effectElements[i],propertyGroup,elem));} 1257var effects=elem.data.ef||[];var groupInterface=function groupInterface(name){i=0;len=effects.length;while(i<len){if(name===effects[i].nm||name===effects[i].mn||name===effects[i].ix){return effectElements[i];} 1258i+=1;} 1259return null;};Object.defineProperty(groupInterface,'numProperties',{get:function get(){return effects.length;}});return groupInterface;} 1260return null;} 1261function createGroupInterface(data,elements,propertyGroup,elem){function groupInterface(name){var effects=data.ef;var i=0;var len=effects.length;while(i<len){if(name===effects[i].nm||name===effects[i].mn||name===effects[i].ix){if(effects[i].ty===5){return effectElements[i];} 1262return effectElements[i]();} 1263i+=1;} 1264throw new Error();} 1265var _propertyGroup=propertyGroupFactory(groupInterface,propertyGroup);var effectElements=[];var i;var len=data.ef.length;for(i=0;i<len;i+=1){if(data.ef[i].ty===5){effectElements.push(createGroupInterface(data.ef[i],elements.effectElements[i],elements.effectElements[i].propertyGroup,elem));}else{effectElements.push(createValueInterface(elements.effectElements[i],data.ef[i].ty,elem,_propertyGroup));}} 1266if(data.mn==='ADBE Color Control'){Object.defineProperty(groupInterface,'color',{get:function get(){return effectElements[0]();}});} 1267Object.defineProperties(groupInterface,{numProperties:{get:function get(){return data.np;}},_name:{value:data.nm},propertyGroup:{value:_propertyGroup}});groupInterface.enabled=data.en!==0;groupInterface.active=groupInterface.enabled;return groupInterface;} 1268function createValueInterface(element,type,elem,propertyGroup){var expressionProperty=ExpressionPropertyInterface(element.p);function interfaceFunction(){if(type===10){return elem.comp.compInterface(element.p.v);} 1269return expressionProperty();} 1270if(element.p.setGroupProperty){element.p.setGroupProperty(PropertyInterface('',propertyGroup));} 1271return interfaceFunction;} 1272return ob;}();var ShapePathInterface=function(){return function pathInterfaceFactory(shape,view,propertyGroup){var prop=view.sh;function interfaceFunction(val){if(val==='Shape'||val==='shape'||val==='Path'||val==='path'||val==='ADBE Vector Shape'||val===2){return interfaceFunction.path;} 1273return null;} 1274var _propertyGroup=propertyGroupFactory(interfaceFunction,propertyGroup);prop.setGroupProperty(PropertyInterface('Path',_propertyGroup));Object.defineProperties(interfaceFunction,{path:{get:function get(){if(prop.k){prop.getValue();} 1275return prop;}},shape:{get:function get(){if(prop.k){prop.getValue();} 1276return prop;}},_name:{value:shape.nm},ix:{value:shape.ix},propertyIndex:{value:shape.ix},mn:{value:shape.mn},propertyGroup:{value:propertyGroup}});return interfaceFunction;};}();var ShapeExpressionInterface=function(){function iterateElements(shapes,view,propertyGroup){var arr=[];var i;var len=shapes?shapes.length:0;for(i=0;i<len;i+=1){if(shapes[i].ty==='gr'){arr.push(groupInterfaceFactory(shapes[i],view[i],propertyGroup));}else if(shapes[i].ty==='fl'){arr.push(fillInterfaceFactory(shapes[i],view[i],propertyGroup));}else if(shapes[i].ty==='st'){arr.push(strokeInterfaceFactory(shapes[i],view[i],propertyGroup));}else if(shapes[i].ty==='tm'){arr.push(trimInterfaceFactory(shapes[i],view[i],propertyGroup));}else if(shapes[i].ty==='tr'){}else if(shapes[i].ty==='el'){arr.push(ellipseInterfaceFactory(shapes[i],view[i],propertyGroup));}else if(shapes[i].ty==='sr'){arr.push(starInterfaceFactory(shapes[i],view[i],propertyGroup));}else if(shapes[i].ty==='sh'){arr.push(ShapePathInterface(shapes[i],view[i],propertyGroup));}else if(shapes[i].ty==='rc'){arr.push(rectInterfaceFactory(shapes[i],view[i],propertyGroup));}else if(shapes[i].ty==='rd'){arr.push(roundedInterfaceFactory(shapes[i],view[i],propertyGroup));}else if(shapes[i].ty==='rp'){arr.push(repeaterInterfaceFactory(shapes[i],view[i],propertyGroup));}else if(shapes[i].ty==='gf'){arr.push(gradientFillInterfaceFactory(shapes[i],view[i],propertyGroup));}else{arr.push(defaultInterfaceFactory(shapes[i],view[i],propertyGroup));}} 1277return arr;} 1278function contentsInterfaceFactory(shape,view,propertyGroup){var interfaces;var interfaceFunction=function _interfaceFunction(value){var i=0;var len=interfaces.length;while(i<len){if(interfaces[i]._name===value||interfaces[i].mn===value||interfaces[i].propertyIndex===value||interfaces[i].ix===value||interfaces[i].ind===value){return interfaces[i];} 1279i+=1;} 1280if(typeof value==='number'){return interfaces[value-1];} 1281return null;};interfaceFunction.propertyGroup=propertyGroupFactory(interfaceFunction,propertyGroup);interfaces=iterateElements(shape.it,view.it,interfaceFunction.propertyGroup);interfaceFunction.numProperties=interfaces.length;var transformInterface=transformInterfaceFactory(shape.it[shape.it.length-1],view.it[view.it.length-1],interfaceFunction.propertyGroup);interfaceFunction.transform=transformInterface;interfaceFunction.propertyIndex=shape.cix;interfaceFunction._name=shape.nm;return interfaceFunction;} 1282function groupInterfaceFactory(shape,view,propertyGroup){var interfaceFunction=function _interfaceFunction(value){switch(value){case'ADBE Vectors Group':case'Contents':case 2:return interfaceFunction.content;default:return interfaceFunction.transform;}};interfaceFunction.propertyGroup=propertyGroupFactory(interfaceFunction,propertyGroup);var content=contentsInterfaceFactory(shape,view,interfaceFunction.propertyGroup);var transformInterface=transformInterfaceFactory(shape.it[shape.it.length-1],view.it[view.it.length-1],interfaceFunction.propertyGroup);interfaceFunction.content=content;interfaceFunction.transform=transformInterface;Object.defineProperty(interfaceFunction,'_name',{get:function get(){return shape.nm;}});interfaceFunction.numProperties=shape.np;interfaceFunction.propertyIndex=shape.ix;interfaceFunction.nm=shape.nm;interfaceFunction.mn=shape.mn;return interfaceFunction;} 1283function fillInterfaceFactory(shape,view,propertyGroup){function interfaceFunction(val){if(val==='Color'||val==='color'){return interfaceFunction.color;} 1284if(val==='Opacity'||val==='opacity'){return interfaceFunction.opacity;} 1285return null;} 1286Object.defineProperties(interfaceFunction,{color:{get:ExpressionPropertyInterface(view.c)},opacity:{get:ExpressionPropertyInterface(view.o)},_name:{value:shape.nm},mn:{value:shape.mn}});view.c.setGroupProperty(PropertyInterface('Color',propertyGroup));view.o.setGroupProperty(PropertyInterface('Opacity',propertyGroup));return interfaceFunction;} 1287function gradientFillInterfaceFactory(shape,view,propertyGroup){function interfaceFunction(val){if(val==='Start Point'||val==='start point'){return interfaceFunction.startPoint;} 1288if(val==='End Point'||val==='end point'){return interfaceFunction.endPoint;} 1289if(val==='Opacity'||val==='opacity'){return interfaceFunction.opacity;} 1290return null;} 1291Object.defineProperties(interfaceFunction,{startPoint:{get:ExpressionPropertyInterface(view.s)},endPoint:{get:ExpressionPropertyInterface(view.e)},opacity:{get:ExpressionPropertyInterface(view.o)},type:{get:function get(){return'a';}},_name:{value:shape.nm},mn:{value:shape.mn}});view.s.setGroupProperty(PropertyInterface('Start Point',propertyGroup));view.e.setGroupProperty(PropertyInterface('End Point',propertyGroup));view.o.setGroupProperty(PropertyInterface('Opacity',propertyGroup));return interfaceFunction;} 1292function defaultInterfaceFactory(){function interfaceFunction(){return null;} 1293return interfaceFunction;} 1294function strokeInterfaceFactory(shape,view,propertyGroup){var _propertyGroup=propertyGroupFactory(interfaceFunction,propertyGroup);var _dashPropertyGroup=propertyGroupFactory(dashOb,_propertyGroup);function addPropertyToDashOb(i){Object.defineProperty(dashOb,shape.d[i].nm,{get:ExpressionPropertyInterface(view.d.dataProps[i].p)});} 1295var i;var len=shape.d?shape.d.length:0;var dashOb={};for(i=0;i<len;i+=1){addPropertyToDashOb(i);view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);} 1296function interfaceFunction(val){if(val==='Color'||val==='color'){return interfaceFunction.color;} 1297if(val==='Opacity'||val==='opacity'){return interfaceFunction.opacity;} 1298if(val==='Stroke Width'||val==='stroke width'){return interfaceFunction.strokeWidth;} 1299return null;} 1300Object.defineProperties(interfaceFunction,{color:{get:ExpressionPropertyInterface(view.c)},opacity:{get:ExpressionPropertyInterface(view.o)},strokeWidth:{get:ExpressionPropertyInterface(view.w)},dash:{get:function get(){return dashOb;}},_name:{value:shape.nm},mn:{value:shape.mn}});view.c.setGroupProperty(PropertyInterface('Color',_propertyGroup));view.o.setGroupProperty(PropertyInterface('Opacity',_propertyGroup));view.w.setGroupProperty(PropertyInterface('Stroke Width',_propertyGroup));return interfaceFunction;} 1301function trimInterfaceFactory(shape,view,propertyGroup){function interfaceFunction(val){if(val===shape.e.ix||val==='End'||val==='end'){return interfaceFunction.end;} 1302if(val===shape.s.ix){return interfaceFunction.start;} 1303if(val===shape.o.ix){return interfaceFunction.offset;} 1304return null;} 1305var _propertyGroup=propertyGroupFactory(interfaceFunction,propertyGroup);interfaceFunction.propertyIndex=shape.ix;view.s.setGroupProperty(PropertyInterface('Start',_propertyGroup));view.e.setGroupProperty(PropertyInterface('End',_propertyGroup));view.o.setGroupProperty(PropertyInterface('Offset',_propertyGroup));interfaceFunction.propertyIndex=shape.ix;interfaceFunction.propertyGroup=propertyGroup;Object.defineProperties(interfaceFunction,{start:{get:ExpressionPropertyInterface(view.s)},end:{get:ExpressionPropertyInterface(view.e)},offset:{get:ExpressionPropertyInterface(view.o)},_name:{value:shape.nm}});interfaceFunction.mn=shape.mn;return interfaceFunction;} 1306function transformInterfaceFactory(shape,view,propertyGroup){function interfaceFunction(value){if(shape.a.ix===value||value==='Anchor Point'){return interfaceFunction.anchorPoint;} 1307if(shape.o.ix===value||value==='Opacity'){return interfaceFunction.opacity;} 1308if(shape.p.ix===value||value==='Position'){return interfaceFunction.position;} 1309if(shape.r.ix===value||value==='Rotation'||value==='ADBE Vector Rotation'){return interfaceFunction.rotation;} 1310if(shape.s.ix===value||value==='Scale'){return interfaceFunction.scale;} 1311if(shape.sk&&shape.sk.ix===value||value==='Skew'){return interfaceFunction.skew;} 1312if(shape.sa&&shape.sa.ix===value||value==='Skew Axis'){return interfaceFunction.skewAxis;} 1313return null;} 1314var _propertyGroup=propertyGroupFactory(interfaceFunction,propertyGroup);view.transform.mProps.o.setGroupProperty(PropertyInterface('Opacity',_propertyGroup));view.transform.mProps.p.setGroupProperty(PropertyInterface('Position',_propertyGroup));view.transform.mProps.a.setGroupProperty(PropertyInterface('Anchor Point',_propertyGroup));view.transform.mProps.s.setGroupProperty(PropertyInterface('Scale',_propertyGroup));view.transform.mProps.r.setGroupProperty(PropertyInterface('Rotation',_propertyGroup));if(view.transform.mProps.sk){view.transform.mProps.sk.setGroupProperty(PropertyInterface('Skew',_propertyGroup));view.transform.mProps.sa.setGroupProperty(PropertyInterface('Skew Angle',_propertyGroup));} 1315view.transform.op.setGroupProperty(PropertyInterface('Opacity',_propertyGroup));Object.defineProperties(interfaceFunction,{opacity:{get:ExpressionPropertyInterface(view.transform.mProps.o)},position:{get:ExpressionPropertyInterface(view.transform.mProps.p)},anchorPoint:{get:ExpressionPropertyInterface(view.transform.mProps.a)},scale:{get:ExpressionPropertyInterface(view.transform.mProps.s)},rotation:{get:ExpressionPropertyInterface(view.transform.mProps.r)},skew:{get:ExpressionPropertyInterface(view.transform.mProps.sk)},skewAxis:{get:ExpressionPropertyInterface(view.transform.mProps.sa)},_name:{value:shape.nm}});interfaceFunction.ty='tr';interfaceFunction.mn=shape.mn;interfaceFunction.propertyGroup=propertyGroup;return interfaceFunction;} 1316function ellipseInterfaceFactory(shape,view,propertyGroup){function interfaceFunction(value){if(shape.p.ix===value){return interfaceFunction.position;} 1317if(shape.s.ix===value){return interfaceFunction.size;} 1318return null;} 1319var _propertyGroup=propertyGroupFactory(interfaceFunction,propertyGroup);interfaceFunction.propertyIndex=shape.ix;var prop=view.sh.ty==='tm'?view.sh.prop:view.sh;prop.s.setGroupProperty(PropertyInterface('Size',_propertyGroup));prop.p.setGroupProperty(PropertyInterface('Position',_propertyGroup));Object.defineProperties(interfaceFunction,{size:{get:ExpressionPropertyInterface(prop.s)},position:{get:ExpressionPropertyInterface(prop.p)},_name:{value:shape.nm}});interfaceFunction.mn=shape.mn;return interfaceFunction;} 1320function starInterfaceFactory(shape,view,propertyGroup){function interfaceFunction(value){if(shape.p.ix===value){return interfaceFunction.position;} 1321if(shape.r.ix===value){return interfaceFunction.rotation;} 1322if(shape.pt.ix===value){return interfaceFunction.points;} 1323if(shape.or.ix===value||value==='ADBE Vector Star Outer Radius'){return interfaceFunction.outerRadius;} 1324if(shape.os.ix===value){return interfaceFunction.outerRoundness;} 1325if(shape.ir&&(shape.ir.ix===value||value==='ADBE Vector Star Inner Radius')){return interfaceFunction.innerRadius;} 1326if(shape.is&&shape.is.ix===value){return interfaceFunction.innerRoundness;} 1327return null;} 1328var _propertyGroup=propertyGroupFactory(interfaceFunction,propertyGroup);var prop=view.sh.ty==='tm'?view.sh.prop:view.sh;interfaceFunction.propertyIndex=shape.ix;prop.or.setGroupProperty(PropertyInterface('Outer Radius',_propertyGroup));prop.os.setGroupProperty(PropertyInterface('Outer Roundness',_propertyGroup));prop.pt.setGroupProperty(PropertyInterface('Points',_propertyGroup));prop.p.setGroupProperty(PropertyInterface('Position',_propertyGroup));prop.r.setGroupProperty(PropertyInterface('Rotation',_propertyGroup));if(shape.ir){prop.ir.setGroupProperty(PropertyInterface('Inner Radius',_propertyGroup));prop.is.setGroupProperty(PropertyInterface('Inner Roundness',_propertyGroup));} 1329Object.defineProperties(interfaceFunction,{position:{get:ExpressionPropertyInterface(prop.p)},rotation:{get:ExpressionPropertyInterface(prop.r)},points:{get:ExpressionPropertyInterface(prop.pt)},outerRadius:{get:ExpressionPropertyInterface(prop.or)},outerRoundness:{get:ExpressionPropertyInterface(prop.os)},innerRadius:{get:ExpressionPropertyInterface(prop.ir)},innerRoundness:{get:ExpressionPropertyInterface(prop.is)},_name:{value:shape.nm}});interfaceFunction.mn=shape.mn;return interfaceFunction;} 1330function rectInterfaceFactory(shape,view,propertyGroup){function interfaceFunction(value){if(shape.p.ix===value){return interfaceFunction.position;} 1331if(shape.r.ix===value){return interfaceFunction.roundness;} 1332if(shape.s.ix===value||value==='Size'||value==='ADBE Vector Rect Size'){return interfaceFunction.size;} 1333return null;} 1334var _propertyGroup=propertyGroupFactory(interfaceFunction,propertyGroup);var prop=view.sh.ty==='tm'?view.sh.prop:view.sh;interfaceFunction.propertyIndex=shape.ix;prop.p.setGroupProperty(PropertyInterface('Position',_propertyGroup));prop.s.setGroupProperty(PropertyInterface('Size',_propertyGroup));prop.r.setGroupProperty(PropertyInterface('Rotation',_propertyGroup));Object.defineProperties(interfaceFunction,{position:{get:ExpressionPropertyInterface(prop.p)},roundness:{get:ExpressionPropertyInterface(prop.r)},size:{get:ExpressionPropertyInterface(prop.s)},_name:{value:shape.nm}});interfaceFunction.mn=shape.mn;return interfaceFunction;} 1335function roundedInterfaceFactory(shape,view,propertyGroup){function interfaceFunction(value){if(shape.r.ix===value||value==='Round Corners 1'){return interfaceFunction.radius;} 1336return null;} 1337var _propertyGroup=propertyGroupFactory(interfaceFunction,propertyGroup);var prop=view;interfaceFunction.propertyIndex=shape.ix;prop.rd.setGroupProperty(PropertyInterface('Radius',_propertyGroup));Object.defineProperties(interfaceFunction,{radius:{get:ExpressionPropertyInterface(prop.rd)},_name:{value:shape.nm}});interfaceFunction.mn=shape.mn;return interfaceFunction;} 1338function repeaterInterfaceFactory(shape,view,propertyGroup){function interfaceFunction(value){if(shape.c.ix===value||value==='Copies'){return interfaceFunction.copies;} 1339if(shape.o.ix===value||value==='Offset'){return interfaceFunction.offset;} 1340return null;} 1341var _propertyGroup=propertyGroupFactory(interfaceFunction,propertyGroup);var prop=view;interfaceFunction.propertyIndex=shape.ix;prop.c.setGroupProperty(PropertyInterface('Copies',_propertyGroup));prop.o.setGroupProperty(PropertyInterface('Offset',_propertyGroup));Object.defineProperties(interfaceFunction,{copies:{get:ExpressionPropertyInterface(prop.c)},offset:{get:ExpressionPropertyInterface(prop.o)},_name:{value:shape.nm}});interfaceFunction.mn=shape.mn;return interfaceFunction;} 1342return function(shapes,view,propertyGroup){var interfaces;function _interfaceFunction(value){if(typeof value==='number'){value=value===undefined?1:value;if(value===0){return propertyGroup;} 1343return interfaces[value-1];} 1344var i=0;var len=interfaces.length;while(i<len){if(interfaces[i]._name===value){return interfaces[i];} 1345i+=1;} 1346return null;} 1347function parentGroupWrapper(){return propertyGroup;} 1348_interfaceFunction.propertyGroup=propertyGroupFactory(_interfaceFunction,parentGroupWrapper);interfaces=iterateElements(shapes,view,_interfaceFunction.propertyGroup);_interfaceFunction.numProperties=interfaces.length;_interfaceFunction._name='Contents';return _interfaceFunction;};}();var TextExpressionInterface=function(){return function(elem){var _prevValue;var _sourceText;function _thisLayerFunction(name){switch(name){case'ADBE Text Document':return _thisLayerFunction.sourceText;default:return null;}} 1349Object.defineProperty(_thisLayerFunction,'sourceText',{get:function get(){elem.textProperty.getValue();var stringValue=elem.textProperty.currentData.t;if(stringValue!==_prevValue){_prevValue=elem.textProperty.currentData.t;_sourceText=new String(stringValue);_sourceText.value=stringValue||new String(stringValue);Object.defineProperty(_sourceText,'style',{get:function get(){return{fillColor:elem.textProperty.currentData.fc};}});} 1350return _sourceText;}});return _thisLayerFunction;};}();function _typeof$2(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof$2=function _typeof(obj){return typeof obj;};}else{_typeof$2=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof$2(obj);} 1351var FootageInterface=function(){var outlineInterfaceFactory=function outlineInterfaceFactory(elem){var currentPropertyName='';var currentProperty=elem.getFootageData();function init(){currentPropertyName='';currentProperty=elem.getFootageData();return searchProperty;} 1352function searchProperty(value){if(currentProperty[value]){currentPropertyName=value;currentProperty=currentProperty[value];if(_typeof$2(currentProperty)==='object'){return searchProperty;} 1353return currentProperty;} 1354var propertyNameIndex=value.indexOf(currentPropertyName);if(propertyNameIndex!==-1){var index=parseInt(value.substr(propertyNameIndex+currentPropertyName.length),10);currentProperty=currentProperty[index];if(_typeof$2(currentProperty)==='object'){return searchProperty;} 1355return currentProperty;} 1356return'';} 1357return init;};var dataInterfaceFactory=function dataInterfaceFactory(elem){function interfaceFunction(value){if(value==='Outline'){return interfaceFunction.outlineInterface();} 1358return null;} 1359interfaceFunction._name='Outline';interfaceFunction.outlineInterface=outlineInterfaceFactory(elem);return interfaceFunction;};return function(elem){function _interfaceFunction(value){if(value==='Data'){return _interfaceFunction.dataInterface;} 1360return null;} 1361_interfaceFunction._name='Data';_interfaceFunction.dataInterface=dataInterfaceFactory(elem);return _interfaceFunction;};}();var interfaces={layer:LayerExpressionInterface,effects:EffectsExpressionInterface,comp:CompExpressionInterface,shape:ShapeExpressionInterface,text:TextExpressionInterface,footage:FootageInterface};function getInterface(type){return interfaces[type]||null;} 1362function _typeof$1(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof$1=function _typeof(obj){return typeof obj;};}else{_typeof$1=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof$1(obj);} 1363function seedRandom(pool,math){var global=this,width=256,chunks=6,digits=52,rngname='random',startdenom=math.pow(width,chunks),significance=math.pow(2,digits),overflow=significance*2,mask=width-1,nodecrypto;function seedrandom(seed,options,callback){var key=[];options=options===true?{entropy:true}:options||{};var shortseed=mixkey(flatten(options.entropy?[seed,tostring(pool)]:seed===null?autoseed():seed,3),key);var arc4=new ARC4(key);var prng=function prng(){var n=arc4.g(chunks),d=startdenom,x=0;while(n<significance){n=(n+x)*width;d*=width;x=arc4.g(1);} 1364while(n>=overflow){n /=2;d /=2;x>>>=1;} 1365return(n+x)/ d;};prng.int32=function(){return arc4.g(4)|0;};prng.quick=function(){return arc4.g(4)/ 0x100000000;};prng["double"]=prng;mixkey(tostring(arc4.S),pool);return(options.pass||callback||function(prng,seed,is_math_call,state){if(state){if(state.S){copy(state,arc4);} 1366prng.state=function(){return copy(arc4,{});};} 1367if(is_math_call){math[rngname]=prng;return seed;} 1368else return prng;})(prng,shortseed,'global'in options?options.global:this==math,options.state);} 1369math['seed'+rngname]=seedrandom;function ARC4(key){var t,keylen=key.length,me=this,i=0,j=me.i=me.j=0,s=me.S=[];if(!keylen){key=[keylen++];} 1370while(i<width){s[i]=i++;} 1371for(i=0;i<width;i++){s[i]=s[j=mask&j+key[i%keylen]+(t=s[i])];s[j]=t;} 1372me.g=function(count){var t,r=0,i=me.i,j=me.j,s=me.S;while(count--){t=s[i=mask&i+1];r=r*width+s[mask&(s[i]=s[j=mask&j+t])+(s[j]=t)];} 1373me.i=i;me.j=j;return r;};} 1374function copy(f,t){t.i=f.i;t.j=f.j;t.S=f.S.slice();return t;} 1375function flatten(obj,depth){var result=[],typ=_typeof$1(obj),prop;if(depth&&typ=='object'){for(prop in obj){try{result.push(flatten(obj[prop],depth-1));}catch(e){}}} 1376return result.length?result:typ=='string'?obj:obj+'\0';} 1377function mixkey(seed,key){var stringseed=seed+'',smear,j=0;while(j<stringseed.length){key[mask&j]=mask&(smear^=key[mask&j]*19)+stringseed.charCodeAt(j++);} 1378return tostring(key);} 1379function autoseed(){try{if(nodecrypto){return tostring(nodecrypto.randomBytes(width));} 1380var out=new Uint8Array(width);(global.crypto||global.msCrypto).getRandomValues(out);return tostring(out);}catch(e){var browser=global.navigator,plugins=browser&&browser.plugins;return[+new Date(),global,plugins,global.screen,tostring(pool)];}} 1381function tostring(a){return String.fromCharCode.apply(0,a);} 1382mixkey(math.random(),pool);};function initialize$2(BMMath){seedRandom([],BMMath);} 1383var propTypes={SHAPE:'shape'};function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof(obj);} 1384var ExpressionManager=function(){'use strict';var ob={};var Math=BMMath;var window=null;var document=null;var XMLHttpRequest=null;var fetch=null;var frames=null;initialize$2(BMMath);function $bm_isInstanceOfArray(arr){return arr.constructor===Array||arr.constructor===Float32Array;} 1385function isNumerable(tOfV,v){return tOfV==='number'||tOfV==='boolean'||tOfV==='string'||v instanceof Number;} 1386function $bm_neg(a){var tOfA=_typeof(a);if(tOfA==='number'||tOfA==='boolean'||a instanceof Number){return-a;} 1387if($bm_isInstanceOfArray(a)){var i;var lenA=a.length;var retArr=[];for(i=0;i<lenA;i+=1){retArr[i]=-a[i];} 1388return retArr;} 1389if(a.propType){return a.v;} 1390return-a;} 1391var easeInBez=BezierFactory.getBezierEasing(0.333,0,0.833,0.833,'easeIn').get;var easeOutBez=BezierFactory.getBezierEasing(0.167,0.167,0.667,1,'easeOut').get;var easeInOutBez=BezierFactory.getBezierEasing(0.33,0,0.667,1,'easeInOut').get;function sum(a,b){var tOfA=_typeof(a);var tOfB=_typeof(b);if(tOfA==='string'||tOfB==='string'){return a+b;} 1392if(isNumerable(tOfA,a)&&isNumerable(tOfB,b)){return a+b;} 1393if($bm_isInstanceOfArray(a)&&isNumerable(tOfB,b)){a=a.slice(0);a[0]+=b;return a;} 1394if(isNumerable(tOfA,a)&&$bm_isInstanceOfArray(b)){b=b.slice(0);b[0]=a+b[0];return b;} 1395if($bm_isInstanceOfArray(a)&&$bm_isInstanceOfArray(b)){var i=0;var lenA=a.length;var lenB=b.length;var retArr=[];while(i<lenA||i<lenB){if((typeof a[i]==='number'||a[i]instanceof Number)&&(typeof b[i]==='number'||b[i]instanceof Number)){retArr[i]=a[i]+b[i];}else{retArr[i]=b[i]===undefined?a[i]:a[i]||b[i];} 1396i+=1;} 1397return retArr;} 1398return 0;} 1399var add=sum;function sub(a,b){var tOfA=_typeof(a);var tOfB=_typeof(b);if(isNumerable(tOfA,a)&&isNumerable(tOfB,b)){if(tOfA==='string'){a=parseInt(a,10);} 1400if(tOfB==='string'){b=parseInt(b,10);} 1401return a-b;} 1402if($bm_isInstanceOfArray(a)&&isNumerable(tOfB,b)){a=a.slice(0);a[0]-=b;return a;} 1403if(isNumerable(tOfA,a)&&$bm_isInstanceOfArray(b)){b=b.slice(0);b[0]=a-b[0];return b;} 1404if($bm_isInstanceOfArray(a)&&$bm_isInstanceOfArray(b)){var i=0;var lenA=a.length;var lenB=b.length;var retArr=[];while(i<lenA||i<lenB){if((typeof a[i]==='number'||a[i]instanceof Number)&&(typeof b[i]==='number'||b[i]instanceof Number)){retArr[i]=a[i]-b[i];}else{retArr[i]=b[i]===undefined?a[i]:a[i]||b[i];} 1405i+=1;} 1406return retArr;} 1407return 0;} 1408function mul(a,b){var tOfA=_typeof(a);var tOfB=_typeof(b);var arr;if(isNumerable(tOfA,a)&&isNumerable(tOfB,b)){return a*b;} 1409var i;var len;if($bm_isInstanceOfArray(a)&&isNumerable(tOfB,b)){len=a.length;arr=createTypedArray('float32',len);for(i=0;i<len;i+=1){arr[i]=a[i]*b;} 1410return arr;} 1411if(isNumerable(tOfA,a)&&$bm_isInstanceOfArray(b)){len=b.length;arr=createTypedArray('float32',len);for(i=0;i<len;i+=1){arr[i]=a*b[i];} 1412return arr;} 1413return 0;} 1414function div(a,b){var tOfA=_typeof(a);var tOfB=_typeof(b);var arr;if(isNumerable(tOfA,a)&&isNumerable(tOfB,b)){return a / b;} 1415var i;var len;if($bm_isInstanceOfArray(a)&&isNumerable(tOfB,b)){len=a.length;arr=createTypedArray('float32',len);for(i=0;i<len;i+=1){arr[i]=a[i]/ b;} 1416return arr;} 1417if(isNumerable(tOfA,a)&&$bm_isInstanceOfArray(b)){len=b.length;arr=createTypedArray('float32',len);for(i=0;i<len;i+=1){arr[i]=a / b[i];} 1418return arr;} 1419return 0;} 1420function mod(a,b){if(typeof a==='string'){a=parseInt(a,10);} 1421if(typeof b==='string'){b=parseInt(b,10);} 1422return a%b;} 1423var $bm_sum=sum;var $bm_sub=sub;var $bm_mul=mul;var $bm_div=div;var $bm_mod=mod;function clamp(num,min,max){if(min>max){var mm=max;max=min;min=mm;} 1424return Math.min(Math.max(num,min),max);} 1425function radiansToDegrees(val){return val / degToRads;} 1426var radians_to_degrees=radiansToDegrees;function degreesToRadians(val){return val*degToRads;} 1427var degrees_to_radians=radiansToDegrees;var helperLengthArray=[0,0,0,0,0,0];function length(arr1,arr2){if(typeof arr1==='number'||arr1 instanceof Number){arr2=arr2||0;return Math.abs(arr1-arr2);} 1428if(!arr2){arr2=helperLengthArray;} 1429var i;var len=Math.min(arr1.length,arr2.length);var addedLength=0;for(i=0;i<len;i+=1){addedLength+=Math.pow(arr2[i]-arr1[i],2);} 1430return Math.sqrt(addedLength);} 1431function normalize(vec){return div(vec,length(vec));} 1432function rgbToHsl(val){var r=val[0];var g=val[1];var b=val[2];var max=Math.max(r,g,b);var min=Math.min(r,g,b);var h;var s;var l=(max+min)/ 2;if(max===min){h=0;s=0;}else{var d=max-min;s=l>0.5?d /(2-max-min):d /(max+min);switch(max){case r:h=(g-b)/ d+(g<b?6:0);break;case g:h=(b-r)/ d+2;break;case b:h=(r-g)/ d+4;break;default:break;} 1433h /=6;} 1434return[h,s,l,val[3]];} 1435function hue2rgb(p,q,t){if(t<0)t+=1;if(t>1)t-=1;if(t<1 / 6)return p+(q-p)*6*t;if(t<1 / 2)return q;if(t<2 / 3)return p+(q-p)*(2 / 3-t)*6;return p;} 1436function hslToRgb(val){var h=val[0];var s=val[1];var l=val[2];var r;var g;var b;if(s===0){r=l;b=l;g=l;}else{var q=l<0.5?l*(1+s):l+s-l*s;var p=2*l-q;r=hue2rgb(p,q,h+1 / 3);g=hue2rgb(p,q,h);b=hue2rgb(p,q,h-1 / 3);} 1437return[r,g,b,val[3]];} 1438function linear(t,tMin,tMax,value1,value2){if(value1===undefined||value2===undefined){value1=tMin;value2=tMax;tMin=0;tMax=1;} 1439if(tMax<tMin){var _tMin=tMax;tMax=tMin;tMin=_tMin;} 1440if(t<=tMin){return value1;} 1441if(t>=tMax){return value2;} 1442var perc=tMax===tMin?0:(t-tMin)/(tMax-tMin);if(!value1.length){return value1+(value2-value1)*perc;} 1443var i;var len=value1.length;var arr=createTypedArray('float32',len);for(i=0;i<len;i+=1){arr[i]=value1[i]+(value2[i]-value1[i])*perc;} 1444return arr;} 1445function random(min,max){if(max===undefined){if(min===undefined){min=0;max=1;}else{max=min;min=undefined;}} 1446if(max.length){var i;var len=max.length;if(!min){min=createTypedArray('float32',len);} 1447var arr=createTypedArray('float32',len);var rnd=BMMath.random();for(i=0;i<len;i+=1){arr[i]=min[i]+rnd*(max[i]-min[i]);} 1448return arr;} 1449if(min===undefined){min=0;} 1450var rndm=BMMath.random();return min+rndm*(max-min);} 1451function createPath(points,inTangents,outTangents,closed){var i;var len=points.length;var path=shapePool.newElement();path.setPathData(!!closed,len);var arrPlaceholder=[0,0];var inVertexPoint;var outVertexPoint;for(i=0;i<len;i+=1){inVertexPoint=inTangents&&inTangents[i]?inTangents[i]:arrPlaceholder;outVertexPoint=outTangents&&outTangents[i]?outTangents[i]:arrPlaceholder;path.setTripleAt(points[i][0],points[i][1],outVertexPoint[0]+points[i][0],outVertexPoint[1]+points[i][1],inVertexPoint[0]+points[i][0],inVertexPoint[1]+points[i][1],i,true);} 1452return path;} 1453function initiateExpression(elem,data,property){function noOp(_value){return _value;} 1454if(!elem.globalData.renderConfig.runExpressions){return noOp;} 1455var val=data.x;var needsVelocity=/velocity(?![\w\d])/.test(val);var _needsRandom=val.indexOf('random')!==-1;var elemType=elem.data.ty;var transform;var $bm_transform;var content;var effect;var thisProperty=property;thisProperty.valueAtTime=thisProperty.getValueAtTime;Object.defineProperty(thisProperty,'value',{get:function get(){return thisProperty.v;}});elem.comp.frameDuration=1 / elem.comp.globalData.frameRate;elem.comp.displayStartTime=0;var inPoint=elem.data.ip / elem.comp.globalData.frameRate;var outPoint=elem.data.op / elem.comp.globalData.frameRate;var width=elem.data.sw?elem.data.sw:0;var height=elem.data.sh?elem.data.sh:0;var name=elem.data.nm;var loopIn;var loop_in;var loopOut;var loop_out;var smooth;var toWorld;var fromWorld;var fromComp;var toComp;var fromCompToSurface;var position;var rotation;var anchorPoint;var scale;var thisLayer;var thisComp;var mask;var valueAtTime;var velocityAtTime;var scoped_bm_rt;var expression_function=eval('[function _expression_function(){'+val+';scoped_bm_rt=$bm_rt}]')[0];var numKeys=property.kf?data.k.length:0;var active=!this.data||this.data.hd!==true;var wiggle=function wiggle(freq,amp){var iWiggle;var j;var lenWiggle=this.pv.length?this.pv.length:1;var addedAmps=createTypedArray('float32',lenWiggle);freq=5;var iterations=Math.floor(time*freq);iWiggle=0;j=0;while(iWiggle<iterations){for(j=0;j<lenWiggle;j+=1){addedAmps[j]+=-amp+amp*2*BMMath.random();} 1456iWiggle+=1;} 1457var periods=time*freq;var perc=periods-Math.floor(periods);var arr=createTypedArray('float32',lenWiggle);if(lenWiggle>1){for(j=0;j<lenWiggle;j+=1){arr[j]=this.pv[j]+addedAmps[j]+(-amp+amp*2*BMMath.random())*perc;} 1458return arr;} 1459return this.pv+addedAmps[0]+(-amp+amp*2*BMMath.random())*perc;}.bind(this);if(thisProperty.loopIn){loopIn=thisProperty.loopIn.bind(thisProperty);loop_in=loopIn;} 1460if(thisProperty.loopOut){loopOut=thisProperty.loopOut.bind(thisProperty);loop_out=loopOut;} 1461if(thisProperty.smooth){smooth=thisProperty.smooth.bind(thisProperty);} 1462function loopInDuration(type,duration){return loopIn(type,duration,true);} 1463function loopOutDuration(type,duration){return loopOut(type,duration,true);} 1464if(this.getValueAtTime){valueAtTime=this.getValueAtTime.bind(this);} 1465if(this.getVelocityAtTime){velocityAtTime=this.getVelocityAtTime.bind(this);} 1466var comp=elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);function lookAt(elem1,elem2){var fVec=[elem2[0]-elem1[0],elem2[1]-elem1[1],elem2[2]-elem1[2]];var pitch=Math.atan2(fVec[0],Math.sqrt(fVec[1]*fVec[1]+fVec[2]*fVec[2]))/ degToRads;var yaw=-Math.atan2(fVec[1],fVec[2])/ degToRads;return[yaw,pitch,0];} 1467function easeOut(t,tMin,tMax,val1,val2){return applyEase(easeOutBez,t,tMin,tMax,val1,val2);} 1468function easeIn(t,tMin,tMax,val1,val2){return applyEase(easeInBez,t,tMin,tMax,val1,val2);} 1469function ease(t,tMin,tMax,val1,val2){return applyEase(easeInOutBez,t,tMin,tMax,val1,val2);} 1470function applyEase(fn,t,tMin,tMax,val1,val2){if(val1===undefined){val1=tMin;val2=tMax;}else{t=(t-tMin)/(tMax-tMin);} 1471if(t>1){t=1;}else if(t<0){t=0;} 1472var mult=fn(t);if($bm_isInstanceOfArray(val1)){var iKey;var lenKey=val1.length;var arr=createTypedArray('float32',lenKey);for(iKey=0;iKey<lenKey;iKey+=1){arr[iKey]=(val2[iKey]-val1[iKey])*mult+val1[iKey];} 1473return arr;} 1474return(val2-val1)*mult+val1;} 1475function nearestKey(time){var iKey;var lenKey=data.k.length;var index;var keyTime;if(!data.k.length||typeof data.k[0]==='number'){index=0;keyTime=0;}else{index=-1;time*=elem.comp.globalData.frameRate;if(time<data.k[0].t){index=1;keyTime=data.k[0].t;}else{for(iKey=0;iKey<lenKey-1;iKey+=1){if(time===data.k[iKey].t){index=iKey+1;keyTime=data.k[iKey].t;break;}else if(time>data.k[iKey].t&&time<data.k[iKey+1].t){if(time-data.k[iKey].t>data.k[iKey+1].t-time){index=iKey+2;keyTime=data.k[iKey+1].t;}else{index=iKey+1;keyTime=data.k[iKey].t;} 1476break;}} 1477if(index===-1){index=iKey+1;keyTime=data.k[iKey].t;}}} 1478var obKey={};obKey.index=index;obKey.time=keyTime / elem.comp.globalData.frameRate;return obKey;} 1479function key(ind){var obKey;var iKey;var lenKey;if(!data.k.length||typeof data.k[0]==='number'){throw new Error('The property has no keyframe at index '+ind);} 1480ind-=1;obKey={time:data.k[ind].t / elem.comp.globalData.frameRate,value:[]};var arr=Object.prototype.hasOwnProperty.call(data.k[ind],'s')?data.k[ind].s:data.k[ind-1].e;lenKey=arr.length;for(iKey=0;iKey<lenKey;iKey+=1){obKey[iKey]=arr[iKey];obKey.value[iKey]=arr[iKey];} 1481return obKey;} 1482function framesToTime(fr,fps){if(!fps){fps=elem.comp.globalData.frameRate;} 1483return fr / fps;} 1484function timeToFrames(t,fps){if(!t&&t!==0){t=time;} 1485if(!fps){fps=elem.comp.globalData.frameRate;} 1486return t*fps;} 1487function seedRandom(seed){BMMath.seedrandom(randSeed+seed);} 1488function sourceRectAtTime(){return elem.sourceRectAtTime();} 1489function substring(init,end){if(typeof value==='string'){if(end===undefined){return value.substring(init);} 1490return value.substring(init,end);} 1491return'';} 1492function substr(init,end){if(typeof value==='string'){if(end===undefined){return value.substr(init);} 1493return value.substr(init,end);} 1494return'';} 1495function posterizeTime(framesPerSecond){time=framesPerSecond===0?0:Math.floor(time*framesPerSecond)/ framesPerSecond;value=valueAtTime(time);} 1496var time;var velocity;var value;var text;var textIndex;var textTotal;var selectorValue;var index=elem.data.ind;var hasParent=!!(elem.hierarchy&&elem.hierarchy.length);var parent;var randSeed=Math.floor(Math.random()*1000000);var globalData=elem.globalData;function executeExpression(_value){value=_value;if(this.frameExpressionId===elem.globalData.frameId&&this.propType!=='textSelector'){return value;} 1497if(this.propType==='textSelector'){textIndex=this.textIndex;textTotal=this.textTotal;selectorValue=this.selectorValue;} 1498if(!thisLayer){text=elem.layerInterface.text;thisLayer=elem.layerInterface;thisComp=elem.comp.compInterface;toWorld=thisLayer.toWorld.bind(thisLayer);fromWorld=thisLayer.fromWorld.bind(thisLayer);fromComp=thisLayer.fromComp.bind(thisLayer);toComp=thisLayer.toComp.bind(thisLayer);mask=thisLayer.mask?thisLayer.mask.bind(thisLayer):null;fromCompToSurface=fromComp;} 1499if(!transform){transform=elem.layerInterface('ADBE Transform Group');$bm_transform=transform;if(transform){anchorPoint=transform.anchorPoint;}} 1500if(elemType===4&&!content){content=thisLayer('ADBE Root Vectors Group');} 1501if(!effect){effect=thisLayer(4);} 1502hasParent=!!(elem.hierarchy&&elem.hierarchy.length);if(hasParent&&!parent){parent=elem.hierarchy[0].layerInterface;} 1503time=this.comp.renderedFrame / this.comp.globalData.frameRate;if(_needsRandom){seedRandom(randSeed+time);} 1504if(needsVelocity){velocity=velocityAtTime(time);} 1505expression_function();this.frameExpressionId=elem.globalData.frameId;scoped_bm_rt=scoped_bm_rt.propType===propTypes.SHAPE?scoped_bm_rt.v:scoped_bm_rt;return scoped_bm_rt;} 1506executeExpression.__preventDeadCodeRemoval=[$bm_transform,anchorPoint,time,velocity,inPoint,outPoint,width,height,name,loop_in,loop_out,smooth,toComp,fromCompToSurface,toWorld,fromWorld,mask,position,rotation,scale,thisComp,numKeys,active,wiggle,loopInDuration,loopOutDuration,comp,lookAt,easeOut,easeIn,ease,nearestKey,key,text,textIndex,textTotal,selectorValue,framesToTime,timeToFrames,sourceRectAtTime,substring,substr,posterizeTime,index,globalData];return executeExpression;} 1507ob.initiateExpression=initiateExpression;ob.__preventDeadCodeRemoval=[window,document,XMLHttpRequest,fetch,frames,$bm_neg,add,$bm_sum,$bm_sub,$bm_mul,$bm_div,$bm_mod,clamp,radians_to_degrees,degreesToRadians,degrees_to_radians,normalize,rgbToHsl,hslToRgb,linear,random,createPath];return ob;}();var expressionHelpers=function(){function searchExpressions(elem,data,prop){if(data.x){prop.k=true;prop.x=true;prop.initiateExpression=ExpressionManager.initiateExpression;prop.effectsSequence.push(prop.initiateExpression(elem,data,prop).bind(prop));}} 1508function getValueAtTime(frameNum){frameNum*=this.elem.globalData.frameRate;frameNum-=this.offsetTime;if(frameNum!==this._cachingAtTime.lastFrame){this._cachingAtTime.lastIndex=this._cachingAtTime.lastFrame<frameNum?this._cachingAtTime.lastIndex:0;this._cachingAtTime.value=this.interpolateValue(frameNum,this._cachingAtTime);this._cachingAtTime.lastFrame=frameNum;} 1509return this._cachingAtTime.value;} 1510function getSpeedAtTime(frameNum){var delta=-0.01;var v1=this.getValueAtTime(frameNum);var v2=this.getValueAtTime(frameNum+delta);var speed=0;if(v1.length){var i;for(i=0;i<v1.length;i+=1){speed+=Math.pow(v2[i]-v1[i],2);} 1511speed=Math.sqrt(speed)*100;}else{speed=0;} 1512return speed;} 1513function getVelocityAtTime(frameNum){if(this.vel!==undefined){return this.vel;} 1514var delta=-0.001;var v1=this.getValueAtTime(frameNum);var v2=this.getValueAtTime(frameNum+delta);var velocity;if(v1.length){velocity=createTypedArray('float32',v1.length);var i;for(i=0;i<v1.length;i+=1){velocity[i]=(v2[i]-v1[i])/ delta;}}else{velocity=(v2-v1)/ delta;} 1515return velocity;} 1516function getStaticValueAtTime(){return this.pv;} 1517function setGroupProperty(propertyGroup){this.propertyGroup=propertyGroup;} 1518return{searchExpressions:searchExpressions,getSpeedAtTime:getSpeedAtTime,getVelocityAtTime:getVelocityAtTime,getValueAtTime:getValueAtTime,getStaticValueAtTime:getStaticValueAtTime,setGroupProperty:setGroupProperty};}();function addPropertyDecorator(){function loopOut(type,duration,durationFlag){if(!this.k||!this.keyframes){return this.pv;} 1519type=type?type.toLowerCase():'';var currentFrame=this.comp.renderedFrame;var keyframes=this.keyframes;var lastKeyFrame=keyframes[keyframes.length-1].t;if(currentFrame<=lastKeyFrame){return this.pv;} 1520var cycleDuration;var firstKeyFrame;if(!durationFlag){if(!duration||duration>keyframes.length-1){duration=keyframes.length-1;} 1521firstKeyFrame=keyframes[keyframes.length-1-duration].t;cycleDuration=lastKeyFrame-firstKeyFrame;}else{if(!duration){cycleDuration=Math.max(0,lastKeyFrame-this.elem.data.ip);}else{cycleDuration=Math.abs(lastKeyFrame-this.elem.comp.globalData.frameRate*duration);} 1522firstKeyFrame=lastKeyFrame-cycleDuration;} 1523var i;var len;var ret;if(type==='pingpong'){var iterations=Math.floor((currentFrame-firstKeyFrame)/ cycleDuration);if(iterations%2!==0){return this.getValueAtTime((cycleDuration-(currentFrame-firstKeyFrame)%cycleDuration+firstKeyFrame)/ this.comp.globalData.frameRate,0);}}else if(type==='offset'){var initV=this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate,0);var endV=this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate,0);var current=this.getValueAtTime(((currentFrame-firstKeyFrame)%cycleDuration+firstKeyFrame)/ this.comp.globalData.frameRate,0);var repeats=Math.floor((currentFrame-firstKeyFrame)/ cycleDuration);if(this.pv.length){ret=new Array(initV.length);len=ret.length;for(i=0;i<len;i+=1){ret[i]=(endV[i]-initV[i])*repeats+current[i];} 1524return ret;} 1525return(endV-initV)*repeats+current;}else if(type==='continue'){var lastValue=this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate,0);var nextLastValue=this.getValueAtTime((lastKeyFrame-0.001)/ this.comp.globalData.frameRate,0);if(this.pv.length){ret=new Array(lastValue.length);len=ret.length;for(i=0;i<len;i+=1){ret[i]=lastValue[i]+(lastValue[i]-nextLastValue[i])*((currentFrame-lastKeyFrame)/ this.comp.globalData.frameRate)/ 0.0005;} 1526return ret;} 1527return lastValue+(lastValue-nextLastValue)*((currentFrame-lastKeyFrame)/ 0.001);} 1528return this.getValueAtTime(((currentFrame-firstKeyFrame)%cycleDuration+firstKeyFrame)/ this.comp.globalData.frameRate,0);} 1529function loopIn(type,duration,durationFlag){if(!this.k){return this.pv;} 1530type=type?type.toLowerCase():'';var currentFrame=this.comp.renderedFrame;var keyframes=this.keyframes;var firstKeyFrame=keyframes[0].t;if(currentFrame>=firstKeyFrame){return this.pv;} 1531var cycleDuration;var lastKeyFrame;if(!durationFlag){if(!duration||duration>keyframes.length-1){duration=keyframes.length-1;} 1532lastKeyFrame=keyframes[duration].t;cycleDuration=lastKeyFrame-firstKeyFrame;}else{if(!duration){cycleDuration=Math.max(0,this.elem.data.op-firstKeyFrame);}else{cycleDuration=Math.abs(this.elem.comp.globalData.frameRate*duration);} 1533lastKeyFrame=firstKeyFrame+cycleDuration;} 1534var i;var len;var ret;if(type==='pingpong'){var iterations=Math.floor((firstKeyFrame-currentFrame)/ cycleDuration);if(iterations%2===0){return this.getValueAtTime(((firstKeyFrame-currentFrame)%cycleDuration+firstKeyFrame)/ this.comp.globalData.frameRate,0);}}else if(type==='offset'){var initV=this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate,0);var endV=this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate,0);var current=this.getValueAtTime((cycleDuration-(firstKeyFrame-currentFrame)%cycleDuration+firstKeyFrame)/ this.comp.globalData.frameRate,0);var repeats=Math.floor((firstKeyFrame-currentFrame)/ cycleDuration)+1;if(this.pv.length){ret=new Array(initV.length);len=ret.length;for(i=0;i<len;i+=1){ret[i]=current[i]-(endV[i]-initV[i])*repeats;} 1535return ret;} 1536return current-(endV-initV)*repeats;}else if(type==='continue'){var firstValue=this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate,0);var nextFirstValue=this.getValueAtTime((firstKeyFrame+0.001)/ this.comp.globalData.frameRate,0);if(this.pv.length){ret=new Array(firstValue.length);len=ret.length;for(i=0;i<len;i+=1){ret[i]=firstValue[i]+(firstValue[i]-nextFirstValue[i])*(firstKeyFrame-currentFrame)/ 0.001;} 1537return ret;} 1538return firstValue+(firstValue-nextFirstValue)*(firstKeyFrame-currentFrame)/ 0.001;} 1539return this.getValueAtTime((cycleDuration-((firstKeyFrame-currentFrame)%cycleDuration+firstKeyFrame))/ this.comp.globalData.frameRate,0);} 1540function smooth(width,samples){if(!this.k){return this.pv;} 1541width=(width||0.4)*0.5;samples=Math.floor(samples||5);if(samples<=1){return this.pv;} 1542var currentTime=this.comp.renderedFrame / this.comp.globalData.frameRate;var initFrame=currentTime-width;var endFrame=currentTime+width;var sampleFrequency=samples>1?(endFrame-initFrame)/(samples-1):1;var i=0;var j=0;var value;if(this.pv.length){value=createTypedArray('float32',this.pv.length);}else{value=0;} 1543var sampleValue;while(i<samples){sampleValue=this.getValueAtTime(initFrame+i*sampleFrequency);if(this.pv.length){for(j=0;j<this.pv.length;j+=1){value[j]+=sampleValue[j];}}else{value+=sampleValue;} 1544i+=1;} 1545if(this.pv.length){for(j=0;j<this.pv.length;j+=1){value[j]/=samples;}}else{value /=samples;} 1546return value;} 1547function getTransformValueAtTime(time){if(!this._transformCachingAtTime){this._transformCachingAtTime={v:new Matrix()};} 1548var matrix=this._transformCachingAtTime.v;matrix.cloneFromProps(this.pre.props);if(this.appliedTransformations<1){var anchor=this.a.getValueAtTime(time);matrix.translate(-anchor[0]*this.a.mult,-anchor[1]*this.a.mult,anchor[2]*this.a.mult);} 1549if(this.appliedTransformations<2){var scale=this.s.getValueAtTime(time);matrix.scale(scale[0]*this.s.mult,scale[1]*this.s.mult,scale[2]*this.s.mult);} 1550if(this.sk&&this.appliedTransformations<3){var skew=this.sk.getValueAtTime(time);var skewAxis=this.sa.getValueAtTime(time);matrix.skewFromAxis(-skew*this.sk.mult,skewAxis*this.sa.mult);} 1551if(this.r&&this.appliedTransformations<4){var rotation=this.r.getValueAtTime(time);matrix.rotate(-rotation*this.r.mult);}else if(!this.r&&this.appliedTransformations<4){var rotationZ=this.rz.getValueAtTime(time);var rotationY=this.ry.getValueAtTime(time);var rotationX=this.rx.getValueAtTime(time);var orientation=this.or.getValueAtTime(time);matrix.rotateZ(-rotationZ*this.rz.mult).rotateY(rotationY*this.ry.mult).rotateX(rotationX*this.rx.mult).rotateZ(-orientation[2]*this.or.mult).rotateY(orientation[1]*this.or.mult).rotateX(orientation[0]*this.or.mult);} 1552if(this.data.p&&this.data.p.s){var positionX=this.px.getValueAtTime(time);var positionY=this.py.getValueAtTime(time);if(this.data.p.z){var positionZ=this.pz.getValueAtTime(time);matrix.translate(positionX*this.px.mult,positionY*this.py.mult,-positionZ*this.pz.mult);}else{matrix.translate(positionX*this.px.mult,positionY*this.py.mult,0);}}else{var position=this.p.getValueAtTime(time);matrix.translate(position[0]*this.p.mult,position[1]*this.p.mult,-position[2]*this.p.mult);} 1553return matrix;} 1554function getTransformStaticValueAtTime(){return this.v.clone(new Matrix());} 1555var getTransformProperty=TransformPropertyFactory.getTransformProperty;TransformPropertyFactory.getTransformProperty=function(elem,data,container){var prop=getTransformProperty(elem,data,container);if(prop.dynamicProperties.length){prop.getValueAtTime=getTransformValueAtTime.bind(prop);}else{prop.getValueAtTime=getTransformStaticValueAtTime.bind(prop);} 1556prop.setGroupProperty=expressionHelpers.setGroupProperty;return prop;};var propertyGetProp=PropertyFactory.getProp;PropertyFactory.getProp=function(elem,data,type,mult,container){var prop=propertyGetProp(elem,data,type,mult,container);if(prop.kf){prop.getValueAtTime=expressionHelpers.getValueAtTime.bind(prop);}else{prop.getValueAtTime=expressionHelpers.getStaticValueAtTime.bind(prop);} 1557prop.setGroupProperty=expressionHelpers.setGroupProperty;prop.loopOut=loopOut;prop.loopIn=loopIn;prop.smooth=smooth;prop.getVelocityAtTime=expressionHelpers.getVelocityAtTime.bind(prop);prop.getSpeedAtTime=expressionHelpers.getSpeedAtTime.bind(prop);prop.numKeys=data.a===1?data.k.length:0;prop.propertyIndex=data.ix;var value=0;if(type!==0){value=createTypedArray('float32',data.a===1?data.k[0].s.length:data.k.length);} 1558prop._cachingAtTime={lastFrame:initialDefaultFrame,lastIndex:0,value:value};expressionHelpers.searchExpressions(elem,data,prop);if(prop.k){container.addDynamicProperty(prop);} 1559return prop;};function getShapeValueAtTime(frameNum){if(!this._cachingAtTime){this._cachingAtTime={shapeValue:shapePool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame};} 1560frameNum*=this.elem.globalData.frameRate;frameNum-=this.offsetTime;if(frameNum!==this._cachingAtTime.lastTime){this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime<frameNum?this._caching.lastIndex:0;this._cachingAtTime.lastTime=frameNum;this.interpolateShape(frameNum,this._cachingAtTime.shapeValue,this._cachingAtTime);} 1561return this._cachingAtTime.shapeValue;} 1562var ShapePropertyConstructorFunction=ShapePropertyFactory.getConstructorFunction();var KeyframedShapePropertyConstructorFunction=ShapePropertyFactory.getKeyframedConstructorFunction();function ShapeExpressions(){} 1563ShapeExpressions.prototype={vertices:function vertices(prop,time){if(this.k){this.getValue();} 1564var shapePath=this.v;if(time!==undefined){shapePath=this.getValueAtTime(time,0);} 1565var i;var len=shapePath._length;var vertices=shapePath[prop];var points=shapePath.v;var arr=createSizedArray(len);for(i=0;i<len;i+=1){if(prop==='i'||prop==='o'){arr[i]=[vertices[i][0]-points[i][0],vertices[i][1]-points[i][1]];}else{arr[i]=[vertices[i][0],vertices[i][1]];}} 1566return arr;},points:function points(time){return this.vertices('v',time);},inTangents:function inTangents(time){return this.vertices('i',time);},outTangents:function outTangents(time){return this.vertices('o',time);},isClosed:function isClosed(){return this.v.c;},pointOnPath:function pointOnPath(perc,time){var shapePath=this.v;if(time!==undefined){shapePath=this.getValueAtTime(time,0);} 1567if(!this._segmentsLength){this._segmentsLength=bez.getSegmentsLength(shapePath);} 1568var segmentsLength=this._segmentsLength;var lengths=segmentsLength.lengths;var lengthPos=segmentsLength.totalLength*perc;var i=0;var len=lengths.length;var accumulatedLength=0;var pt;while(i<len){if(accumulatedLength+lengths[i].addedLength>lengthPos){var initIndex=i;var endIndex=shapePath.c&&i===len-1?0:i+1;var segmentPerc=(lengthPos-accumulatedLength)/ lengths[i].addedLength;pt=bez.getPointInSegment(shapePath.v[initIndex],shapePath.v[endIndex],shapePath.o[initIndex],shapePath.i[endIndex],segmentPerc,lengths[i]);break;}else{accumulatedLength+=lengths[i].addedLength;} 1569i+=1;} 1570if(!pt){pt=shapePath.c?[shapePath.v[0][0],shapePath.v[0][1]]:[shapePath.v[shapePath._length-1][0],shapePath.v[shapePath._length-1][1]];} 1571return pt;},vectorOnPath:function vectorOnPath(perc,time,vectorType){if(perc==1){perc=this.v.c;}else if(perc==0){perc=0.999;} 1572var pt1=this.pointOnPath(perc,time);var pt2=this.pointOnPath(perc+0.001,time);var xLength=pt2[0]-pt1[0];var yLength=pt2[1]-pt1[1];var magnitude=Math.sqrt(Math.pow(xLength,2)+Math.pow(yLength,2));if(magnitude===0){return[0,0];} 1573var unitVector=vectorType==='tangent'?[xLength / magnitude,yLength / magnitude]:[-yLength / magnitude,xLength / magnitude];return unitVector;},tangentOnPath:function tangentOnPath(perc,time){return this.vectorOnPath(perc,time,'tangent');},normalOnPath:function normalOnPath(perc,time){return this.vectorOnPath(perc,time,'normal');},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime};extendPrototype([ShapeExpressions],ShapePropertyConstructorFunction);extendPrototype([ShapeExpressions],KeyframedShapePropertyConstructorFunction);KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime=getShapeValueAtTime;KeyframedShapePropertyConstructorFunction.prototype.initiateExpression=ExpressionManager.initiateExpression;var propertyGetShapeProp=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(elem,data,type,arr,trims){var prop=propertyGetShapeProp(elem,data,type,arr,trims);prop.propertyIndex=data.ix;prop.lock=false;if(type===3){expressionHelpers.searchExpressions(elem,data.pt,prop);}else if(type===4){expressionHelpers.searchExpressions(elem,data.ks,prop);} 1574if(prop.k){elem.addDynamicProperty(prop);} 1575return prop;};} 1576function initialize$1(){addPropertyDecorator();} 1577function addDecorator(){function searchExpressions(){if(this.data.d.x){this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this);this.addEffect(this.getExpressionValue.bind(this));return true;} 1578return null;} 1579TextProperty.prototype.getExpressionValue=function(currentValue,text){var newValue=this.calculateExpression(text);if(currentValue.t!==newValue){var newData={};this.copyData(newData,currentValue);newData.t=newValue.toString();newData.__complete=false;return newData;} 1580return currentValue;};TextProperty.prototype.searchProperty=function(){var isKeyframed=this.searchKeyframes();var hasExpressions=this.searchExpressions();this.kf=isKeyframed||hasExpressions;return this.kf;};TextProperty.prototype.searchExpressions=searchExpressions;} 1581function initialize(){addDecorator();} 1582function SVGComposableEffect(){} 1583SVGComposableEffect.prototype={createMergeNode:function createMergeNode(resultId,ins){var feMerge=createNS('feMerge');feMerge.setAttribute('result',resultId);var feMergeNode;var i;for(i=0;i<ins.length;i+=1){feMergeNode=createNS('feMergeNode');feMergeNode.setAttribute('in',ins[i]);feMerge.appendChild(feMergeNode);feMerge.appendChild(feMergeNode);} 1584return feMerge;}};var linearFilterValue='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0';function SVGTintFilter(filter,filterManager,elem,id,source){this.filterManager=filterManager;var feColorMatrix=createNS('feColorMatrix');feColorMatrix.setAttribute('type','matrix');feColorMatrix.setAttribute('color-interpolation-filters','linearRGB');feColorMatrix.setAttribute('values',linearFilterValue+' 1 0');this.linearFilter=feColorMatrix;feColorMatrix.setAttribute('result',id+'_tint_1');filter.appendChild(feColorMatrix);feColorMatrix=createNS('feColorMatrix');feColorMatrix.setAttribute('type','matrix');feColorMatrix.setAttribute('color-interpolation-filters','sRGB');feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');feColorMatrix.setAttribute('result',id+'_tint_2');filter.appendChild(feColorMatrix);this.matrixFilter=feColorMatrix;var feMerge=this.createMergeNode(id,[source,id+'_tint_1',id+'_tint_2']);filter.appendChild(feMerge);} 1585extendPrototype([SVGComposableEffect],SVGTintFilter);SVGTintFilter.prototype.renderFrame=function(forceRender){if(forceRender||this.filterManager._mdf){var colorBlack=this.filterManager.effectElements[0].p.v;var colorWhite=this.filterManager.effectElements[1].p.v;var opacity=this.filterManager.effectElements[2].p.v / 100;this.linearFilter.setAttribute('values',linearFilterValue+' '+opacity+' 0');this.matrixFilter.setAttribute('values',colorWhite[0]-colorBlack[0]+' 0 0 0 '+colorBlack[0]+' '+(colorWhite[1]-colorBlack[1])+' 0 0 0 '+colorBlack[1]+' '+(colorWhite[2]-colorBlack[2])+' 0 0 0 '+colorBlack[2]+' 0 0 0 1 0');}};function SVGFillFilter(filter,filterManager,elem,id){this.filterManager=filterManager;var feColorMatrix=createNS('feColorMatrix');feColorMatrix.setAttribute('type','matrix');feColorMatrix.setAttribute('color-interpolation-filters','sRGB');feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');feColorMatrix.setAttribute('result',id);filter.appendChild(feColorMatrix);this.matrixFilter=feColorMatrix;} 1586SVGFillFilter.prototype.renderFrame=function(forceRender){if(forceRender||this.filterManager._mdf){var color=this.filterManager.effectElements[2].p.v;var opacity=this.filterManager.effectElements[6].p.v;this.matrixFilter.setAttribute('values','0 0 0 0 '+color[0]+' 0 0 0 0 '+color[1]+' 0 0 0 0 '+color[2]+' 0 0 0 '+opacity+' 0');}};function SVGStrokeEffect(fil,filterManager,elem){this.initialized=false;this.filterManager=filterManager;this.elem=elem;this.paths=[];} 1587SVGStrokeEffect.prototype.initialize=function(){var elemChildren=this.elem.layerElement.children||this.elem.layerElement.childNodes;var path;var groupPath;var i;var len;if(this.filterManager.effectElements[1].p.v===1){len=this.elem.maskManager.masksProperties.length;i=0;}else{i=this.filterManager.effectElements[0].p.v-1;len=i+1;} 1588groupPath=createNS('g');groupPath.setAttribute('fill','none');groupPath.setAttribute('stroke-linecap','round');groupPath.setAttribute('stroke-dashoffset',1);for(i;i<len;i+=1){path=createNS('path');groupPath.appendChild(path);this.paths.push({p:path,m:i});} 1589if(this.filterManager.effectElements[10].p.v===3){var mask=createNS('mask');var id=createElementID();mask.setAttribute('id',id);mask.setAttribute('mask-type','alpha');mask.appendChild(groupPath);this.elem.globalData.defs.appendChild(mask);var g=createNS('g');g.setAttribute('mask','url('+getLocationHref()+'#'+id+')');while(elemChildren[0]){g.appendChild(elemChildren[0]);} 1590this.elem.layerElement.appendChild(g);this.masker=mask;groupPath.setAttribute('stroke','#fff');}else if(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2){if(this.filterManager.effectElements[10].p.v===2){elemChildren=this.elem.layerElement.children||this.elem.layerElement.childNodes;while(elemChildren.length){this.elem.layerElement.removeChild(elemChildren[0]);}} 1591this.elem.layerElement.appendChild(groupPath);this.elem.layerElement.removeAttribute('mask');groupPath.setAttribute('stroke','#fff');} 1592this.initialized=true;this.pathMasker=groupPath;};SVGStrokeEffect.prototype.renderFrame=function(forceRender){if(!this.initialized){this.initialize();} 1593var i;var len=this.paths.length;var mask;var path;for(i=0;i<len;
vendor: 5,058 bytes, lines 1593-1603
1593i+=1){if(this.paths[i].m!==-1){mask=this.elem.maskManager.viewData[this.paths[i].m];path=this.paths[i].p;if(forceRender||this.filterManager._mdf||mask.prop._mdf){path.setAttribute('d',mask.lastPath);} 1594if(forceRender||this.filterManager.effectElements[9].p._mdf||this.filterManager.effectElements[4].p._mdf||this.filterManager.effectElements[7].p._mdf||this.filterManager.effectElements[8].p._mdf||mask.prop._mdf){var dasharrayValue;if(this.filterManager.effectElements[7].p.v!==0||this.filterManager.effectElements[8].p.v!==100){var s=Math.min(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)*0.01;var e=Math.max(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)*0.01;var l=path.getTotalLength();dasharrayValue='0 0 0 '+l*s+' ';var lineLength=l*(e-s);var segment=1+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*0.01;var units=Math.floor(lineLength / segment);var j;for(j=0;j<units;j+=1){dasharrayValue+='1 '+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*0.01+' ';} 1595dasharrayValue+='0 '+l*10+' 0 0';}else{dasharrayValue='1 '+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*0.01;} 1596path.setAttribute('stroke-dasharray',dasharrayValue);}}} 1597if(forceRender||this.filterManager.effectElements[4].p._mdf){this.pathMasker.setAttribute('stroke-width',this.filterManager.effectElements[4].p.v*2);} 1598if(forceRender||this.filterManager.effectElements[6].p._mdf){this.pathMasker.setAttribute('opacity',this.filterManager.effectElements[6].p.v);} 1599if(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2){if(forceRender||this.filterManager.effectElements[3].p._mdf){var color=this.filterManager.effectElements[3].p.v;this.pathMasker.setAttribute('stroke','rgb('+bmFloor(color[0]*255)+','+bmFloor(color[1]*255)+','+bmFloor(color[2]*255)+')');}}};function SVGTritoneFilter(filter,filterManager,elem,id){this.filterManager=filterManager;var feColorMatrix=createNS('feColorMatrix');feColorMatrix.setAttribute('type','matrix');feColorMatrix.setAttribute('color-interpolation-filters','linearRGB');feColorMatrix.setAttribute('values','0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0');filter.appendChild(feColorMatrix);var feComponentTransfer=createNS('feComponentTransfer');feComponentTransfer.setAttribute('color-interpolation-filters','sRGB');feComponentTransfer.setAttribute('result',id);this.matrixFilter=feComponentTransfer;var feFuncR=createNS('feFuncR');feFuncR.setAttribute('type','table');feComponentTransfer.appendChild(feFuncR);this.feFuncR=feFuncR;var feFuncG=createNS('feFuncG');feFuncG.setAttribute('type','table');feComponentTransfer.appendChild(feFuncG);this.feFuncG=feFuncG;var feFuncB=createNS('feFuncB');feFuncB.setAttribute('type','table');feComponentTransfer.appendChild(feFuncB);this.feFuncB=feFuncB;filter.appendChild(feComponentTransfer);} 1600SVGTritoneFilter.prototype.renderFrame=function(forceRender){if(forceRender||this.filterManager._mdf){var color1=this.filterManager.effectElements[0].p.v;var color2=this.filterManager.effectElements[1].p.v;var color3=this.filterManager.effectElements[2].p.v;var tableR=color3[0]+' '+color2[0]+' '+color1[0];var tableG=color3[1]+' '+color2[1]+' '+color1[1];var tableB=color3[2]+' '+color2[2]+' '+color1[2];this.feFuncR.setAttribute('tableValues',tableR);this.feFuncG.setAttribute('tableValues',tableG);this.feFuncB.setAttribute('tableValues',tableB);}};function SVGProLevelsFilter(filter,filterManager,elem,id){this.filterManager=filterManager;var effectElements=this.filterManager.effectElements;var feComponentTransfer=createNS('feComponentTransfer');if(effectElements[10].p.k||effectElements[10].p.v!==0||effectElements[11].p.k||effectElements[11].p.v!==1||effectElements[12].p.k||effectElements[12].p.v!==1||effectElements[13].p.k||effectElements[13].p.v!==0||effectElements[14].p.k||effectElements[14].p.v!==1){this.feFuncR=this.createFeFunc('feFuncR',feComponentTransfer);} 1601if(effectElements[17].p.k||effectElements[17].p.v!==0||effectElements[18].p.k||effectElements[18].p.v!==1||effectElements[19].p.k||effectElements[19].p.v!==1||effectElements[20].p.k||effectElements[20].p.v!==0||effectElements[21].p.k||effectElements[21].p.v!==1){this.feFuncG=this.createFeFunc('feFuncG',feComponentTransfer);} 1602if(effectElements[24].p.k||effectElements[24].p.v!==0||effectElements[25].p.k||effectElements[25].p.v!==1||effectElements[26].p.k||effectElements[26].p.v!==1||effectElements[27].p.k||effectElements[27].p.v!==0||effectElements[28].p.k||effectElements[28].p.v!==1){this.feFuncB=this.createFeFunc('feFuncB',feComponentTransfer);} 1603if(effectElements[31].p.k||effectElements[31].p.v!==0||effectElements[32].p.k||effectElements[32].p.v!==1||effectElements[33].p.k||effectElements[33].p.v!==1||effectElements[34].p.k||effectElements[34].p.v!==0||effectElements[35].p.k||effectElements[35].p.v!==1){this.feFuncA=this.createFeFunc('feFuncA',feComponentTransfer);}
vendor: 9,545 bytes, lines 1604-1627
1604if(this.feFuncR||this.feFuncG||this.feFuncB||this.feFuncA){feComponentTransfer.setAttribute('color-interpolation-filters','sRGB');filter.appendChild(feComponentTransfer);} 1605if(effectElements[3].p.k||effectElements[3].p.v!==0||effectElements[4].p.k||effectElements[4].p.v!==1||effectElements[5].p.k||effectElements[5].p.v!==1||effectElements[6].p.k||effectElements[6].p.v!==0||effectElements[7].p.k||effectElements[7].p.v!==1){feComponentTransfer=createNS('feComponentTransfer');feComponentTransfer.setAttribute('color-interpolation-filters','sRGB');feComponentTransfer.setAttribute('result',id);filter.appendChild(feComponentTransfer);this.feFuncRComposed=this.createFeFunc('feFuncR',feComponentTransfer);this.feFuncGComposed=this.createFeFunc('feFuncG',feComponentTransfer);this.feFuncBComposed=this.createFeFunc('feFuncB',feComponentTransfer);}} 1606SVGProLevelsFilter.prototype.createFeFunc=function(type,feComponentTransfer){var feFunc=createNS(type);feFunc.setAttribute('type','table');feComponentTransfer.appendChild(feFunc);return feFunc;};SVGProLevelsFilter.prototype.getTableValue=function(inputBlack,inputWhite,gamma,outputBlack,outputWhite){var cnt=0;var segments=256;var perc;var min=Math.min(inputBlack,inputWhite);var max=Math.max(inputBlack,inputWhite);var table=Array.call(null,{length:segments});var colorValue;var pos=0;var outputDelta=outputWhite-outputBlack;var inputDelta=inputWhite-inputBlack;while(cnt<=256){perc=cnt / 256;if(perc<=min){colorValue=inputDelta<0?outputWhite:outputBlack;}else if(perc>=max){colorValue=inputDelta<0?outputBlack:outputWhite;}else{colorValue=outputBlack+outputDelta*Math.pow((perc-inputBlack)/ inputDelta,1 / gamma);} 1607table[pos]=colorValue;pos+=1;cnt+=256 /(segments-1);} 1608return table.join(' ');};SVGProLevelsFilter.prototype.renderFrame=function(forceRender){if(forceRender||this.filterManager._mdf){var val;var effectElements=this.filterManager.effectElements;if(this.feFuncRComposed&&(forceRender||effectElements[3].p._mdf||effectElements[4].p._mdf||effectElements[5].p._mdf||effectElements[6].p._mdf||effectElements[7].p._mdf)){val=this.getTableValue(effectElements[3].p.v,effectElements[4].p.v,effectElements[5].p.v,effectElements[6].p.v,effectElements[7].p.v);this.feFuncRComposed.setAttribute('tableValues',val);this.feFuncGComposed.setAttribute('tableValues',val);this.feFuncBComposed.setAttribute('tableValues',val);} 1609if(this.feFuncR&&(forceRender||effectElements[10].p._mdf||effectElements[11].p._mdf||effectElements[12].p._mdf||effectElements[13].p._mdf||effectElements[14].p._mdf)){val=this.getTableValue(effectElements[10].p.v,effectElements[11].p.v,effectElements[12].p.v,effectElements[13].p.v,effectElements[14].p.v);this.feFuncR.setAttribute('tableValues',val);} 1610if(this.feFuncG&&(forceRender||effectElements[17].p._mdf||effectElements[18].p._mdf||effectElements[19].p._mdf||effectElements[20].p._mdf||effectElements[21].p._mdf)){val=this.getTableValue(effectElements[17].p.v,effectElements[18].p.v,effectElements[19].p.v,effectElements[20].p.v,effectElements[21].p.v);this.feFuncG.setAttribute('tableValues',val);} 1611if(this.feFuncB&&(forceRender||effectElements[24].p._mdf||effectElements[25].p._mdf||effectElements[26].p._mdf||effectElements[27].p._mdf||effectElements[28].p._mdf)){val=this.getTableValue(effectElements[24].p.v,effectElements[25].p.v,effectElements[26].p.v,effectElements[27].p.v,effectElements[28].p.v);this.feFuncB.setAttribute('tableValues',val);} 1612if(this.feFuncA&&(forceRender||effectElements[31].p._mdf||effectElements[32].p._mdf||effectElements[33].p._mdf||effectElements[34].p._mdf||effectElements[35].p._mdf)){val=this.getTableValue(effectElements[31].p.v,effectElements[32].p.v,effectElements[33].p.v,effectElements[34].p.v,effectElements[35].p.v);this.feFuncA.setAttribute('tableValues',val);}}};function SVGDropShadowEffect(filter,filterManager,elem,id,source){var globalFilterSize=filterManager.container.globalData.renderConfig.filterSize;var filterSize=filterManager.data.fs||globalFilterSize;filter.setAttribute('x',filterSize.x||globalFilterSize.x);filter.setAttribute('y',filterSize.y||globalFilterSize.y);filter.setAttribute('width',filterSize.width||globalFilterSize.width);filter.setAttribute('height',filterSize.height||globalFilterSize.height);this.filterManager=filterManager;var feGaussianBlur=createNS('feGaussianBlur');feGaussianBlur.setAttribute('in','SourceAlpha');feGaussianBlur.setAttribute('result',id+'_drop_shadow_1');feGaussianBlur.setAttribute('stdDeviation','0');this.feGaussianBlur=feGaussianBlur;filter.appendChild(feGaussianBlur);var feOffset=createNS('feOffset');feOffset.setAttribute('dx','25');feOffset.setAttribute('dy','0');feOffset.setAttribute('in',id+'_drop_shadow_1');feOffset.setAttribute('result',id+'_drop_shadow_2');this.feOffset=feOffset;filter.appendChild(feOffset);var feFlood=createNS('feFlood');feFlood.setAttribute('flood-color','#00ff00');feFlood.setAttribute('flood-opacity','1');feFlood.setAttribute('result',id+'_drop_shadow_3');this.feFlood=feFlood;filter.appendChild(feFlood);var feComposite=createNS('feComposite');feComposite.setAttribute('in',id+'_drop_shadow_3');feComposite.setAttribute('in2',id+'_drop_shadow_2');feComposite.setAttribute('operator','in');feComposite.setAttribute('result',id+'_drop_shadow_4');filter.appendChild(feComposite);var feMerge=this.createMergeNode(id,[id+'_drop_shadow_4',source]);filter.appendChild(feMerge);} 1613extendPrototype([SVGComposableEffect],SVGDropShadowEffect);SVGDropShadowEffect.prototype.renderFrame=function(forceRender){if(forceRender||this.filterManager._mdf){if(forceRender||this.filterManager.effectElements[4].p._mdf){this.feGaussianBlur.setAttribute('stdDeviation',this.filterManager.effectElements[4].p.v / 4);} 1614if(forceRender||this.filterManager.effectElements[0].p._mdf){var col=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute('flood-color',rgbToHex(Math.round(col[0]*255),Math.round(col[1]*255),Math.round(col[2]*255)));} 1615if(forceRender||this.filterManager.effectElements[1].p._mdf){this.feFlood.setAttribute('flood-opacity',this.filterManager.effectElements[1].p.v / 255);} 1616if(forceRender||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var distance=this.filterManager.effectElements[3].p.v;var angle=(this.filterManager.effectElements[2].p.v-90)*degToRads;var x=distance*Math.cos(angle);var y=distance*Math.sin(angle);this.feOffset.setAttribute('dx',x);this.feOffset.setAttribute('dy',y);}}};var _svgMatteSymbols=[];function SVGMatte3Effect(filterElem,filterManager,elem){this.initialized=false;this.filterManager=filterManager;this.filterElem=filterElem;this.elem=elem;elem.matteElement=createNS('g');elem.matteElement.appendChild(elem.layerElement);elem.matteElement.appendChild(elem.transformedElement);elem.baseElement=elem.matteElement;} 1617SVGMatte3Effect.prototype.findSymbol=function(mask){var i=0;var len=_svgMatteSymbols.length;while(i<len){if(_svgMatteSymbols[i]===mask){return _svgMatteSymbols[i];} 1618i+=1;} 1619return null;};SVGMatte3Effect.prototype.replaceInParent=function(mask,symbolId){var parentNode=mask.layerElement.parentNode;if(!parentNode){return;} 1620var children=parentNode.children;var i=0;var len=children.length;while(i<len){if(children[i]===mask.layerElement){break;} 1621i+=1;} 1622var nextChild;if(i<=len-2){nextChild=children[i+1];} 1623var useElem=createNS('use');useElem.setAttribute('href','#'+symbolId);if(nextChild){parentNode.insertBefore(useElem,nextChild);}else{parentNode.appendChild(useElem);}};SVGMatte3Effect.prototype.setElementAsMask=function(elem,mask){if(!this.findSymbol(mask)){var symbolId=createElementID();var masker=createNS('mask');masker.setAttribute('id',mask.layerId);masker.setAttribute('mask-type','alpha');_svgMatteSymbols.push(mask);var defs=elem.globalData.defs;defs.appendChild(masker);var symbol=createNS('symbol');symbol.setAttribute('id',symbolId);this.replaceInParent(mask,symbolId);symbol.appendChild(mask.layerElement);defs.appendChild(symbol);var useElem=createNS('use');useElem.setAttribute('href','#'+symbolId);masker.appendChild(useElem);mask.data.hd=false;mask.show();} 1624elem.setMatte(mask.layerId);};SVGMatte3Effect.prototype.initialize=function(){var ind=this.filterManager.effectElements[0].p.v;var elements=this.elem.comp.elements;var i=0;var len=elements.length;while(i<len){if(elements[i]&&elements[i].data.ind===ind){this.setElementAsMask(this.elem,elements[i]);} 1625i+=1;} 1626this.initialized=true;};SVGMatte3Effect.prototype.renderFrame=function(){if(!this.initialized){this.initialize();}};function SVGGaussianBlurEffect(filter,filterManager,elem,id){filter.setAttribute('x','-100%');filter.setAttribute('y','-100%');filter.setAttribute('width','300%');filter.setAttribute('height','300%');this.filterManager=filterManager;var feGaussianBlur=createNS('feGaussianBlur');feGaussianBlur.setAttribute('result',id);filter.appendChild(feGaussianBlur);this.feGaussianBlur=feGaussianBlur;} 1627SVGGaussianBlurEffect.prototype.renderFrame=function(forceRender){if(forceRender||this.filterManager._mdf){var kBlurrinessToSigma=0.3;var sigma=this.filterManager.effectElements[0].p.v*kBlurrinessToSigma;var dimensions=this.filterManager.effectElements[1].p.v;var sigmaX=dimensions==3?0:sigma;var sigmaY=dimensions==2?0:sigma;this.feGaussianBlur.setAttribute('stdDeviation',sigmaX+' '+sigmaY);var edgeMode=this.filterManager.effectElements[2].p.v==1?'wrap':'duplicate';this.feGaussianBlur.setAttribute('edgeMode',edgeMode);}};registerRenderer('canvas',CanvasRenderer);registerRenderer('html',HybridRenderer);registerRenderer('svg',SVGRenderer);
1627ShapeModifiers.registerModifier('tm',TrimModifier);ShapeModifiers.registerModifier('pb',PuckerAndBloatModifier);ShapeModifiers.registerModifier('rp',RepeaterModifier);ShapeModifiers.registerModifier('rd',RoundCornersModifier);ShapeModifiers.registerModifier('zz',ZigZagModifier);ShapeModifiers.registerModifier('op',OffsetPathModifier);setExpressionsPlugin(Expressions);setExpressionInterfaces(getInterface);initialize$1();initialize();registerEffect(20,SVGTintFilter,true);registerEffect(21,SVGFillFilter,true);registerEffect(22,SVGStrokeEffect,false);registerEffect(23,SVGTritoneFilter,true);registerEffect(24,SVGProLevelsFilter,true);registerEffect(25,SVGDropShadowEffect,true);registerEffect(28,SVGMatte3Effect,false);registerEffect(29,SVGGaussianBlurEffect,true);return lottie;}));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.