keyframed text fix
diff --git a/gulpfile.js b/gulpfile.js
index fda1b1b..a53334d 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -39,7 +39,7 @@
 moduleWrap = moduleWrap.replace('[[BM_VERSION]]',bm_version);
 
 gulp.task('gzipFile', function(){
-  gulp.src('player/exports/render/data.json')
+  gulp.src('build/player/lottie.min.js')
     .pipe(gzip({ append: false }))
     .pipe(gulp.dest('demo/'));
 });
diff --git a/player/index.html b/player/index.html
index 69e434c..9a6d3aa 100644
--- a/player/index.html
+++ b/player/index.html
@@ -151,133 +151,21 @@
 </head>
 <body>
 <div id="lottie"></div>
-<div id="lottie2"></div>
-<div id="lottie3"></div>
 
 <script>
-    'use strict';
-    var anim,anim2, anim3;
+    var anim;
     var elem = document.getElementById('lottie')
-    //var elem = createNS('aa')
     var animData = {
         container: elem,
         renderer: 'svg',
-        loop: 5,
+        loop: false,
         autoplay: true,
         rendererSettings: {
-            progressiveLoad:false,
+            progressiveLoad:true,
         },
-        path: 'exports/catrim/data.json'
+        path: 'exports/render/data.json'
     };
     anim = lottie.loadAnimation(animData);
-    anim.addEventListener('DOMLoaded', function() {
-        //anim.setSubframe(false);
-         anim.setSpeed(4);
-        //setTimeout(function(){anim.play()}, 2000);
-    })
-    var eventListener = anim.addEventListener('enterFrame', function(ev){
-        if(ev.currentTime >= 50) {
-            //anim.playSegments([0,25], true);
-            //console.log('TI<ME')
-            //anim.setSpeed(-4);
-            eventListener();
-        }
-    })
-    var eventListener2 = anim.addEventListener('loopComplete', function(ev) {
-        //console.log('COMPLETE')
-        //anim.playSegments([0,20], true);
-        if (ev.currentLoop === 3) {
-            anim.setSpeed(-4);
-            anim.play();
-            eventListener2();
-        }
-        // eventListener2();
-    })
-    var eventListener3 = anim.addEventListener('complete', function() {
-        //console.log('COMPLETE')
-        /*setTimeout(function(){
-            anim.playSegments([0,24], true);
-        },1000)*/
-        //anim.playSegments([24,0]);
-        //anim.playSegments([0,24], true);
-        eventListener3();
-    })
-    window.addEventListener('resize', function(){
-        anim.resize();
-    })
-   /* setTimeout(function(){
-        anim.resetSegments();
-    },4000)*/
-    /*anim2 = lottie.loadAnimation({
-        container: document.getElementById('lottie2'),
-        renderer: 'svg',
-        loop: true,
-        autoplay: false,
-        rendererSettings: {
-            progressiveLoad:false
-        },
-        path: 'exports/bm/data.json'
-    });
-    anim3 = lottie.loadAnimation({
-        container: document.getElementById('lottie3'),
-        renderer: 'svg',
-        loop: true,
-        autoplay: false,
-        rendererSettings: {
-            progressiveLoad:false
-        },
-        path: 'exports/catrim/data.json'
-    });
-    //anim = bodymovin.loadAnimation(animData);
-    var count = 0, debug_print;
-    setTimeout(function(){
-        anim.addEventListener('DOMLoaded', function() {
-            anim.play();
-            anim.setSpeed(-20);
-            anim2.play();
-            anim2.setSpeed(-20);
-            anim3.play();
-            anim3.setSpeed(20);
-            //anim.playSegments([50,52], true)
-            function retry() {
-                setTimeout(function(){
-                    //%OptimizeFunctionOnNextCall(AnimationItem.prototype.setCurrentRawFrameValue);
-                }, 2000)
-                setTimeout(function(){
-                    //%DebugPrint(AnimationItem.prototype.setCurrentRawFrameValue);
-                    //var status = printStatus(AnimationItem.prototype.setCurrentRawFrameValue);
-                    if(count < 4) {
-                        anim.setSpeed(-Math.random()*10);
-                        anim2.setSpeed(Math.random()*10);
-                        anim3.setSpeed(-Math.random()*10);
-                        count += 1;
-                        retry();
-                    } else {
-                        anim.stop();
-                        anim2.stop();
-                        anim3.stop();
-                    }
-                }, 4000)
-            }
-
-            retry();
-            
-        })
-        //Check
-        // document.getElementById("bodymovin").style['background-color'] = 'darkblue';
-    }, 0)
-
-    function printStatus(fn) {
-        var status = %GetOptimizationStatus(fn);
-        if (status & 1) console.log("function is function");
-        if (status & 2) console.log("function is never optimized");
-        if (status & 4) console.log("function is always optimized");
-        if (status & 8) console.log("function is maybe deoptimized");
-        if (status & 16) console.log("function is optimized");
-        if (status & 32) console.log("function is optimized by TurboFan");
-        if (status & 64) console.log("function is interpreted");
-        return status;
-    }*/
 
 </script>
 </body>
diff --git a/player/js/utils/text/TextProperty.js b/player/js/utils/text/TextProperty.js
index 5585a6e..cc86892 100644
--- a/player/js/utils/text/TextProperty.js
+++ b/player/js/utils/text/TextProperty.js
@@ -91,11 +91,12 @@
 	if((frameId === this._frameId || !this.kf) && !this._isFirstFrame && !_forceRender) {
 		return;
 	}
-	var textKeys = this.data.d.k, textDocumentData;
+    var textKeys = this.data.d.k, textDocumentData;
+    var frameNum = this.elem.comp.renderedFrame;
     var i = 0, len = textKeys.length;
     while(i <= len - 1) {
         textDocumentData = textKeys[i].s;
-        if(i === len - 1 || textKeys[i+1].t > frameId){
+        if(i === len - 1 || textKeys[i+1].t > frameNum){
             break;
         }
         i += 1;