Merge branch 'master' of github.com:airbnb/lottie-web
diff --git a/README.md b/README.md
index 3cc63c8..24b7031 100644
--- a/README.md
+++ b/README.md
@@ -33,7 +33,7 @@
 
 ### Option 2:
 **Or get it from the adobe store**
-https://creative.adobe.com/addons/products/12557
+https://exchange.adobe.com/creativecloud.details.12557.html
 CC 2014 and up.
 
 ## Other installation options:
diff --git a/build/player/lottie.js b/build/player/lottie.js
index 5bc2be8..a6755c8 100644
--- a/build/player/lottie.js
+++ b/build/player/lottie.js
@@ -2082,7 +2082,7 @@
     for (var i = 0; i < this.markers.length; i += 1) {
       marker = this.markers[i];
 
-      if (marker.payload && marker.payload.name === markerName) {
+      if (marker.payload && marker.payload.name.cm === markerName) {
         return marker;
       }
     }
diff --git a/index.d.ts b/index.d.ts
index a46a2eb..d27dd9e 100644
--- a/index.d.ts
+++ b/index.d.ts
@@ -1,6 +1,6 @@
 export type AnimationDirection = 1 | -1;
 export type AnimationSegment = [number, number];
-export type AnimationEventName = 'enterFrame' | 'loopComplete' | 'complete' | 'segmentStart' | 'destroy' | 'config_ready' | 'data_ready' | 'DOMLoaded' | 'error' | 'data_failed' | 'loaded_images';
+export type AnimationEventName = 'enterFrame' | 'loopComplete' | 'complete' | 'segmentStart' | 'destroy' | 'config_ready' | 'data_ready' | 'DOMLoaded' | 'error' | 'data_failed' | 'loaded_images';
 export type AnimationEventCallback<T = any> = (args: T) => void;
 
 export type AnimationItem = {
@@ -30,8 +30,8 @@
     togglePause(name?: string): void;
     destroy(name?: string): void;
     pause(name?: string): void;
-    goToAndStop(value: number, isFrame?: boolean, name?: string): void;
-    goToAndPlay(value: number, isFrame?: boolean, name?: string): void;
+    goToAndStop(value: number | string, isFrame?: boolean, name?: string): void;
+    goToAndPlay(value: number | string, isFrame?: boolean, name?: string): void;
     includeLayers(data: any): void;
     setSegment(init: number, end: number): void;
     resetSegments(forceFlag: boolean): void;
@@ -76,7 +76,9 @@
     hideOnTransparent?: boolean;
 };
 
-export type AnimationConfig<T extends 'svg' | 'canvas' | 'html' = 'svg'> = {
+export type RendererType = 'svg' | 'canvas' | 'html';
+
+export type AnimationConfig<T extends RendererType> = {
     container: Element;
     renderer?: T;
     loop?: boolean | number;
@@ -98,11 +100,11 @@
     }
 }
 
-export type AnimationConfigWithPath = AnimationConfig & {
+export type AnimationConfigWithPath<T extends RendererType> = AnimationConfig<T> & {
     path?: string;
 }
 
-export type AnimationConfigWithData = AnimationConfig & {
+export type AnimationConfigWithData<T extends RendererType> = AnimationConfig<T> & {
     animationData?: any;
 }
 
@@ -120,7 +122,7 @@
     setSpeed(speed: number, name?: string): void;
     setDirection(direction: AnimationDirection, name?: string): void;
     searchAnimations(animationData?: any, standalone?: boolean, renderer?: string): void;
-    loadAnimation(params: AnimationConfigWithPath | AnimationConfigWithData): AnimationItem;
+    loadAnimation<T extends RendererType>(params: AnimationConfigWithPath<T> | AnimationConfigWithData<T>): AnimationItem;
     destroy(name?: string): void;
     registerAnimation(element: Element, animationData?: any): void;
     setQuality(quality: string | number): void;
diff --git a/player/js/animation/AnimationItem.js b/player/js/animation/AnimationItem.js
index 8c0a660..e86bca4 100644
--- a/player/js/animation/AnimationItem.js
+++ b/player/js/animation/AnimationItem.js
@@ -430,7 +430,7 @@
   var marker;
   for (var i = 0; i < this.markers.length; i += 1) {
     marker = this.markers[i];
-    if (marker.payload && marker.payload.name === markerName) {
+    if (marker.payload && marker.payload.name.cm === markerName) {
       return marker;
     }
   }