{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js", "ssg:https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js", "ssg:https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js", "ssg:https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js", "ssg:https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js", "ssg:https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js", "ssg:https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js", "ssg:https://framer.com/m/framer/useAutoMotionValue.js@0.3.0", "ssg:https://jspm.dev/npm:lottie-web@5.7.8!cjs", "ssg:https://framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/RLfsHd78NBd0kbafA9hd/Lottie.js", "ssg:https://ga.jspm.io/npm:@rive-app/canvas@2.26.1/rive.js", "ssg:https://ga.jspm.io/npm:@rive-app/react-canvas@4.18.0/dist/index.js", "ssg:https://framerusercontent.com/modules/zIrRZoIgteGH4KvNSVbF/0fq7lD8yeBknaxdZUvlU/Rive_v5.js", "ssg:https://framerusercontent.com/modules/ZjkrPwU7EFpO0HxG3Hkb/jUagWgqy36jpWmSAGcZz/BFnAFjSky.js", "ssg:https://framerusercontent.com/modules/dkRnB6OVTTxK1SrOsxlt/C9R6HlpibDn9qj2H6TV7/c7FdTXA6I.js", "ssg:https://framerusercontent.com/modules/AhUJIku7qvqpsL2Zzuh3/lX5I0csKmcdpH2dXdguU/ICX_O4fuf.js", "ssg:https://framerusercontent.com/modules/NkAdHAr2gk0ALXtNEiFQ/4cgHILArjpp2FFnPUu6K/znz3pw6vH.js", "ssg:https://framerusercontent.com/modules/Z6cYimMiF3umCMWH46eD/tasEdUTem7ICrIQLWYuA/B7oOPxShk.js", "ssg:https://framerusercontent.com/modules/zKgMI56iTaF1ba76kXmK/j79UkflawOiULmqH6Ggl/LIUi7Wh6A.js", "ssg:https://framerusercontent.com/modules/jiRqwqisuQgImF3TaFkW/NnHCzMuUw5iMM695yrhw/qCNfW_OL9.js"],
  "sourcesContent": ["import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here \u2014 there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map", "import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n    return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n    return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n    const isInTarget = useIsInCurrentNavigationTarget();\n    useEffect(()=>{\n        if (enabled && isInTarget === goal) callback();\n    }, [\n        isInTarget\n    ]);\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useOnEnter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnNavigationTargetChange.map", "import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map", "import { useMemo } from \"react\";\nexport const isBrowserSafari = ()=>{\n    if (typeof navigator !== `undefined`) {\n        const userAgent = navigator.userAgent.toLowerCase();\n        const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n        return isSafari;\n    } else return false;\n};\nexport const useIsBrowserSafari = ()=>useMemo(()=>isBrowserSafari()\n    , [])\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isBrowser.map", "import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\nexport function useIsOnCanvas() {\n    const onCanvas = useMemo(()=>RenderTarget.current() === RenderTarget.canvas\n    , []);\n    return onCanvas;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map", "import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map", "import{MotionValue}from\"framer\";// Basic MotionValue check\nexport const isMotionValue=v=>v instanceof MotionValue;\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./isMotionValue.map", "import{useCallback,useEffect,useRef}from\"react\";import{motionValue,animate,RenderTarget}from\"framer\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";export function useAutoMotionValue(inputValue,options){// Put options on a local ref\n// Might wanna just memo instead but it works for now\nconst optionsRef=useRef(options);const animation=useRef();const didInitialMount=useRef(false);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;// in-progress - trying to figure out effect hooks\nconst onChangeDeps=(options===null||options===void 0?void 0:options.onChangeDeps)?options.onChangeDeps:[];// Memoize the onChange handler\nconst onChange=useCallback(options===null||options===void 0?void 0:options.onChange,[...onChangeDeps,]);// Optionally scale the value from props\nconst transformer=useCallback(value=>{var ref;return((ref=optionsRef.current)===null||ref===void 0?void 0:ref.transform)?optionsRef.current.transform(value):value;},[]);// Create new MotionValue from inputValue\nconst value1=useConstant(()=>isMotionValue(inputValue)?inputValue:motionValue(transformer(inputValue)));// Setting value from prop change\nuseEffect(()=>{if(!isMotionValue(inputValue)&&didInitialMount.current){var ref,ref1;const newValue=transformer(inputValue);(ref=animation.current)===null||ref===void 0?void 0:ref.stop();// Call change callback\nif(onChange)onChange(newValue,value1);// Trigger animation to new value\nif(((ref1=optionsRef.current)===null||ref1===void 0?void 0:ref1.animate)&&!isOnCanvas){var ref2;// @ts-ignore\nanimation.current=animate(value1,newValue,(ref2=optionsRef.current)===null||ref2===void 0?void 0:ref2.transition);}else{value1.set(newValue);}}didInitialMount.current=true;},[inputValue,...onChangeDeps]);return value1;}\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useAutoMotionValue.map", "var _global = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : global;\n\nvar exports = {};\ntypeof navigator !== \"undefined\" && function (root, factory) {\n  if (exports) {\n    exports = factory(root);\n  } else {\n    root.lottie = factory(root);\n    root.bodymovin = root.lottie;\n  }\n}(window || {}, function (window) {\n  /* global locationHref:writable, animationManager, subframeEnabled:writable, defaultCurveSegments:writable, roundValues,\r\n  expressionsPlugin:writable, PropertyFactory, ShapePropertyFactory, Matrix */\n\n  /* exported locationHref, subframeEnabled, expressionsPlugin */\n  'use strict';\n  /* exported svgNS, locationHref, initialDefaultFrame */\n\n  var svgNS = \"http://www.w3.org/2000/svg\";\n  var locationHref = \"\";\n  var initialDefaultFrame = -999999;\n  /* global createSizedArray */\n\n  /* exported subframeEnabled, expressionsPlugin, isSafari, cachedColors, bmPow, bmSqrt, bmFloor, bmMax, bmMin, ProjectInterface,\r\n  defaultCurveSegments, degToRads, roundCorner, bmRnd, styleDiv, BMEnterFrameEvent, BMCompleteEvent, BMCompleteLoopEvent,\r\n  BMSegmentStartEvent, BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, BMAnimationConfigErrorEvent, createElementID,\r\n  addSaturationToRGB, addBrightnessToRGB, addHueToRGB, rgbToHex */\n\n  var subframeEnabled = true;\n  var expressionsPlugin;\n  var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n  var cachedColors = {};\n  var bmRnd;\n  var bmPow = Math.pow;\n  var bmSqrt = Math.sqrt;\n  var bmFloor = Math.floor;\n  var bmMax = Math.max;\n  var bmMin = Math.min;\n  var BMMath = {};\n\n  (function () {\n    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\"];\n    var i;\n    var len = propertyNames.length;\n\n    for (i = 0; i < len; i += 1) {\n      BMMath[propertyNames[i]] = Math[propertyNames[i]];\n    }\n  })();\n\n  function ProjectInterface() {\n    return {};\n  }\n\n  BMMath.random = Math.random;\n\n  BMMath.abs = function (val) {\n    var tOfVal = typeof val;\n\n    if (tOfVal === \"object\" && val.length) {\n      var absArr = createSizedArray(val.length);\n      var i;\n      var len = val.length;\n\n      for (i = 0; i < len; i += 1) {\n        absArr[i] = Math.abs(val[i]);\n      }\n\n      return absArr;\n    }\n\n    return Math.abs(val);\n  };\n\n  var defaultCurveSegments = 150;\n  var degToRads = Math.PI / 180;\n  var roundCorner = 0.5519;\n\n  function roundValues(flag) {\n    if (flag) {\n      bmRnd = Math.round;\n    } else {\n      bmRnd = function (val) {\n        return val;\n      };\n    }\n  }\n\n  roundValues(false);\n\n  function styleDiv(element) {\n    element.style.position = \"absolute\";\n    element.style.top = 0;\n    element.style.left = 0;\n    element.style.display = \"block\";\n    element.style.transformOrigin = \"0 0\";\n    element.style.webkitTransformOrigin = \"0 0\";\n    element.style.backfaceVisibility = \"visible\";\n    element.style.webkitBackfaceVisibility = \"visible\";\n    element.style.transformStyle = \"preserve-3d\";\n    element.style.webkitTransformStyle = \"preserve-3d\";\n    element.style.mozTransformStyle = \"preserve-3d\";\n  }\n\n  function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).currentTime = currentTime;\n    (this || _global).totalTime = totalTime;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteEvent(type, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).currentLoop = currentLoop;\n    (this || _global).totalLoops = totalLoops;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n    (this || _global).type = type;\n    (this || _global).firstFrame = firstFrame;\n    (this || _global).totalFrames = totalFrames;\n  }\n\n  function BMDestroyEvent(type, target) {\n    (this || _global).type = type;\n    (this || _global).target = target;\n  }\n\n  function BMRenderFrameErrorEvent(nativeError, currentTime) {\n    (this || _global).type = \"renderFrameError\";\n    (this || _global).nativeError = nativeError;\n    (this || _global).currentTime = currentTime;\n  }\n\n  function BMConfigErrorEvent(nativeError) {\n    (this || _global).type = \"configError\";\n    (this || _global).nativeError = nativeError;\n  }\n\n  function BMAnimationConfigErrorEvent(type, nativeError) {\n    (this || _global).type = type;\n    (this || _global).nativeError = nativeError;\n  }\n\n  var createElementID = function () {\n    var _count = 0;\n    return function createID() {\n      _count += 1;\n      return \"__lottie_element_\" + _count;\n    };\n  }();\n\n  function HSVtoRGB(h, s, v) {\n    var r;\n    var g;\n    var b;\n    var i;\n    var f;\n    var p;\n    var q;\n    var t;\n    i = Math.floor(h * 6);\n    f = h * 6 - i;\n    p = v * (1 - s);\n    q = v * (1 - f * s);\n    t = v * (1 - (1 - f) * s);\n\n    switch (i % 6) {\n      case 0:\n        r = v;\n        g = t;\n        b = p;\n        break;\n\n      case 1:\n        r = q;\n        g = v;\n        b = p;\n        break;\n\n      case 2:\n        r = p;\n        g = v;\n        b = t;\n        break;\n\n      case 3:\n        r = p;\n        g = q;\n        b = v;\n        break;\n\n      case 4:\n        r = t;\n        g = p;\n        b = v;\n        break;\n\n      case 5:\n        r = v;\n        g = p;\n        b = q;\n        break;\n\n      default:\n        break;\n    }\n\n    return [r, g, b];\n  }\n\n  function RGBtoHSV(r, g, b) {\n    var max = Math.max(r, g, b);\n    var min = Math.min(r, g, b);\n    var d = max - min;\n    var h;\n    var s = max === 0 ? 0 : d / max;\n    var v = max / 255;\n\n    switch (max) {\n      case min:\n        h = 0;\n        break;\n\n      case r:\n        h = g - b + d * (g < b ? 6 : 0);\n        h /= 6 * d;\n        break;\n\n      case g:\n        h = b - r + d * 2;\n        h /= 6 * d;\n        break;\n\n      case b:\n        h = r - g + d * 4;\n        h /= 6 * d;\n        break;\n\n      default:\n        break;\n    }\n\n    return [h, s, v];\n  }\n\n  function addSaturationToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[1] += offset;\n\n    if (hsv[1] > 1) {\n      hsv[1] = 1;\n    } else if (hsv[1] <= 0) {\n      hsv[1] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addBrightnessToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[2] += offset;\n\n    if (hsv[2] > 1) {\n      hsv[2] = 1;\n    } else if (hsv[2] < 0) {\n      hsv[2] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addHueToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[0] += offset / 360;\n\n    if (hsv[0] > 1) {\n      hsv[0] -= 1;\n    } else if (hsv[0] < 0) {\n      hsv[0] += 1;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  var rgbToHex = function () {\n    var colorMap = [];\n    var i;\n    var hex;\n\n    for (i = 0; i < 256; i += 1) {\n      hex = i.toString(16);\n      colorMap[i] = hex.length === 1 ? \"0\" + hex : hex;\n    }\n\n    return function (r, g, b) {\n      if (r < 0) {\n        r = 0;\n      }\n\n      if (g < 0) {\n        g = 0;\n      }\n\n      if (b < 0) {\n        b = 0;\n      }\n\n      return \"#\" + colorMap[r] + colorMap[g] + colorMap[b];\n    };\n  }();\n\n  function BaseEvent() {}\n\n  BaseEvent.prototype = {\n    triggerEvent: function (eventName, args) {\n      if ((this || _global)._cbs[eventName]) {\n        var len = (this || _global)._cbs[eventName].length;\n\n        for (var i = 0; i < len; i += 1) {\n          (this || _global)._cbs[eventName][i](args);\n        }\n      }\n    },\n    addEventListener: function (eventName, callback) {\n      if (!(this || _global)._cbs[eventName]) {\n        (this || _global)._cbs[eventName] = [];\n      }\n\n      (this || _global)._cbs[eventName].push(callback);\n\n      return function () {\n        this.removeEventListener(eventName, callback);\n      }.bind(this || _global);\n    },\n    removeEventListener: function (eventName, callback) {\n      if (!callback) {\n        (this || _global)._cbs[eventName] = null;\n      } else if ((this || _global)._cbs[eventName]) {\n        var i = 0;\n        var len = (this || _global)._cbs[eventName].length;\n\n        while (i < len) {\n          if ((this || _global)._cbs[eventName][i] === callback) {\n            (this || _global)._cbs[eventName].splice(i, 1);\n\n            i -= 1;\n            len -= 1;\n          }\n\n          i += 1;\n        }\n\n        if (!(this || _global)._cbs[eventName].length) {\n          (this || _global)._cbs[eventName] = null;\n        }\n      }\n    }\n  };\n  /* exported createTypedArray, createSizedArray */\n\n  var createTypedArray = function () {\n    function createRegularArray(type, len) {\n      var i = 0;\n      var arr = [];\n      var value;\n\n      switch (type) {\n        case \"int16\":\n        case \"uint8c\":\n          value = 1;\n          break;\n\n        default:\n          value = 1.1;\n          break;\n      }\n\n      for (i = 0; i < len; i += 1) {\n        arr.push(value);\n      }\n\n      return arr;\n    }\n\n    function createTypedArrayFactory(type, len) {\n      if (type === \"float32\") {\n        return new Float32Array(len);\n      }\n\n      if (type === \"int16\") {\n        return new Int16Array(len);\n      }\n\n      if (type === \"uint8c\") {\n        return new Uint8ClampedArray(len);\n      }\n\n      return createRegularArray(type, len);\n    }\n\n    if (typeof Uint8ClampedArray === \"function\" && typeof Float32Array === \"function\") {\n      return createTypedArrayFactory;\n    }\n\n    return createRegularArray;\n  }();\n\n  function createSizedArray(len) {\n    return Array.apply(null, {\n      length: len\n    });\n  }\n  /* global svgNS */\n\n  /* exported createNS */\n\n\n  function createNS(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElementNS(svgNS, type);\n  }\n  /* exported createTag */\n\n\n  function createTag(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElement(type);\n  }\n\n  function DynamicPropertyContainer() {}\n\n  DynamicPropertyContainer.prototype = {\n    addDynamicProperty: function (prop) {\n      if ((this || _global).dynamicProperties.indexOf(prop) === -1) {\n        (this || _global).dynamicProperties.push(prop);\n\n        (this || _global).container.addDynamicProperty(this || _global);\n\n        (this || _global)._isAnimated = true;\n      }\n    },\n    iterateDynamicProperties: function () {\n      (this || _global)._mdf = false;\n      var i;\n      var len = (this || _global).dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).dynamicProperties[i].getValue();\n\n        if ((this || _global).dynamicProperties[i]._mdf) {\n          (this || _global)._mdf = true;\n        }\n      }\n    },\n    initDynamicPropertyContainer: function (container) {\n      (this || _global).container = container;\n      (this || _global).dynamicProperties = [];\n      (this || _global)._mdf = false;\n      (this || _global)._isAnimated = false;\n    }\n  };\n  /* exported getBlendMode */\n\n  var getBlendMode = function () {\n    var blendModeEnums = {\n      0: \"source-over\",\n      1: \"multiply\",\n      2: \"screen\",\n      3: \"overlay\",\n      4: \"darken\",\n      5: \"lighten\",\n      6: \"color-dodge\",\n      7: \"color-burn\",\n      8: \"hard-light\",\n      9: \"soft-light\",\n      10: \"difference\",\n      11: \"exclusion\",\n      12: \"hue\",\n      13: \"saturation\",\n      14: \"color\",\n      15: \"luminosity\"\n    };\n    return function (mode) {\n      return blendModeEnums[mode] || \"\";\n    };\n  }();\n  /* global createTypedArray */\n\n  /*!\r\n   Transformation Matrix v2.0\r\n   (c) Epistemex 2014-2015\r\n   www.epistemex.com\r\n   By Ken Fyrstenberg\r\n   Contributions by leeoniya.\r\n   License: MIT, header required.\r\n   */\n\n  /**\r\n   * 2D transformation matrix object initialized with identity matrix.\r\n   *\r\n   * The matrix can synchronize a canvas context by supplying the context\r\n   * as an argument, or later apply current absolute transform to an\r\n   * existing context.\r\n   *\r\n   * All values are handled as floating point values.\r\n   *\r\n   * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n   * @prop {number} a - scale x\r\n   * @prop {number} b - shear y\r\n   * @prop {number} c - shear x\r\n   * @prop {number} d - scale y\r\n   * @prop {number} e - translate x\r\n   * @prop {number} f - translate y\r\n   * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n   * @constructor\r\n   */\n\n\n  var Matrix = function () {\n    var _cos = Math.cos;\n    var _sin = Math.sin;\n    var _tan = Math.tan;\n    var _rnd = Math.round;\n\n    function reset() {\n      (this || _global).props[0] = 1;\n      (this || _global).props[1] = 0;\n      (this || _global).props[2] = 0;\n      (this || _global).props[3] = 0;\n      (this || _global).props[4] = 0;\n      (this || _global).props[5] = 1;\n      (this || _global).props[6] = 0;\n      (this || _global).props[7] = 0;\n      (this || _global).props[8] = 0;\n      (this || _global).props[9] = 0;\n      (this || _global).props[10] = 1;\n      (this || _global).props[11] = 0;\n      (this || _global).props[12] = 0;\n      (this || _global).props[13] = 0;\n      (this || _global).props[14] = 0;\n      (this || _global).props[15] = 1;\n      return this || _global;\n    }\n\n    function rotate(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function rotateX(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateY(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateZ(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function shear(sx, sy) {\n      return this._t(1, sy, sx, 1, 0, 0);\n    }\n\n    function skew(ax, ay) {\n      return this.shear(_tan(ax), _tan(ay));\n    }\n\n    function skewFromAxis(ax, angle) {\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      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); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n    }\n\n    function scale(sx, sy, sz) {\n      if (!sz && sz !== 0) {\n        sz = 1;\n      }\n\n      if (sx === 1 && sy === 1 && sz === 1) {\n        return this || _global;\n      }\n\n      return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n    }\n\n    function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n      (this || _global).props[0] = a;\n      (this || _global).props[1] = b;\n      (this || _global).props[2] = c;\n      (this || _global).props[3] = d;\n      (this || _global).props[4] = e;\n      (this || _global).props[5] = f;\n      (this || _global).props[6] = g;\n      (this || _global).props[7] = h;\n      (this || _global).props[8] = i;\n      (this || _global).props[9] = j;\n      (this || _global).props[10] = k;\n      (this || _global).props[11] = l;\n      (this || _global).props[12] = m;\n      (this || _global).props[13] = n;\n      (this || _global).props[14] = o;\n      (this || _global).props[15] = p;\n      return this || _global;\n    }\n\n    function translate(tx, ty, tz) {\n      tz = tz || 0;\n\n      if (tx !== 0 || ty !== 0 || tz !== 0) {\n        return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n      }\n\n      return this || _global;\n    }\n\n    function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n      var _p = (this || _global).props;\n\n      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) {\n        // NOTE: commenting this condition because TurboFan deoptimizes code when present\n        // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n        _p[12] = _p[12] * a2 + _p[15] * m2;\n        _p[13] = _p[13] * f2 + _p[15] * n2;\n        _p[14] = _p[14] * k2 + _p[15] * o2;\n        _p[15] *= p2; // }\n\n        (this || _global)._identityCalculated = false;\n        return this || _global;\n      }\n\n      var a1 = _p[0];\n      var b1 = _p[1];\n      var c1 = _p[2];\n      var d1 = _p[3];\n      var e1 = _p[4];\n      var f1 = _p[5];\n      var g1 = _p[6];\n      var h1 = _p[7];\n      var i1 = _p[8];\n      var j1 = _p[9];\n      var k1 = _p[10];\n      var l1 = _p[11];\n      var m1 = _p[12];\n      var n1 = _p[13];\n      var o1 = _p[14];\n      var p1 = _p[15];\n      /* matrix order (canvas compatible):\r\n           * ace\r\n           * bdf\r\n           * 001\r\n           */\n\n      _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n      _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n      _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n      _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n      _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n      _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n      _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n      _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n      _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n      _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n      _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n      _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n      _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n      _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n      _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n      _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n      (this || _global)._identityCalculated = false;\n      return this || _global;\n    }\n\n    function isIdentity() {\n      if (!(this || _global)._identityCalculated) {\n        (this || _global)._identity = !((this || _global).props[0] !== 1 || (this || _global).props[1] !== 0 || (this || _global).props[2] !== 0 || (this || _global).props[3] !== 0 || (this || _global).props[4] !== 0 || (this || _global).props[5] !== 1 || (this || _global).props[6] !== 0 || (this || _global).props[7] !== 0 || (this || _global).props[8] !== 0 || (this || _global).props[9] !== 0 || (this || _global).props[10] !== 1 || (this || _global).props[11] !== 0 || (this || _global).props[12] !== 0 || (this || _global).props[13] !== 0 || (this || _global).props[14] !== 0 || (this || _global).props[15] !== 1);\n        (this || _global)._identityCalculated = true;\n      }\n\n      return (this || _global)._identity;\n    }\n\n    function equals(matr) {\n      var i = 0;\n\n      while (i < 16) {\n        if (matr.props[i] !== (this || _global).props[i]) {\n          return false;\n        }\n\n        i += 1;\n      }\n\n      return true;\n    }\n\n    function clone(matr) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        matr.props[i] = (this || _global).props[i];\n      }\n\n      return matr;\n    }\n\n    function cloneFromProps(props) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        (this || _global).props[i] = props[i];\n      }\n    }\n\n    function applyToPoint(x, y, z) {\n      return {\n        x: x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12],\n        y: x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13],\n        z: x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14]\n      };\n      /* return {\r\n           x: x * me.a + y * me.c + me.e,\r\n           y: x * me.b + y * me.d + me.f\r\n           }; */\n    }\n\n    function applyToX(x, y, z) {\n      return x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12];\n    }\n\n    function applyToY(x, y, z) {\n      return x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13];\n    }\n\n    function applyToZ(x, y, z) {\n      return x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14];\n    }\n\n    function getInverseMatrix() {\n      var determinant = (this || _global).props[0] * (this || _global).props[5] - (this || _global).props[1] * (this || _global).props[4];\n      var a = (this || _global).props[5] / determinant;\n      var b = -(this || _global).props[1] / determinant;\n      var c = -(this || _global).props[4] / determinant;\n      var d = (this || _global).props[0] / determinant;\n      var e = ((this || _global).props[4] * (this || _global).props[13] - (this || _global).props[5] * (this || _global).props[12]) / determinant;\n      var f = -((this || _global).props[0] * (this || _global).props[13] - (this || _global).props[1] * (this || _global).props[12]) / determinant;\n      var inverseMatrix = new Matrix();\n      inverseMatrix.props[0] = a;\n      inverseMatrix.props[1] = b;\n      inverseMatrix.props[4] = c;\n      inverseMatrix.props[5] = d;\n      inverseMatrix.props[12] = e;\n      inverseMatrix.props[13] = f;\n      return inverseMatrix;\n    }\n\n    function inversePoint(pt) {\n      var inverseMatrix = this.getInverseMatrix();\n      return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n    }\n\n    function inversePoints(pts) {\n      var i;\n      var len = pts.length;\n      var retPts = [];\n\n      for (i = 0; i < len; i += 1) {\n        retPts[i] = inversePoint(pts[i]);\n      }\n\n      return retPts;\n    }\n\n    function applyToTriplePoints(pt1, pt2, pt3) {\n      var arr = createTypedArray(\"float32\", 6);\n\n      if (this.isIdentity()) {\n        arr[0] = pt1[0];\n        arr[1] = pt1[1];\n        arr[2] = pt2[0];\n        arr[3] = pt2[1];\n        arr[4] = pt3[0];\n        arr[5] = pt3[1];\n      } else {\n        var p0 = (this || _global).props[0];\n        var p1 = (this || _global).props[1];\n        var p4 = (this || _global).props[4];\n        var p5 = (this || _global).props[5];\n        var p12 = (this || _global).props[12];\n        var p13 = (this || _global).props[13];\n        arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n        arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n        arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n        arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n        arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n        arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n      }\n\n      return arr;\n    }\n\n    function applyToPointArray(x, y, z) {\n      var arr;\n\n      if (this.isIdentity()) {\n        arr = [x, y, z];\n      } else {\n        arr = [x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12], x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13], x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14]];\n      }\n\n      return arr;\n    }\n\n    function applyToPointStringified(x, y) {\n      if (this.isIdentity()) {\n        return x + \",\" + y;\n      }\n\n      var _p = (this || _global).props;\n      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;\n    }\n\n    function toCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var i = 0;\n      var props = (this || _global).props;\n      var cssValue = \"matrix3d(\";\n      var v = 10000;\n\n      while (i < 16) {\n        cssValue += _rnd(props[i] * v) / v;\n        cssValue += i === 15 ? \")\" : \",\";\n        i += 1;\n      }\n\n      return cssValue;\n    }\n\n    function roundMatrixProperty(val) {\n      var v = 10000;\n\n      if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n        return _rnd(val * v) / v;\n      }\n\n      return val;\n    }\n\n    function to2dCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var props = (this || _global).props;\n\n      var _a = roundMatrixProperty(props[0]);\n\n      var _b = roundMatrixProperty(props[1]);\n\n      var _c = roundMatrixProperty(props[4]);\n\n      var _d = roundMatrixProperty(props[5]);\n\n      var _e = roundMatrixProperty(props[12]);\n\n      var _f = roundMatrixProperty(props[13]);\n\n      return \"matrix(\" + _a + \",\" + _b + \",\" + _c + \",\" + _d + \",\" + _e + \",\" + _f + \")\";\n    }\n\n    return function () {\n      (this || _global).reset = reset;\n      (this || _global).rotate = rotate;\n      (this || _global).rotateX = rotateX;\n      (this || _global).rotateY = rotateY;\n      (this || _global).rotateZ = rotateZ;\n      (this || _global).skew = skew;\n      (this || _global).skewFromAxis = skewFromAxis;\n      (this || _global).shear = shear;\n      (this || _global).scale = scale;\n      (this || _global).setTransform = setTransform;\n      (this || _global).translate = translate;\n      (this || _global).transform = transform;\n      (this || _global).applyToPoint = applyToPoint;\n      (this || _global).applyToX = applyToX;\n      (this || _global).applyToY = applyToY;\n      (this || _global).applyToZ = applyToZ;\n      (this || _global).applyToPointArray = applyToPointArray;\n      (this || _global).applyToTriplePoints = applyToTriplePoints;\n      (this || _global).applyToPointStringified = applyToPointStringified;\n      (this || _global).toCSS = toCSS;\n      (this || _global).to2dCSS = to2dCSS;\n      (this || _global).clone = clone;\n      (this || _global).cloneFromProps = cloneFromProps;\n      (this || _global).equals = equals;\n      (this || _global).inversePoints = inversePoints;\n      (this || _global).inversePoint = inversePoint;\n      (this || _global).getInverseMatrix = getInverseMatrix;\n      (this || _global)._t = (this || _global).transform;\n      (this || _global).isIdentity = isIdentity;\n      (this || _global)._identity = true;\n      (this || _global)._identityCalculated = false;\n      (this || _global).props = createTypedArray(\"float32\", 16);\n      this.reset();\n    };\n  }();\n  /* eslint-disable */\n\n  /*\r\n   Copyright 2014 David Bau.\r\n  \r\n   Permission is hereby granted, free of charge, to any person obtaining\r\n   a copy of this software and associated documentation files (the\r\n   \"Software\"), to deal in the Software without restriction, including\r\n   without limitation the rights to use, copy, modify, merge, publish,\r\n   distribute, sublicense, and/or sell copies of the Software, and to\r\n   permit persons to whom the Software is furnished to do so, subject to\r\n   the following conditions:\r\n  \r\n   The above copyright notice and this permission notice shall be\r\n   included in all copies or substantial portions of the Software.\r\n  \r\n   THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n  \r\n   */\n\n\n  (function (pool, math) {\n    //\n    // The following constants are related to IEEE 754 limits.\n    //\n    var global = this || _global,\n        width = 256,\n        // each RC4 output is 0 <= x < 256\n    chunks = 6,\n        // at least six RC4 outputs for each double\n    digits = 52,\n        // there are 52 significant digits in a double\n    rngname = \"random\",\n        // rngname: name for Math.random and Math.seedrandom\n    startdenom = math.pow(width, chunks),\n        significance = math.pow(2, digits),\n        overflow = significance * 2,\n        mask = width - 1,\n        nodecrypto; // node.js crypto module, initialized at the bottom.\n    //\n    // seedrandom()\n    // This is the seedrandom function described above.\n    //\n\n    function seedrandom(seed, options, callback) {\n      var key = [];\n      options = options === true ? {\n        entropy: true\n      } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n      var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n      var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n      // randomness in every bit of the mantissa of the IEEE 754 value.\n\n      var prng = function () {\n        var n = arc4.g(chunks),\n            // Start with a numerator n < 2 ^ 48\n        d = startdenom,\n            //   and denominator d = 2 ^ 48.\n        x = 0; //   and no 'extra last byte'.\n\n        while (n < significance) {\n          // Fill up all significant digits by\n          n = (n + x) * width; //   shifting numerator and\n\n          d *= width; //   denominator and generating a\n\n          x = arc4.g(1); //   new least-significant-byte.\n        }\n\n        while (n >= overflow) {\n          // To avoid rounding up, before adding\n          n /= 2; //   last byte, shift everything\n\n          d /= 2; //   right using integer math until\n\n          x >>>= 1; //   we have exactly the desired bits.\n        }\n\n        return (n + x) / d; // Form the number within [0, 1).\n      };\n\n      prng.int32 = function () {\n        return arc4.g(4) | 0;\n      };\n\n      prng.quick = function () {\n        return arc4.g(4) / 4294967296;\n      };\n\n      prng.double = prng; // Mix the randomness into accumulated entropy.\n\n      mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n      return (options.pass || callback || function (prng, seed, is_math_call, state) {\n        if (state) {\n          // Load the arc4 state from the given state if it has an S array.\n          if (state.S) {\n            copy(state, arc4);\n          } // Only provide the .state method if requested via options.state.\n\n\n          prng.state = function () {\n            return copy(arc4, {});\n          };\n        } // If called as a method of Math (Math.seedrandom()), mutate\n        // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n        if (is_math_call) {\n          math[rngname] = prng;\n          return seed;\n        } // Otherwise, it is a newer calling convention, so return the\n        // prng directly.\n        else return prng;\n      })(prng, shortseed, \"global\" in options ? options.global : (this || _global) == math, options.state);\n    }\n\n    math[\"seed\" + rngname] = seedrandom; //\n    // ARC4\n    //\n    // An ARC4 implementation.  The constructor takes a key in the form of\n    // an array of at most (width) integers that should be 0 <= x < (width).\n    //\n    // The g(count) method returns a pseudorandom integer that concatenates\n    // the next (count) outputs from ARC4.  Its return value is a number x\n    // that is in the range 0 <= x < (width ^ count).\n    //\n\n    function ARC4(key) {\n      var t,\n          keylen = key.length,\n          me = this || _global,\n          i = 0,\n          j = me.i = me.j = 0,\n          s = me.S = []; // The empty key [] is treated as [0].\n\n      if (!keylen) {\n        key = [keylen++];\n      } // Set up S using the standard key scheduling algorithm.\n\n\n      while (i < width) {\n        s[i] = i++;\n      }\n\n      for (i = 0; i < width; i++) {\n        s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n        s[j] = t;\n      } // The \"g\" method returns the next (count) outputs as one number.\n\n\n      me.g = function (count) {\n        // Using instance members instead of closure state nearly doubles speed.\n        var t,\n            r = 0,\n            i = me.i,\n            j = me.j,\n            s = me.S;\n\n        while (count--) {\n          t = s[i = mask & i + 1];\n          r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n        }\n\n        me.i = i;\n        me.j = j;\n        return r; // For robust unpredictability, the function call below automatically\n        // discards an initial batch of values.  This is called RC4-drop[256].\n        // See http://google.com/search?q=rsa+fluhrer+response&btnI\n      };\n    } //\n    // copy()\n    // Copies internal state of ARC4 to or from a plain object.\n    //\n\n\n    function copy(f, t) {\n      t.i = f.i;\n      t.j = f.j;\n      t.S = f.S.slice();\n      return t;\n    } //\n    // flatten()\n    // Converts an object tree to nested arrays of strings.\n    //\n\n\n    function flatten(obj, depth) {\n      var result = [],\n          typ = typeof obj,\n          prop;\n\n      if (depth && typ == \"object\") {\n        for (prop in obj) {\n          try {\n            result.push(flatten(obj[prop], depth - 1));\n          } catch (e) {}\n        }\n      }\n\n      return result.length ? result : typ == \"string\" ? obj : obj + \"\\0\";\n    } //\n    // mixkey()\n    // Mixes a string seed into a key that is an array of integers, and\n    // returns a shortened string seed that is equivalent to the result key.\n    //\n\n\n    function mixkey(seed, key) {\n      var stringseed = seed + \"\",\n          smear,\n          j = 0;\n\n      while (j < stringseed.length) {\n        key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n      }\n\n      return tostring(key);\n    } //\n    // autoseed()\n    // Returns an object for autoseeding, using window.crypto and Node crypto\n    // module if available.\n    //\n\n\n    function autoseed() {\n      try {\n        if (nodecrypto) {\n          return tostring(nodecrypto.randomBytes(width));\n        }\n\n        var out = new Uint8Array(width);\n        (global.crypto || global.msCrypto).getRandomValues(out);\n        return tostring(out);\n      } catch (e) {\n        var browser = global.navigator,\n            plugins = browser && browser.plugins;\n        return [+new Date(), global, plugins, global.screen, tostring(pool)];\n      }\n    } //\n    // tostring()\n    // Converts an array of charcodes to a string\n    //\n\n\n    function tostring(a) {\n      return String.fromCharCode.apply(0, a);\n    } //\n    // When seedrandom.js is loaded, we immediately mix a few bits\n    // from the built-in RNG into the entropy pool.  Because we do\n    // not want to interfere with deterministic PRNG state later,\n    // seedrandom will not call math.random on its own again after\n    // initialization.\n    //\n\n\n    mixkey(math.random(), pool); //\n    // Nodejs and AMD support: export the implementation as a module using\n    // either convention.\n    //\n    // End anonymous scope, and pass initial values.\n  })([], // pool: entropy pool starts empty\n  BMMath // math: package containing random, pow, and seedrandom\n  );\n  /* eslint-disable */\n\n\n  var BezierFactory = function () {\n    /**\r\n       * BezierEasing - use bezier curve for transition easing function\r\n       * by Ga\u00EBtan Renaudeau 2014 - 2015 \u2013 MIT License\r\n       *\r\n       * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n       * Usage:\r\n       * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n       * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n       *\r\n       */\n    var ob = {};\n    ob.getBezierEasing = getBezierEasing;\n    var beziers = {};\n\n    function getBezierEasing(a, b, c, d, nm) {\n      var str = nm || (\"bez_\" + a + \"_\" + b + \"_\" + c + \"_\" + d).replace(/\\./g, \"p\");\n\n      if (beziers[str]) {\n        return beziers[str];\n      }\n\n      var bezEasing = new BezierEasing([a, b, c, d]);\n      beziers[str] = bezEasing;\n      return bezEasing;\n    } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n    var NEWTON_ITERATIONS = 4;\n    var NEWTON_MIN_SLOPE = 0.001;\n    var SUBDIVISION_PRECISION = 1e-7;\n    var SUBDIVISION_MAX_ITERATIONS = 10;\n    var kSplineTableSize = 11;\n    var kSampleStepSize = 1 / (kSplineTableSize - 1);\n    var float32ArraySupported = typeof Float32Array === \"function\";\n\n    function A(aA1, aA2) {\n      return 1 - 3 * aA2 + 3 * aA1;\n    }\n\n    function B(aA1, aA2) {\n      return 3 * aA2 - 6 * aA1;\n    }\n\n    function C(aA1) {\n      return 3 * aA1;\n    } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n    function calcBezier(aT, aA1, aA2) {\n      return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n    } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n    function getSlope(aT, aA1, aA2) {\n      return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1);\n    }\n\n    function binarySubdivide(aX, aA, aB, mX1, mX2) {\n      var currentX,\n          currentT,\n          i = 0;\n\n      do {\n        currentT = aA + (aB - aA) / 2;\n        currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n        if (currentX > 0) {\n          aB = currentT;\n        } else {\n          aA = currentT;\n        }\n      } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n      return currentT;\n    }\n\n    function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n      for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n        var currentSlope = getSlope(aGuessT, mX1, mX2);\n        if (currentSlope === 0) return aGuessT;\n        var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n        aGuessT -= currentX / currentSlope;\n      }\n\n      return aGuessT;\n    }\n    /**\r\n       * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n       */\n\n\n    function BezierEasing(points) {\n      (this || _global)._p = points;\n      (this || _global)._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n      (this || _global)._precomputed = false;\n      (this || _global).get = (this || _global).get.bind(this || _global);\n    }\n\n    BezierEasing.prototype = {\n      get: function (x) {\n        var mX1 = (this || _global)._p[0],\n            mY1 = (this || _global)._p[1],\n            mX2 = (this || _global)._p[2],\n            mY2 = (this || _global)._p[3];\n        if (!(this || _global)._precomputed) this._precompute();\n        if (mX1 === mY1 && mX2 === mY2) return x; // linear\n        // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n        if (x === 0) return 0;\n        if (x === 1) return 1;\n        return calcBezier(this._getTForX(x), mY1, mY2);\n      },\n      // Private part\n      _precompute: function () {\n        var mX1 = (this || _global)._p[0],\n            mY1 = (this || _global)._p[1],\n            mX2 = (this || _global)._p[2],\n            mY2 = (this || _global)._p[3];\n        (this || _global)._precomputed = true;\n\n        if (mX1 !== mY1 || mX2 !== mY2) {\n          this._calcSampleValues();\n        }\n      },\n      _calcSampleValues: function () {\n        var mX1 = (this || _global)._p[0],\n            mX2 = (this || _global)._p[2];\n\n        for (var i = 0; i < kSplineTableSize; ++i) {\n          (this || _global)._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n        }\n      },\n\n      /**\r\n           * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n           */\n      _getTForX: function (aX) {\n        var mX1 = (this || _global)._p[0],\n            mX2 = (this || _global)._p[2],\n            mSampleValues = (this || _global)._mSampleValues;\n        var intervalStart = 0;\n        var currentSample = 1;\n        var lastSample = kSplineTableSize - 1;\n\n        for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n          intervalStart += kSampleStepSize;\n        }\n\n        --currentSample; // Interpolate to provide an initial guess for t\n\n        var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n        var guessForT = intervalStart + dist * kSampleStepSize;\n        var initialSlope = getSlope(guessForT, mX1, mX2);\n\n        if (initialSlope >= NEWTON_MIN_SLOPE) {\n          return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n        }\n\n        if (initialSlope === 0) {\n          return guessForT;\n        }\n\n        return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n      }\n    };\n    return ob;\n  }();\n\n  (function () {\n    var lastTime = 0;\n    var vendors = [\"ms\", \"moz\", \"webkit\", \"o\"];\n\n    for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\n      // eslint-disable-line no-plusplus\n      window.requestAnimationFrame = window[vendors[x] + \"RequestAnimationFrame\"];\n      window.cancelAnimationFrame = window[vendors[x] + \"CancelAnimationFrame\"] || window[vendors[x] + \"CancelRequestAnimationFrame\"];\n    }\n\n    if (!window.requestAnimationFrame) {\n      window.requestAnimationFrame = function (callback) {\n        var currTime = new Date().getTime();\n        var timeToCall = Math.max(0, 16 - (currTime - lastTime));\n        var id = setTimeout(function () {\n          callback(currTime + timeToCall);\n        }, timeToCall);\n        lastTime = currTime + timeToCall;\n        return id;\n      };\n    }\n\n    if (!window.cancelAnimationFrame) {\n      window.cancelAnimationFrame = function (id) {\n        clearTimeout(id);\n      };\n    }\n  })();\n  /* exported extendPrototype, getDescriptor, createProxyFunction */\n\n\n  function extendPrototype(sources, destination) {\n    var i;\n    var len = sources.length;\n    var sourcePrototype;\n\n    for (i = 0; i < len; i += 1) {\n      sourcePrototype = sources[i].prototype;\n\n      for (var attr in sourcePrototype) {\n        if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n      }\n    }\n  }\n\n  function getDescriptor(object, prop) {\n    return Object.getOwnPropertyDescriptor(object, prop);\n  }\n\n  function createProxyFunction(prototype) {\n    function ProxyFunction() {}\n\n    ProxyFunction.prototype = prototype;\n    return ProxyFunction;\n  }\n  /* global segmentsLengthPool, defaultCurveSegments, createSizedArray, bmPow, bmSqrt, bmFloor, createTypedArray, bezierLengthPool */\n\n  /* exported bez */\n\n\n  function bezFunction() {\n    var math = Math;\n\n    function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n      var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n      return det1 > -0.001 && det1 < 0.001;\n    }\n\n    function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n      if (z1 === 0 && z2 === 0 && z3 === 0) {\n        return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n      }\n\n      var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n      var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n      var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n      var diffDist;\n\n      if (dist1 > dist2) {\n        if (dist1 > dist3) {\n          diffDist = dist1 - dist2 - dist3;\n        } else {\n          diffDist = dist3 - dist2 - dist1;\n        }\n      } else if (dist3 > dist2) {\n        diffDist = dist3 - dist2 - dist1;\n      } else {\n        diffDist = dist2 - dist1 - dist3;\n      }\n\n      return diffDist > -0.0001 && diffDist < 0.0001;\n    }\n\n    var getBezierLength = function () {\n      return function (pt1, pt2, pt3, pt4) {\n        var curveSegments = defaultCurveSegments;\n        var k;\n        var i;\n        var len;\n        var ptCoord;\n        var perc;\n        var addedLength = 0;\n        var ptDistance;\n        var point = [];\n        var lastPoint = [];\n        var lengthData = bezierLengthPool.newElement();\n        len = pt3.length;\n\n        for (k = 0; k < curveSegments; k += 1) {\n          perc = k / (curveSegments - 1);\n          ptDistance = 0;\n\n          for (i = 0; i < len; i += 1) {\n            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];\n            point[i] = ptCoord;\n\n            if (lastPoint[i] !== null) {\n              ptDistance += bmPow(point[i] - lastPoint[i], 2);\n            }\n\n            lastPoint[i] = point[i];\n          }\n\n          if (ptDistance) {\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n          }\n\n          lengthData.percents[k] = perc;\n          lengthData.lengths[k] = addedLength;\n        }\n\n        lengthData.addedLength = addedLength;\n        return lengthData;\n      };\n    }();\n\n    function getSegmentsLength(shapeData) {\n      var segmentsLength = segmentsLengthPool.newElement();\n      var closed = shapeData.c;\n      var pathV = shapeData.v;\n      var pathO = shapeData.o;\n      var pathI = shapeData.i;\n      var i;\n      var len = shapeData._length;\n      var lengths = segmentsLength.lengths;\n      var totalLength = 0;\n\n      for (i = 0; i < len - 1; i += 1) {\n        lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      if (closed && len) {\n        lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      segmentsLength.totalLength = totalLength;\n      return segmentsLength;\n    }\n\n    function BezierData(length) {\n      (this || _global).segmentLength = 0;\n      (this || _global).points = new Array(length);\n    }\n\n    function PointData(partial, point) {\n      (this || _global).partialLength = partial;\n      (this || _global).point = point;\n    }\n\n    var buildBezierData = function () {\n      var storedData = {};\n      return function (pt1, pt2, pt3, pt4) {\n        var bezierName = (pt1[0] + \"_\" + pt1[1] + \"_\" + pt2[0] + \"_\" + pt2[1] + \"_\" + pt3[0] + \"_\" + pt3[1] + \"_\" + pt4[0] + \"_\" + pt4[1]).replace(/\\./g, \"p\");\n\n        if (!storedData[bezierName]) {\n          var curveSegments = defaultCurveSegments;\n          var k;\n          var i;\n          var len;\n          var ptCoord;\n          var perc;\n          var addedLength = 0;\n          var ptDistance;\n          var point;\n          var lastPoint = null;\n\n          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])) {\n            curveSegments = 2;\n          }\n\n          var bezierData = new BezierData(curveSegments);\n          len = pt3.length;\n\n          for (k = 0; k < curveSegments; k += 1) {\n            point = createSizedArray(len);\n            perc = k / (curveSegments - 1);\n            ptDistance = 0;\n\n            for (i = 0; i < len; i += 1) {\n              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];\n              point[i] = ptCoord;\n\n              if (lastPoint !== null) {\n                ptDistance += bmPow(point[i] - lastPoint[i], 2);\n              }\n            }\n\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n            bezierData.points[k] = new PointData(ptDistance, point);\n            lastPoint = point;\n          }\n\n          bezierData.segmentLength = addedLength;\n          storedData[bezierName] = bezierData;\n        }\n\n        return storedData[bezierName];\n      };\n    }();\n\n    function getDistancePerc(perc, bezierData) {\n      var percents = bezierData.percents;\n      var lengths = bezierData.lengths;\n      var len = percents.length;\n      var initPos = bmFloor((len - 1) * perc);\n      var lengthPos = perc * bezierData.addedLength;\n      var lPerc = 0;\n\n      if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n        return percents[initPos];\n      }\n\n      var dir = lengths[initPos] > lengthPos ? -1 : 1;\n      var flag = true;\n\n      while (flag) {\n        if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n          lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n          flag = false;\n        } else {\n          initPos += dir;\n        }\n\n        if (initPos < 0 || initPos >= len - 1) {\n          // FIX for TypedArrays that don't store floating point values with enough accuracy\n          if (initPos === len - 1) {\n            return percents[initPos];\n          }\n\n          flag = false;\n        }\n      }\n\n      return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n    }\n\n    function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n      var t1 = getDistancePerc(percent, bezierData);\n      var u1 = 1 - t1;\n      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;\n      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;\n      return [ptX, ptY];\n    }\n\n    var bezierSegmentPoints = createTypedArray(\"float32\", 8);\n\n    function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n      if (startPerc < 0) {\n        startPerc = 0;\n      } else if (startPerc > 1) {\n        startPerc = 1;\n      }\n\n      var t0 = getDistancePerc(startPerc, bezierData);\n      endPerc = endPerc > 1 ? 1 : endPerc;\n      var t1 = getDistancePerc(endPerc, bezierData);\n      var i;\n      var len = pt1.length;\n      var u0 = 1 - t0;\n      var u1 = 1 - t1;\n      var u0u0u0 = u0 * u0 * u0;\n      var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0t0 = t0 * t0 * t0; //\n\n      var u0u0u1 = u0 * u0 * u1;\n      var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0t1 = t0 * t0 * t1; //\n\n      var u0u1u1 = u0 * u1 * u1;\n      var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1t1 = t0 * t1 * t1; //\n\n      var u1u1u1 = u1 * u1 * u1;\n      var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1t1 = t1 * t1 * t1;\n\n      for (i = 0; i < len; i += 1) {\n        bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n      }\n\n      return bezierSegmentPoints;\n    }\n\n    return {\n      getSegmentsLength: getSegmentsLength,\n      getNewSegment: getNewSegment,\n      getPointInSegment: getPointInSegment,\n      buildBezierData: buildBezierData,\n      pointOnLine2D: pointOnLine2D,\n      pointOnLine3D: pointOnLine3D\n    };\n  }\n\n  var bez = bezFunction();\n  /* exported dataManager */\n\n  function dataFunctionManager() {\n    // var tCanvasHelper = createTag('canvas').getContext('2d');\n    function completeLayers(layers, comps, fontManager) {\n      var layerData;\n      var i;\n      var len = layers.length;\n      var j;\n      var jLen;\n      var k;\n      var kLen;\n\n      for (i = 0; i < len; i += 1) {\n        layerData = layers[i];\n\n        if (\"ks\" in layerData && !layerData.completed) {\n          layerData.completed = true;\n\n          if (layerData.tt) {\n            layers[i - 1].td = layerData.tt;\n          }\n\n          if (layerData.hasMask) {\n            var maskProps = layerData.masksProperties;\n            jLen = maskProps.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (maskProps[j].pt.k.i) {\n                convertPathsToAbsoluteValues(maskProps[j].pt.k);\n              } else {\n                kLen = maskProps[j].pt.k.length;\n\n                for (k = 0; k < kLen; k += 1) {\n                  if (maskProps[j].pt.k[k].s) {\n                    convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n                  }\n\n                  if (maskProps[j].pt.k[k].e) {\n                    convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n                  }\n                }\n              }\n            }\n          }\n\n          if (layerData.ty === 0) {\n            layerData.layers = findCompLayers(layerData.refId, comps);\n            completeLayers(layerData.layers, comps, fontManager);\n          } else if (layerData.ty === 4) {\n            completeShapes(layerData.shapes);\n          } else if (layerData.ty === 5) {\n            completeText(layerData, fontManager);\n          }\n        }\n      }\n    }\n\n    function findCompLayers(id, comps) {\n      var i = 0;\n      var len = comps.length;\n\n      while (i < len) {\n        if (comps[i].id === id) {\n          if (!comps[i].layers.__used) {\n            comps[i].layers.__used = true;\n            return comps[i].layers;\n          }\n\n          return JSON.parse(JSON.stringify(comps[i].layers));\n        }\n\n        i += 1;\n      }\n\n      return null;\n    }\n\n    function completeShapes(arr) {\n      var i;\n      var len = arr.length;\n      var j;\n      var jLen;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        if (arr[i].ty === \"sh\") {\n          if (arr[i].ks.k.i) {\n            convertPathsToAbsoluteValues(arr[i].ks.k);\n          } else {\n            jLen = arr[i].ks.k.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (arr[i].ks.k[j].s) {\n                convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n              }\n\n              if (arr[i].ks.k[j].e) {\n                convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n              }\n            }\n          }\n        } else if (arr[i].ty === \"gr\") {\n          completeShapes(arr[i].it);\n        }\n      }\n    }\n\n    function convertPathsToAbsoluteValues(path) {\n      var i;\n      var len = path.i.length;\n\n      for (i = 0; i < len; i += 1) {\n        path.i[i][0] += path.v[i][0];\n        path.i[i][1] += path.v[i][1];\n        path.o[i][0] += path.v[i][0];\n        path.o[i][1] += path.v[i][1];\n      }\n    }\n\n    function checkVersion(minimum, animVersionString) {\n      var animVersion = animVersionString ? animVersionString.split(\".\") : [100, 100, 100];\n\n      if (minimum[0] > animVersion[0]) {\n        return true;\n      }\n\n      if (animVersion[0] > minimum[0]) {\n        return false;\n      }\n\n      if (minimum[1] > animVersion[1]) {\n        return true;\n      }\n\n      if (animVersion[1] > minimum[1]) {\n        return false;\n      }\n\n      if (minimum[2] > animVersion[2]) {\n        return true;\n      }\n\n      if (animVersion[2] > minimum[2]) {\n        return false;\n      }\n\n      return null;\n    }\n\n    var checkText = function () {\n      var minimumVersion = [4, 4, 14];\n\n      function updateTextLayer(textLayer) {\n        var documentData = textLayer.t.d;\n        textLayer.t.d = {\n          k: [{\n            s: documentData,\n            t: 0\n          }]\n        };\n      }\n\n      function iterateLayers(layers) {\n        var i;\n        var len = layers.length;\n\n        for (i = 0; i < len; i += 1) {\n          if (layers[i].ty === 5) {\n            updateTextLayer(layers[i]);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkChars = function () {\n      var minimumVersion = [4, 7, 99];\n      return function (animationData) {\n        if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n          var i;\n          var len = animationData.chars.length;\n          var j;\n          var jLen;\n          var pathData;\n          var paths;\n\n          for (i = 0; i < len; i += 1) {\n            if (animationData.chars[i].data && animationData.chars[i].data.shapes) {\n              paths = animationData.chars[i].data.shapes[0].it;\n              jLen = paths.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                pathData = paths[j].ks.k;\n\n                if (!pathData.__converted) {\n                  convertPathsToAbsoluteValues(paths[j].ks.k);\n                  pathData.__converted = true;\n                }\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkColors = function () {\n      var minimumVersion = [4, 1, 9];\n\n      function iterateShapes(shapes) {\n        var i;\n        var len = shapes.length;\n        var j;\n        var jLen;\n\n        for (i = 0; i < len; i += 1) {\n          if (shapes[i].ty === \"gr\") {\n            iterateShapes(shapes[i].it);\n          } else if (shapes[i].ty === \"fl\" || shapes[i].ty === \"st\") {\n            if (shapes[i].c.k && shapes[i].c.k[0].i) {\n              jLen = shapes[i].c.k.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                if (shapes[i].c.k[j].s) {\n                  shapes[i].c.k[j].s[0] /= 255;\n                  shapes[i].c.k[j].s[1] /= 255;\n                  shapes[i].c.k[j].s[2] /= 255;\n                  shapes[i].c.k[j].s[3] /= 255;\n                }\n\n                if (shapes[i].c.k[j].e) {\n                  shapes[i].c.k[j].e[0] /= 255;\n                  shapes[i].c.k[j].e[1] /= 255;\n                  shapes[i].c.k[j].e[2] /= 255;\n                  shapes[i].c.k[j].e[3] /= 255;\n                }\n              }\n            } else {\n              shapes[i].c.k[0] /= 255;\n              shapes[i].c.k[1] /= 255;\n              shapes[i].c.k[2] /= 255;\n              shapes[i].c.k[3] /= 255;\n            }\n          }\n        }\n      }\n\n      function iterateLayers(layers) {\n        var i;\n        var len = layers.length;\n\n        for (i = 0; i < len; i += 1) {\n          if (layers[i].ty === 4) {\n            iterateShapes(layers[i].shapes);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkShapes = function () {\n      var minimumVersion = [4, 4, 18];\n\n      function completeClosingShapes(arr) {\n        var i;\n        var len = arr.length;\n        var j;\n        var jLen;\n\n        for (i = len - 1; i >= 0; i -= 1) {\n          if (arr[i].ty === \"sh\") {\n            if (arr[i].ks.k.i) {\n              arr[i].ks.k.c = arr[i].closed;\n            } else {\n              jLen = arr[i].ks.k.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                if (arr[i].ks.k[j].s) {\n                  arr[i].ks.k[j].s[0].c = arr[i].closed;\n                }\n\n                if (arr[i].ks.k[j].e) {\n                  arr[i].ks.k[j].e[0].c = arr[i].closed;\n                }\n              }\n            }\n          } else if (arr[i].ty === \"gr\") {\n            completeClosingShapes(arr[i].it);\n          }\n        }\n      }\n\n      function iterateLayers(layers) {\n        var layerData;\n        var i;\n        var len = layers.length;\n        var j;\n        var jLen;\n        var k;\n        var kLen;\n\n        for (i = 0; i < len; i += 1) {\n          layerData = layers[i];\n\n          if (layerData.hasMask) {\n            var maskProps = layerData.masksProperties;\n            jLen = maskProps.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (maskProps[j].pt.k.i) {\n                maskProps[j].pt.k.c = maskProps[j].cl;\n              } else {\n                kLen = maskProps[j].pt.k.length;\n\n                for (k = 0; k < kLen; k += 1) {\n                  if (maskProps[j].pt.k[k].s) {\n                    maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n                  }\n\n                  if (maskProps[j].pt.k[k].e) {\n                    maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n                  }\n                }\n              }\n            }\n          }\n\n          if (layerData.ty === 4) {\n            completeClosingShapes(layerData.shapes);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    function completeData(animationData, fontManager) {\n      if (animationData.__complete) {\n        return;\n      }\n\n      checkColors(animationData);\n      checkText(animationData);\n      checkChars(animationData);\n      checkShapes(animationData);\n      completeLayers(animationData.layers, animationData.assets, fontManager);\n      animationData.__complete = true;\n    }\n\n    function completeText(data) {\n      if (data.t.a.length === 0 && !(\"m\" in data.t.p)) {\n        data.singleShape = true;\n      }\n    }\n\n    var moduleOb = {};\n    moduleOb.completeData = completeData;\n    moduleOb.checkColors = checkColors;\n    moduleOb.checkChars = checkChars;\n    moduleOb.checkShapes = checkShapes;\n    moduleOb.completeLayers = completeLayers;\n    return moduleOb;\n  }\n\n  var dataManager = dataFunctionManager();\n  /* exported getFontProperties */\n\n  function getFontProperties(fontData) {\n    var styles = fontData.fStyle ? fontData.fStyle.split(\" \") : [];\n    var fWeight = \"normal\";\n    var fStyle = \"normal\";\n    var len = styles.length;\n    var styleName;\n\n    for (var i = 0; i < len; i += 1) {\n      styleName = styles[i].toLowerCase();\n\n      switch (styleName) {\n        case \"italic\":\n          fStyle = \"italic\";\n          break;\n\n        case \"bold\":\n          fWeight = \"700\";\n          break;\n\n        case \"black\":\n          fWeight = \"900\";\n          break;\n\n        case \"medium\":\n          fWeight = \"500\";\n          break;\n\n        case \"regular\":\n        case \"normal\":\n          fWeight = \"400\";\n          break;\n\n        case \"light\":\n        case \"thin\":\n          fWeight = \"200\";\n          break;\n\n        default:\n          break;\n      }\n    }\n\n    return {\n      style: fStyle,\n      weight: fontData.fWeight || fWeight\n    };\n  }\n  /* global createNS, createTag, getFontProperties */\n\n  /* exported FontManager */\n\n\n  var FontManager = function () {\n    var maxWaitingTime = 5000;\n    var emptyChar = {\n      w: 0,\n      size: 0,\n      shapes: []\n    };\n    var combinedCharacters = []; // Hindi characters\n\n    combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 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]);\n\n    function trimFontOptions(font) {\n      var familyArray = font.split(\",\");\n      var i;\n      var len = familyArray.length;\n      var enabledFamilies = [];\n\n      for (i = 0; i < len; i += 1) {\n        if (familyArray[i] !== \"sans-serif\" && familyArray[i] !== \"monospace\") {\n          enabledFamilies.push(familyArray[i]);\n        }\n      }\n\n      return enabledFamilies.join(\",\");\n    }\n\n    function setUpNode(font, family) {\n      var parentNode = createTag(\"span\"); // Node is invisible to screen readers.\n\n      parentNode.setAttribute(\"aria-hidden\", true);\n      parentNode.style.fontFamily = family;\n      var node = createTag(\"span\"); // Characters that vary significantly among different fonts\n\n      node.innerText = \"giItT1WQy@!-/#\"; // Visible - so we can measure it - but not on the screen\n\n      parentNode.style.position = \"absolute\";\n      parentNode.style.left = \"-10000px\";\n      parentNode.style.top = \"-10000px\"; // Large font size makes even subtle changes obvious\n\n      parentNode.style.fontSize = \"300px\"; // Reset any font properties\n\n      parentNode.style.fontVariant = \"normal\";\n      parentNode.style.fontStyle = \"normal\";\n      parentNode.style.fontWeight = \"normal\";\n      parentNode.style.letterSpacing = \"0\";\n      parentNode.appendChild(node);\n      document.body.appendChild(parentNode); // Remember width with no applied web font\n\n      var width = node.offsetWidth;\n      node.style.fontFamily = trimFontOptions(font) + \", \" + family;\n      return {\n        node: node,\n        w: width,\n        parent: parentNode\n      };\n    }\n\n    function checkLoadedFonts() {\n      var i;\n      var len = (this || _global).fonts.length;\n      var node;\n      var w;\n      var loadedCount = len;\n\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).fonts[i].loaded) {\n          loadedCount -= 1;\n        } else if ((this || _global).fonts[i].fOrigin === \"n\" || (this || _global).fonts[i].origin === 0) {\n          (this || _global).fonts[i].loaded = true;\n        } else {\n          node = (this || _global).fonts[i].monoCase.node;\n          w = (this || _global).fonts[i].monoCase.w;\n\n          if (node.offsetWidth !== w) {\n            loadedCount -= 1;\n            (this || _global).fonts[i].loaded = true;\n          } else {\n            node = (this || _global).fonts[i].sansCase.node;\n            w = (this || _global).fonts[i].sansCase.w;\n\n            if (node.offsetWidth !== w) {\n              loadedCount -= 1;\n              (this || _global).fonts[i].loaded = true;\n            }\n          }\n\n          if ((this || _global).fonts[i].loaded) {\n            (this || _global).fonts[i].sansCase.parent.parentNode.removeChild((this || _global).fonts[i].sansCase.parent);\n\n            (this || _global).fonts[i].monoCase.parent.parentNode.removeChild((this || _global).fonts[i].monoCase.parent);\n          }\n        }\n      }\n\n      if (loadedCount !== 0 && Date.now() - (this || _global).initTime < maxWaitingTime) {\n        setTimeout((this || _global).checkLoadedFontsBinded, 20);\n      } else {\n        setTimeout((this || _global).setIsLoadedBinded, 10);\n      }\n    }\n\n    function createHelper(def, fontData) {\n      var tHelper = createNS(\"text\");\n      tHelper.style.fontSize = \"100px\"; // tHelper.style.fontFamily = fontData.fFamily;\n\n      var fontProps = getFontProperties(fontData);\n      tHelper.setAttribute(\"font-family\", fontData.fFamily);\n      tHelper.setAttribute(\"font-style\", fontProps.style);\n      tHelper.setAttribute(\"font-weight\", fontProps.weight);\n      tHelper.textContent = \"1\";\n\n      if (fontData.fClass) {\n        tHelper.style.fontFamily = \"inherit\";\n        tHelper.setAttribute(\"class\", fontData.fClass);\n      } else {\n        tHelper.style.fontFamily = fontData.fFamily;\n      }\n\n      def.appendChild(tHelper);\n      var tCanvasHelper = createTag(\"canvas\").getContext(\"2d\");\n      tCanvasHelper.font = fontData.fWeight + \" \" + fontData.fStyle + \" 100px \" + fontData.fFamily; // tCanvasHelper.font = ' 100px '+ fontData.fFamily;\n\n      return tHelper;\n    }\n\n    function addFonts(fontData, defs) {\n      if (!fontData) {\n        (this || _global).isLoaded = true;\n        return;\n      }\n\n      if ((this || _global).chars) {\n        (this || _global).isLoaded = true;\n        (this || _global).fonts = fontData.list;\n        return;\n      }\n\n      var fontArr = fontData.list;\n      var i;\n      var len = fontArr.length;\n      var _pendingFonts = len;\n\n      for (i = 0; i < len; i += 1) {\n        var shouldLoadFont = true;\n        var loadedSelector;\n        var j;\n        fontArr[i].loaded = false;\n        fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, \"monospace\");\n        fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, \"sans-serif\");\n\n        if (!fontArr[i].fPath) {\n          fontArr[i].loaded = true;\n          _pendingFonts -= 1;\n        } else if (fontArr[i].fOrigin === \"p\" || fontArr[i].origin === 3) {\n          loadedSelector = document.querySelectorAll(\"style[f-forigin=\\\"p\\\"][f-family=\\\"\" + fontArr[i].fFamily + \"\\\"], style[f-origin=\\\"3\\\"][f-family=\\\"\" + fontArr[i].fFamily + \"\\\"]\");\n\n          if (loadedSelector.length > 0) {\n            shouldLoadFont = false;\n          }\n\n          if (shouldLoadFont) {\n            var s = createTag(\"style\");\n            s.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            s.setAttribute(\"f-origin\", fontArr[i].origin);\n            s.setAttribute(\"f-family\", fontArr[i].fFamily);\n            s.type = \"text/css\";\n            s.innerText = \"@font-face {font-family: \" + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n            defs.appendChild(s);\n          }\n        } else if (fontArr[i].fOrigin === \"g\" || fontArr[i].origin === 1) {\n          loadedSelector = document.querySelectorAll(\"link[f-forigin=\\\"g\\\"], link[f-origin=\\\"1\\\"]\");\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var l = createTag(\"link\");\n            l.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            l.setAttribute(\"f-origin\", fontArr[i].origin);\n            l.type = \"text/css\";\n            l.rel = \"stylesheet\";\n            l.href = fontArr[i].fPath;\n            document.body.appendChild(l);\n          }\n        } else if (fontArr[i].fOrigin === \"t\" || fontArr[i].origin === 2) {\n          loadedSelector = document.querySelectorAll(\"script[f-forigin=\\\"t\\\"], script[f-origin=\\\"2\\\"]\");\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (fontArr[i].fPath === loadedSelector[j].src) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var sc = createTag(\"link\");\n            sc.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            sc.setAttribute(\"f-origin\", fontArr[i].origin);\n            sc.setAttribute(\"rel\", \"stylesheet\");\n            sc.setAttribute(\"href\", fontArr[i].fPath);\n            defs.appendChild(sc);\n          }\n        }\n\n        fontArr[i].helper = createHelper(defs, fontArr[i]);\n        fontArr[i].cache = {};\n\n        (this || _global).fonts.push(fontArr[i]);\n      }\n\n      if (_pendingFonts === 0) {\n        (this || _global).isLoaded = true;\n      } else {\n        // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n        // Adding this timeout seems to fix it\n        setTimeout((this || _global).checkLoadedFonts.bind(this || _global), 100);\n      }\n    }\n\n    function addChars(chars) {\n      if (!chars) {\n        return;\n      }\n\n      if (!(this || _global).chars) {\n        (this || _global).chars = [];\n      }\n\n      var i;\n      var len = chars.length;\n      var j;\n      var jLen = (this || _global).chars.length;\n      var found;\n\n      for (i = 0; i < len; i += 1) {\n        j = 0;\n        found = false;\n\n        while (j < jLen) {\n          if ((this || _global).chars[j].style === chars[i].style && (this || _global).chars[j].fFamily === chars[i].fFamily && (this || _global).chars[j].ch === chars[i].ch) {\n            found = true;\n          }\n\n          j += 1;\n        }\n\n        if (!found) {\n          (this || _global).chars.push(chars[i]);\n\n          jLen += 1;\n        }\n      }\n    }\n\n    function getCharData(char, style, font) {\n      var i = 0;\n      var len = (this || _global).chars.length;\n\n      while (i < len) {\n        if ((this || _global).chars[i].ch === char && (this || _global).chars[i].style === style && (this || _global).chars[i].fFamily === font) {\n          return (this || _global).chars[i];\n        }\n\n        i += 1;\n      }\n\n      if ((typeof char === \"string\" && char.charCodeAt(0) !== 13 || !char) && console && console.warn // eslint-disable-line no-console\n      && !(this || _global)._warned) {\n        (this || _global)._warned = true;\n        console.warn(\"Missing character from exported characters list: \", char, style, font); // eslint-disable-line no-console\n      }\n\n      return emptyChar;\n    }\n\n    function measureText(char, fontName, size) {\n      var fontData = this.getFontByName(fontName);\n      var index = char.charCodeAt(0);\n\n      if (!fontData.cache[index + 1]) {\n        var tHelper = fontData.helper; // Canvas version\n        // fontData.cache[index] = tHelper.measureText(char).width / 100;\n        // SVG version\n        // console.log(tHelper.getBBox().width)\n\n        if (char === \" \") {\n          tHelper.textContent = \"|\" + char + \"|\";\n          var doubleSize = tHelper.getComputedTextLength();\n          tHelper.textContent = \"||\";\n          var singleSize = tHelper.getComputedTextLength();\n          fontData.cache[index + 1] = (doubleSize - singleSize) / 100;\n        } else {\n          tHelper.textContent = char;\n          fontData.cache[index + 1] = tHelper.getComputedTextLength() / 100;\n        }\n      }\n\n      return fontData.cache[index + 1] * size;\n    }\n\n    function getFontByName(name) {\n      var i = 0;\n      var len = (this || _global).fonts.length;\n\n      while (i < len) {\n        if ((this || _global).fonts[i].fName === name) {\n          return (this || _global).fonts[i];\n        }\n\n        i += 1;\n      }\n\n      return (this || _global).fonts[0];\n    }\n\n    function getCombinedCharacterCodes() {\n      return combinedCharacters;\n    }\n\n    function setIsLoaded() {\n      (this || _global).isLoaded = true;\n    }\n\n    var Font = function () {\n      (this || _global).fonts = [];\n      (this || _global).chars = null;\n      (this || _global).typekitLoaded = 0;\n      (this || _global).isLoaded = false;\n      (this || _global)._warned = false;\n      (this || _global).initTime = Date.now();\n      (this || _global).setIsLoadedBinded = (this || _global).setIsLoaded.bind(this || _global);\n      (this || _global).checkLoadedFontsBinded = (this || _global).checkLoadedFonts.bind(this || _global);\n    }; // TODO: for now I'm adding these methods to the Class and not the prototype. Think of a better way to implement it.\n\n\n    Font.getCombinedCharacterCodes = getCombinedCharacterCodes;\n    var fontPrototype = {\n      addChars: addChars,\n      addFonts: addFonts,\n      getCharData: getCharData,\n      getFontByName: getFontByName,\n      measureText: measureText,\n      checkLoadedFonts: checkLoadedFonts,\n      setIsLoaded: setIsLoaded\n    };\n    Font.prototype = fontPrototype;\n    return Font;\n  }();\n  /* global initialDefaultFrame, BezierFactory, degToRads, bez, createTypedArray */\n\n  /* exported PropertyFactory */\n\n\n  var PropertyFactory = function () {\n    var initFrame = initialDefaultFrame;\n    var mathAbs = Math.abs;\n\n    function interpolateValue(frameNum, caching) {\n      var offsetTime = (this || _global).offsetTime;\n      var newValue;\n\n      if ((this || _global).propType === \"multidimensional\") {\n        newValue = createTypedArray(\"float32\", (this || _global).pv.length);\n      }\n\n      var iterationIndex = caching.lastIndex;\n      var i = iterationIndex;\n      var len = (this || _global).keyframes.length - 1;\n      var flag = true;\n      var keyData;\n      var nextKeyData;\n\n      while (flag) {\n        keyData = (this || _global).keyframes[i];\n        nextKeyData = (this || _global).keyframes[i + 1];\n\n        if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n          if (keyData.h) {\n            keyData = nextKeyData;\n          }\n\n          iterationIndex = 0;\n          break;\n        }\n\n        if (nextKeyData.t - offsetTime > frameNum) {\n          iterationIndex = i;\n          break;\n        }\n\n        if (i < len - 1) {\n          i += 1;\n        } else {\n          iterationIndex = 0;\n          flag = false;\n        }\n      }\n\n      var k;\n      var kLen;\n      var perc;\n      var jLen;\n      var j;\n      var fnc;\n      var nextKeyTime = nextKeyData.t - offsetTime;\n      var keyTime = keyData.t - offsetTime;\n      var endValue;\n\n      if (keyData.to) {\n        if (!keyData.bezierData) {\n          keyData.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n        }\n\n        var bezierData = keyData.bezierData;\n\n        if (frameNum >= nextKeyTime || frameNum < keyTime) {\n          var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n          kLen = bezierData.points[ind].point.length;\n\n          for (k = 0; k < kLen; k += 1) {\n            newValue[k] = bezierData.points[ind].point[k];\n          } // caching._lastKeyframeIndex = -1;\n\n        } else {\n          if (keyData.__fnct) {\n            fnc = keyData.__fnct;\n          } else {\n            fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n            keyData.__fnct = fnc;\n          }\n\n          perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n          var distanceInLine = bezierData.segmentLength * perc;\n          var segmentPerc;\n          var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n          j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n          flag = true;\n          jLen = bezierData.points.length;\n\n          while (flag) {\n            addedLength += bezierData.points[j].partialLength;\n\n            if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n              kLen = bezierData.points[j].point.length;\n\n              for (k = 0; k < kLen; k += 1) {\n                newValue[k] = bezierData.points[j].point[k];\n              }\n\n              break;\n            } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n              segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n              kLen = bezierData.points[j].point.length;\n\n              for (k = 0; k < kLen; k += 1) {\n                newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n              }\n\n              break;\n            }\n\n            if (j < jLen - 1) {\n              j += 1;\n            } else {\n              flag = false;\n            }\n          }\n\n          caching._lastPoint = j;\n          caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n          caching._lastKeyframeIndex = i;\n        }\n      } else {\n        var outX;\n        var outY;\n        var inX;\n        var inY;\n        var keyValue;\n        len = keyData.s.length;\n        endValue = nextKeyData.s || keyData.e;\n\n        if ((this || _global).sh && keyData.h !== 1) {\n          if (frameNum >= nextKeyTime) {\n            newValue[0] = endValue[0];\n            newValue[1] = endValue[1];\n            newValue[2] = endValue[2];\n          } else if (frameNum <= keyTime) {\n            newValue[0] = keyData.s[0];\n            newValue[1] = keyData.s[1];\n            newValue[2] = keyData.s[2];\n          } else {\n            var quatStart = createQuaternion(keyData.s);\n            var quatEnd = createQuaternion(endValue);\n            var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n            quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n          }\n        } else {\n          for (i = 0; i < len; i += 1) {\n            if (keyData.h !== 1) {\n              if (frameNum >= nextKeyTime) {\n                perc = 1;\n              } else if (frameNum < keyTime) {\n                perc = 0;\n              } else {\n                if (keyData.o.x.constructor === Array) {\n                  if (!keyData.__fnct) {\n                    keyData.__fnct = [];\n                  }\n\n                  if (!keyData.__fnct[i]) {\n                    outX = typeof keyData.o.x[i] === \"undefined\" ? keyData.o.x[0] : keyData.o.x[i];\n                    outY = typeof keyData.o.y[i] === \"undefined\" ? keyData.o.y[0] : keyData.o.y[i];\n                    inX = typeof keyData.i.x[i] === \"undefined\" ? keyData.i.x[0] : keyData.i.x[i];\n                    inY = typeof keyData.i.y[i] === \"undefined\" ? keyData.i.y[0] : keyData.i.y[i];\n                    fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                    keyData.__fnct[i] = fnc;\n                  } else {\n                    fnc = keyData.__fnct[i];\n                  }\n                } else if (!keyData.__fnct) {\n                  outX = keyData.o.x;\n                  outY = keyData.o.y;\n                  inX = keyData.i.x;\n                  inY = keyData.i.y;\n                  fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                  keyData.__fnct = fnc;\n                } else {\n                  fnc = keyData.__fnct;\n                }\n\n                perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n              }\n            }\n\n            endValue = nextKeyData.s || keyData.e;\n            keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n            if ((this || _global).propType === \"multidimensional\") {\n              newValue[i] = keyValue;\n            } else {\n              newValue = keyValue;\n            }\n          }\n        }\n      }\n\n      caching.lastIndex = iterationIndex;\n      return newValue;\n    } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n    function slerp(a, b, t) {\n      var out = [];\n      var ax = a[0];\n      var ay = a[1];\n      var az = a[2];\n      var aw = a[3];\n      var bx = b[0];\n      var by = b[1];\n      var bz = b[2];\n      var bw = b[3];\n      var omega;\n      var cosom;\n      var sinom;\n      var scale0;\n      var scale1;\n      cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n      if (cosom < 0) {\n        cosom = -cosom;\n        bx = -bx;\n        by = -by;\n        bz = -bz;\n        bw = -bw;\n      }\n\n      if (1 - cosom > 0.000001) {\n        omega = Math.acos(cosom);\n        sinom = Math.sin(omega);\n        scale0 = Math.sin((1 - t) * omega) / sinom;\n        scale1 = Math.sin(t * omega) / sinom;\n      } else {\n        scale0 = 1 - t;\n        scale1 = t;\n      }\n\n      out[0] = scale0 * ax + scale1 * bx;\n      out[1] = scale0 * ay + scale1 * by;\n      out[2] = scale0 * az + scale1 * bz;\n      out[3] = scale0 * aw + scale1 * bw;\n      return out;\n    }\n\n    function quaternionToEuler(out, quat) {\n      var qx = quat[0];\n      var qy = quat[1];\n      var qz = quat[2];\n      var qw = quat[3];\n      var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n      var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n      var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n      out[0] = heading / degToRads;\n      out[1] = attitude / degToRads;\n      out[2] = bank / degToRads;\n    }\n\n    function createQuaternion(values) {\n      var heading = values[0] * degToRads;\n      var attitude = values[1] * degToRads;\n      var bank = values[2] * degToRads;\n      var c1 = Math.cos(heading / 2);\n      var c2 = Math.cos(attitude / 2);\n      var c3 = Math.cos(bank / 2);\n      var s1 = Math.sin(heading / 2);\n      var s2 = Math.sin(attitude / 2);\n      var s3 = Math.sin(bank / 2);\n      var w = c1 * c2 * c3 - s1 * s2 * s3;\n      var x = s1 * s2 * c3 + c1 * c2 * s3;\n      var y = s1 * c2 * c3 + c1 * s2 * s3;\n      var z = c1 * s2 * c3 - s1 * c2 * s3;\n      return [x, y, z, w];\n    }\n\n    function getValueAtCurrentTime() {\n      var frameNum = (this || _global).comp.renderedFrame - (this || _global).offsetTime;\n      var initTime = (this || _global).keyframes[0].t - (this || _global).offsetTime;\n      var endTime = (this || _global).keyframes[(this || _global).keyframes.length - 1].t - (this || _global).offsetTime;\n\n      if (!(frameNum === (this || _global)._caching.lastFrame || (this || _global)._caching.lastFrame !== initFrame && ((this || _global)._caching.lastFrame >= endTime && frameNum >= endTime || (this || _global)._caching.lastFrame < initTime && frameNum < initTime))) {\n        if ((this || _global)._caching.lastFrame >= frameNum) {\n          (this || _global)._caching._lastKeyframeIndex = -1;\n          (this || _global)._caching.lastIndex = 0;\n        }\n\n        var renderResult = this.interpolateValue(frameNum, (this || _global)._caching);\n        (this || _global).pv = renderResult;\n      }\n\n      (this || _global)._caching.lastFrame = frameNum;\n      return (this || _global).pv;\n    }\n\n    function setVValue(val) {\n      var multipliedValue;\n\n      if ((this || _global).propType === \"unidimensional\") {\n        multipliedValue = val * (this || _global).mult;\n\n        if (mathAbs((this || _global).v - multipliedValue) > 0.00001) {\n          (this || _global).v = multipliedValue;\n          (this || _global)._mdf = true;\n        }\n      } else {\n        var i = 0;\n        var len = (this || _global).v.length;\n\n        while (i < len) {\n          multipliedValue = val[i] * (this || _global).mult;\n\n          if (mathAbs((this || _global).v[i] - multipliedValue) > 0.00001) {\n            (this || _global).v[i] = multipliedValue;\n            (this || _global)._mdf = true;\n          }\n\n          i += 1;\n        }\n      }\n    }\n\n    function processEffectsSequence() {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId || !(this || _global).effectsSequence.length) {\n        return;\n      }\n\n      if ((this || _global).lock) {\n        this.setVValue((this || _global).pv);\n        return;\n      }\n\n      (this || _global).lock = true;\n      (this || _global)._mdf = (this || _global)._isFirstFrame;\n      var i;\n      var len = (this || _global).effectsSequence.length;\n      var finalValue = (this || _global).kf ? (this || _global).pv : (this || _global).data.k;\n\n      for (i = 0; i < len; i += 1) {\n        finalValue = (this || _global).effectsSequence[i](finalValue);\n      }\n\n      this.setVValue(finalValue);\n      (this || _global)._isFirstFrame = false;\n      (this || _global).lock = false;\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function addEffect(effectFunction) {\n      (this || _global).effectsSequence.push(effectFunction);\n\n      (this || _global).container.addDynamicProperty(this || _global);\n    }\n\n    function ValueProperty(elem, data, mult, container) {\n      (this || _global).propType = \"unidimensional\";\n      (this || _global).mult = mult || 1;\n      (this || _global).data = data;\n      (this || _global).v = mult ? data.k * mult : data.k;\n      (this || _global).pv = data.k;\n      (this || _global)._mdf = false;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global).vel = 0;\n      (this || _global).effectsSequence = [];\n      (this || _global)._isFirstFrame = true;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).addEffect = addEffect;\n    }\n\n    function MultiDimensionalProperty(elem, data, mult, container) {\n      (this || _global).propType = \"multidimensional\";\n      (this || _global).mult = mult || 1;\n      (this || _global).data = data;\n      (this || _global)._mdf = false;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global).frameId = -1;\n      var i;\n      var len = data.k.length;\n      (this || _global).v = createTypedArray(\"float32\", len);\n      (this || _global).pv = createTypedArray(\"float32\", len);\n      (this || _global).vel = createTypedArray(\"float32\", len);\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).v[i] = data.k[i] * (this || _global).mult;\n        (this || _global).pv[i] = data.k[i];\n      }\n\n      (this || _global)._isFirstFrame = true;\n      (this || _global).effectsSequence = [];\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).addEffect = addEffect;\n    }\n\n    function KeyframedValueProperty(elem, data, mult, container) {\n      (this || _global).propType = \"unidimensional\";\n      (this || _global).keyframes = data.k;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).frameId = -1;\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0,\n        value: 0,\n        _lastKeyframeIndex: -1\n      };\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      (this || _global).data = data;\n      (this || _global).mult = mult || 1;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).v = initFrame;\n      (this || _global).pv = initFrame;\n      (this || _global)._isFirstFrame = true;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).interpolateValue = interpolateValue;\n      (this || _global).effectsSequence = [getValueAtCurrentTime.bind(this || _global)];\n      (this || _global).addEffect = addEffect;\n    }\n\n    function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n      (this || _global).propType = \"multidimensional\";\n      var i;\n      var len = data.k.length;\n      var s;\n      var e;\n      var to;\n      var ti;\n\n      for (i = 0; i < len - 1; i += 1) {\n        if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n          s = data.k[i].s;\n          e = data.k[i + 1].s;\n          to = data.k[i].to;\n          ti = data.k[i].ti;\n\n          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])) {\n            data.k[i].to = null;\n            data.k[i].ti = null;\n          }\n\n          if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n            if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n              data.k[i].to = null;\n              data.k[i].ti = null;\n            }\n          }\n        }\n      }\n\n      (this || _global).effectsSequence = [getValueAtCurrentTime.bind(this || _global)];\n      (this || _global).data = data;\n      (this || _global).keyframes = data.k;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      (this || _global)._isFirstFrame = true;\n      (this || _global).mult = mult || 1;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).interpolateValue = interpolateValue;\n      (this || _global).frameId = -1;\n      var arrLen = data.k[0].s.length;\n      (this || _global).v = createTypedArray(\"float32\", arrLen);\n      (this || _global).pv = createTypedArray(\"float32\", arrLen);\n\n      for (i = 0; i < arrLen; i += 1) {\n        (this || _global).v[i] = initFrame;\n        (this || _global).pv[i] = initFrame;\n      }\n\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0,\n        value: createTypedArray(\"float32\", arrLen)\n      };\n      (this || _global).addEffect = addEffect;\n    }\n\n    function getProp(elem, data, type, mult, container) {\n      var p;\n\n      if (!data.k.length) {\n        p = new ValueProperty(elem, data, mult, container);\n      } else if (typeof data.k[0] === \"number\") {\n        p = new MultiDimensionalProperty(elem, data, mult, container);\n      } else {\n        switch (type) {\n          case 0:\n            p = new KeyframedValueProperty(elem, data, mult, container);\n            break;\n\n          case 1:\n            p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n            break;\n\n          default:\n            break;\n        }\n      }\n\n      if (p.effectsSequence.length) {\n        container.addDynamicProperty(p);\n      }\n\n      return p;\n    }\n\n    var ob = {\n      getProp: getProp\n    };\n    return ob;\n  }();\n  /* global Matrix, degToRads, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  /* exported TransformPropertyFactory */\n\n\n  var TransformPropertyFactory = function () {\n    var defaultVector = [0, 0];\n\n    function applyToMatrix(mat) {\n      var _mdf = (this || _global)._mdf;\n      this.iterateDynamicProperties();\n      (this || _global)._mdf = (this || _global)._mdf || _mdf;\n\n      if ((this || _global).a) {\n        mat.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n      }\n\n      if ((this || _global).s) {\n        mat.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n      }\n\n      if ((this || _global).sk) {\n        mat.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n      }\n\n      if ((this || _global).r) {\n        mat.rotate(-(this || _global).r.v);\n      } else {\n        mat.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n      }\n\n      if ((this || _global).data.p.s) {\n        if ((this || _global).data.p.z) {\n          mat.translate((this || _global).px.v, (this || _global).py.v, -(this || _global).pz.v);\n        } else {\n          mat.translate((this || _global).px.v, (this || _global).py.v, 0);\n        }\n      } else {\n        mat.translate((this || _global).p.v[0], (this || _global).p.v[1], -(this || _global).p.v[2]);\n      }\n    }\n\n    function processKeys(forceRender) {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n        return;\n      }\n\n      if ((this || _global)._isDirty) {\n        this.precalculateMatrix();\n        (this || _global)._isDirty = false;\n      }\n\n      this.iterateDynamicProperties();\n\n      if ((this || _global)._mdf || forceRender) {\n        var frameRate;\n\n        (this || _global).v.cloneFromProps((this || _global).pre.props);\n\n        if ((this || _global).appliedTransformations < 1) {\n          (this || _global).v.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n        }\n\n        if ((this || _global).appliedTransformations < 2) {\n          (this || _global).v.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n        }\n\n        if ((this || _global).sk && (this || _global).appliedTransformations < 3) {\n          (this || _global).v.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n        }\n\n        if ((this || _global).r && (this || _global).appliedTransformations < 4) {\n          (this || _global).v.rotate(-(this || _global).r.v);\n        } else if (!(this || _global).r && (this || _global).appliedTransformations < 4) {\n          (this || _global).v.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n        }\n\n        if ((this || _global).autoOriented) {\n          var v1;\n          var v2;\n          frameRate = (this || _global).elem.globalData.frameRate;\n\n          if ((this || _global).p && (this || _global).p.keyframes && (this || _global).p.getValueAtTime) {\n            if ((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime <= (this || _global).p.keyframes[0].t) {\n              v1 = (this || _global).p.getValueAtTime(((this || _global).p.keyframes[0].t + 0.01) / frameRate, 0);\n              v2 = (this || _global).p.getValueAtTime((this || _global).p.keyframes[0].t / frameRate, 0);\n            } else if ((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime >= (this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t) {\n              v1 = (this || _global).p.getValueAtTime((this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t / frameRate, 0);\n              v2 = (this || _global).p.getValueAtTime(((this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n            } else {\n              v1 = (this || _global).p.pv;\n              v2 = (this || _global).p.getValueAtTime(((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime - 0.01) / frameRate, (this || _global).p.offsetTime);\n            }\n          } else if ((this || _global).px && (this || _global).px.keyframes && (this || _global).py.keyframes && (this || _global).px.getValueAtTime && (this || _global).py.getValueAtTime) {\n            v1 = [];\n            v2 = [];\n            var px = (this || _global).px;\n            var py = (this || _global).py;\n\n            if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n              v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n              v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n              v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n              v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n            } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n              v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n              v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n              v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n              v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n            } else {\n              v1 = [px.pv, py.pv];\n              v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n              v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n            }\n          } else {\n            v2 = defaultVector;\n            v1 = v2;\n          }\n\n          (this || _global).v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n        }\n\n        if ((this || _global).data.p && (this || _global).data.p.s) {\n          if ((this || _global).data.p.z) {\n            (this || _global).v.translate((this || _global).px.v, (this || _global).py.v, -(this || _global).pz.v);\n          } else {\n            (this || _global).v.translate((this || _global).px.v, (this || _global).py.v, 0);\n          }\n        } else {\n          (this || _global).v.translate((this || _global).p.v[0], (this || _global).p.v[1], -(this || _global).p.v[2]);\n        }\n      }\n\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function precalculateMatrix() {\n      if (!(this || _global).a.k) {\n        (this || _global).pre.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n\n        (this || _global).appliedTransformations = 1;\n      } else {\n        return;\n      }\n\n      if (!(this || _global).s.effectsSequence.length) {\n        (this || _global).pre.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n\n        (this || _global).appliedTransformations = 2;\n      } else {\n        return;\n      }\n\n      if ((this || _global).sk) {\n        if (!(this || _global).sk.effectsSequence.length && !(this || _global).sa.effectsSequence.length) {\n          (this || _global).pre.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n\n          (this || _global).appliedTransformations = 3;\n        } else {\n          return;\n        }\n      }\n\n      if ((this || _global).r) {\n        if (!(this || _global).r.effectsSequence.length) {\n          (this || _global).pre.rotate(-(this || _global).r.v);\n\n          (this || _global).appliedTransformations = 4;\n        }\n      } else if (!(this || _global).rz.effectsSequence.length && !(this || _global).ry.effectsSequence.length && !(this || _global).rx.effectsSequence.length && !(this || _global).or.effectsSequence.length) {\n        (this || _global).pre.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n\n        (this || _global).appliedTransformations = 4;\n      }\n    }\n\n    function autoOrient() {//\n      // var prevP = this.getValueAtTime();\n    }\n\n    function addDynamicProperty(prop) {\n      this._addDynamicProperty(prop);\n\n      (this || _global).elem.addDynamicProperty(prop);\n\n      (this || _global)._isDirty = true;\n    }\n\n    function TransformProperty(elem, data, container) {\n      (this || _global).elem = elem;\n      (this || _global).frameId = -1;\n      (this || _global).propType = \"transform\";\n      (this || _global).data = data;\n      (this || _global).v = new Matrix(); // Precalculated matrix with non animated properties\n\n      (this || _global).pre = new Matrix();\n      (this || _global).appliedTransformations = 0;\n      this.initDynamicPropertyContainer(container || elem);\n\n      if (data.p && data.p.s) {\n        (this || _global).px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this || _global);\n        (this || _global).py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this || _global);\n\n        if (data.p.z) {\n          (this || _global).pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this || _global);\n        }\n      } else {\n        (this || _global).p = PropertyFactory.getProp(elem, data.p || {\n          k: [0, 0, 0]\n        }, 1, 0, this || _global);\n      }\n\n      if (data.rx) {\n        (this || _global).rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this || _global);\n        (this || _global).ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this || _global);\n        (this || _global).rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this || _global);\n\n        if (data.or.k[0].ti) {\n          var i;\n          var len = data.or.k.length;\n\n          for (i = 0; i < len; i += 1) {\n            data.or.k[i].to = null;\n            data.or.k[i].ti = null;\n          }\n        }\n\n        (this || _global).or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this || _global); // sh Indicates it needs to be capped between -180 and 180\n\n        (this || _global).or.sh = true;\n      } else {\n        (this || _global).r = PropertyFactory.getProp(elem, data.r || {\n          k: 0\n        }, 0, degToRads, this || _global);\n      }\n\n      if (data.sk) {\n        (this || _global).sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this || _global);\n        (this || _global).sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this || _global);\n      }\n\n      (this || _global).a = PropertyFactory.getProp(elem, data.a || {\n        k: [0, 0, 0]\n      }, 1, 0, this || _global);\n      (this || _global).s = PropertyFactory.getProp(elem, data.s || {\n        k: [100, 100, 100]\n      }, 1, 0.01, this || _global); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n      if (data.o) {\n        (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n      } else {\n        (this || _global).o = {\n          _mdf: false,\n          v: 1\n        };\n      }\n\n      (this || _global)._isDirty = true;\n\n      if (!(this || _global).dynamicProperties.length) {\n        this.getValue(true);\n      }\n    }\n\n    TransformProperty.prototype = {\n      applyToMatrix: applyToMatrix,\n      getValue: processKeys,\n      precalculateMatrix: precalculateMatrix,\n      autoOrient: autoOrient\n    };\n    extendPrototype([DynamicPropertyContainer], TransformProperty);\n    TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n    TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n    function getTransformProperty(elem, data, container) {\n      return new TransformProperty(elem, data, container);\n    }\n\n    return {\n      getTransformProperty: getTransformProperty\n    };\n  }();\n  /* global createSizedArray, createSizedArray, pointPool */\n\n\n  function ShapePath() {\n    (this || _global).c = false;\n    (this || _global)._length = 0;\n    (this || _global)._maxLength = 8;\n    (this || _global).v = createSizedArray((this || _global)._maxLength);\n    (this || _global).o = createSizedArray((this || _global)._maxLength);\n    (this || _global).i = createSizedArray((this || _global)._maxLength);\n  }\n\n  ShapePath.prototype.setPathData = function (closed, len) {\n    (this || _global).c = closed;\n    this.setLength(len);\n    var i = 0;\n\n    while (i < len) {\n      (this || _global).v[i] = pointPool.newElement();\n      (this || _global).o[i] = pointPool.newElement();\n      (this || _global).i[i] = pointPool.newElement();\n      i += 1;\n    }\n  };\n\n  ShapePath.prototype.setLength = function (len) {\n    while ((this || _global)._maxLength < len) {\n      this.doubleArrayLength();\n    }\n\n    (this || _global)._length = len;\n  };\n\n  ShapePath.prototype.doubleArrayLength = function () {\n    (this || _global).v = (this || _global).v.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global).i = (this || _global).i.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global).o = (this || _global).o.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global)._maxLength *= 2;\n  };\n\n  ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n    var arr;\n    (this || _global)._length = Math.max((this || _global)._length, pos + 1);\n\n    if ((this || _global)._length >= (this || _global)._maxLength) {\n      this.doubleArrayLength();\n    }\n\n    switch (type) {\n      case \"v\":\n        arr = (this || _global).v;\n        break;\n\n      case \"i\":\n        arr = (this || _global).i;\n        break;\n\n      case \"o\":\n        arr = (this || _global).o;\n        break;\n\n      default:\n        arr = [];\n        break;\n    }\n\n    if (!arr[pos] || arr[pos] && !replace) {\n      arr[pos] = pointPool.newElement();\n    }\n\n    arr[pos][0] = x;\n    arr[pos][1] = y;\n  };\n\n  ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n    this.setXYAt(vX, vY, \"v\", pos, replace);\n    this.setXYAt(oX, oY, \"o\", pos, replace);\n    this.setXYAt(iX, iY, \"i\", pos, replace);\n  };\n\n  ShapePath.prototype.reverse = function () {\n    var newPath = new ShapePath();\n    newPath.setPathData((this || _global).c, (this || _global)._length);\n    var vertices = (this || _global).v;\n    var outPoints = (this || _global).o;\n    var inPoints = (this || _global).i;\n    var init = 0;\n\n    if ((this || _global).c) {\n      newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n      init = 1;\n    }\n\n    var cnt = (this || _global)._length - 1;\n    var len = (this || _global)._length;\n    var i;\n\n    for (i = init; i < len; i += 1) {\n      newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n      cnt -= 1;\n    }\n\n    return newPath;\n  };\n  /* global extendPrototype, roundCorner, BezierFactory, shapePool, degToRads,\r\n    shapeCollectionPool, PropertyFactory, bmMin, DynamicPropertyContainer */\n\n  /* exported ShapePropertyFactory */\n\n\n  var ShapePropertyFactory = function () {\n    var initFrame = -999999;\n\n    function interpolateShape(frameNum, previousValue, caching) {\n      var iterationIndex = caching.lastIndex;\n      var keyPropS;\n      var keyPropE;\n      var isHold;\n      var j;\n      var k;\n      var jLen;\n      var kLen;\n      var perc;\n      var vertexValue;\n      var kf = (this || _global).keyframes;\n\n      if (frameNum < kf[0].t - (this || _global).offsetTime) {\n        keyPropS = kf[0].s[0];\n        isHold = true;\n        iterationIndex = 0;\n      } else if (frameNum >= kf[kf.length - 1].t - (this || _global).offsetTime) {\n        keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n        /* if(kf[kf.length - 1].s){\r\n                  keyPropS = kf[kf.length - 1].s[0];\r\n              }else{\r\n                  keyPropS = kf[kf.length - 2].e[0];\r\n              } */\n\n        isHold = true;\n      } else {\n        var i = iterationIndex;\n        var len = kf.length - 1;\n        var flag = true;\n        var keyData;\n        var nextKeyData;\n\n        while (flag) {\n          keyData = kf[i];\n          nextKeyData = kf[i + 1];\n\n          if (nextKeyData.t - (this || _global).offsetTime > frameNum) {\n            break;\n          }\n\n          if (i < len - 1) {\n            i += 1;\n          } else {\n            flag = false;\n          }\n        }\n\n        isHold = keyData.h === 1;\n        iterationIndex = i;\n\n        if (!isHold) {\n          if (frameNum >= nextKeyData.t - (this || _global).offsetTime) {\n            perc = 1;\n          } else if (frameNum < keyData.t - (this || _global).offsetTime) {\n            perc = 0;\n          } else {\n            var fnc;\n\n            if (keyData.__fnct) {\n              fnc = keyData.__fnct;\n            } else {\n              fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n              keyData.__fnct = fnc;\n            }\n\n            perc = fnc((frameNum - (keyData.t - (this || _global).offsetTime)) / (nextKeyData.t - (this || _global).offsetTime - (keyData.t - (this || _global).offsetTime)));\n          }\n\n          keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n        }\n\n        keyPropS = keyData.s[0];\n      }\n\n      jLen = previousValue._length;\n      kLen = keyPropS.i[0].length;\n      caching.lastIndex = iterationIndex;\n\n      for (j = 0; j < jLen; j += 1) {\n        for (k = 0; k < kLen; k += 1) {\n          vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n          previousValue.i[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n          previousValue.o[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n          previousValue.v[j][k] = vertexValue;\n        }\n      }\n    }\n\n    function interpolateShapeCurrentTime() {\n      var frameNum = (this || _global).comp.renderedFrame - (this || _global).offsetTime;\n      var initTime = (this || _global).keyframes[0].t - (this || _global).offsetTime;\n      var endTime = (this || _global).keyframes[(this || _global).keyframes.length - 1].t - (this || _global).offsetTime;\n      var lastFrame = (this || _global)._caching.lastFrame;\n\n      if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n        /// /\n        (this || _global)._caching.lastIndex = lastFrame < frameNum ? (this || _global)._caching.lastIndex : 0;\n        this.interpolateShape(frameNum, (this || _global).pv, (this || _global)._caching); /// /\n      }\n\n      (this || _global)._caching.lastFrame = frameNum;\n      return (this || _global).pv;\n    }\n\n    function resetShape() {\n      (this || _global).paths = (this || _global).localShapeCollection;\n    }\n\n    function shapesEqual(shape1, shape2) {\n      if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n        return false;\n      }\n\n      var i;\n      var len = shape1._length;\n\n      for (i = 0; i < len; i += 1) {\n        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]) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n\n    function setVValue(newPath) {\n      if (!shapesEqual((this || _global).v, newPath)) {\n        (this || _global).v = shapePool.clone(newPath);\n\n        (this || _global).localShapeCollection.releaseShapes();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global)._mdf = true;\n        (this || _global).paths = (this || _global).localShapeCollection;\n      }\n    }\n\n    function processEffectsSequence() {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n        return;\n      }\n\n      if (!(this || _global).effectsSequence.length) {\n        (this || _global)._mdf = false;\n        return;\n      }\n\n      if ((this || _global).lock) {\n        this.setVValue((this || _global).pv);\n        return;\n      }\n\n      (this || _global).lock = true;\n      (this || _global)._mdf = false;\n      var finalValue;\n\n      if ((this || _global).kf) {\n        finalValue = (this || _global).pv;\n      } else if ((this || _global).data.ks) {\n        finalValue = (this || _global).data.ks.k;\n      } else {\n        finalValue = (this || _global).data.pt.k;\n      }\n\n      var i;\n      var len = (this || _global).effectsSequence.length;\n\n      for (i = 0; i < len; i += 1) {\n        finalValue = (this || _global).effectsSequence[i](finalValue);\n      }\n\n      this.setVValue(finalValue);\n      (this || _global).lock = false;\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function ShapeProperty(elem, data, type) {\n      (this || _global).propType = \"shape\";\n      (this || _global).comp = elem.comp;\n      (this || _global).container = elem;\n      (this || _global).elem = elem;\n      (this || _global).data = data;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global)._mdf = false;\n      var pathData = type === 3 ? data.pt.k : data.ks.k;\n      (this || _global).v = shapePool.clone(pathData);\n      (this || _global).pv = shapePool.clone((this || _global).v);\n      (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n      (this || _global).paths = (this || _global).localShapeCollection;\n\n      (this || _global).paths.addShape((this || _global).v);\n\n      (this || _global).reset = resetShape;\n      (this || _global).effectsSequence = [];\n    }\n\n    function addEffect(effectFunction) {\n      (this || _global).effectsSequence.push(effectFunction);\n\n      (this || _global).container.addDynamicProperty(this || _global);\n    }\n\n    ShapeProperty.prototype.interpolateShape = interpolateShape;\n    ShapeProperty.prototype.getValue = processEffectsSequence;\n    ShapeProperty.prototype.setVValue = setVValue;\n    ShapeProperty.prototype.addEffect = addEffect;\n\n    function KeyframedShapeProperty(elem, data, type) {\n      (this || _global).propType = \"shape\";\n      (this || _global).comp = elem.comp;\n      (this || _global).elem = elem;\n      (this || _global).container = elem;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).keyframes = type === 3 ? data.pt.k : data.ks.k;\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      var len = (this || _global).keyframes[0].s[0].i.length;\n      (this || _global).v = shapePool.newElement();\n\n      (this || _global).v.setPathData((this || _global).keyframes[0].s[0].c, len);\n\n      (this || _global).pv = shapePool.clone((this || _global).v);\n      (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n      (this || _global).paths = (this || _global).localShapeCollection;\n\n      (this || _global).paths.addShape((this || _global).v);\n\n      (this || _global).lastFrame = initFrame;\n      (this || _global).reset = resetShape;\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0\n      };\n      (this || _global).effectsSequence = [interpolateShapeCurrentTime.bind(this || _global)];\n    }\n\n    KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n    KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n    KeyframedShapeProperty.prototype.setVValue = setVValue;\n    KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n    var EllShapeProperty = function () {\n      var cPoint = roundCorner;\n\n      function EllShapePropertyFactory(elem, data) {\n        /* this.v = {\r\n                  v: createSizedArray(4),\r\n                  i: createSizedArray(4),\r\n                  o: createSizedArray(4),\r\n                  c: true\r\n              }; */\n        (this || _global).v = shapePool.newElement();\n\n        (this || _global).v.setPathData(true, 4);\n\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n        (this || _global).paths = (this || _global).localShapeCollection;\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).d = data.d;\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).frameId = -1;\n        this.initDynamicPropertyContainer(elem);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, 0, this || _global);\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertEllToPath();\n        }\n      }\n\n      EllShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertEllToPath();\n          }\n        },\n        convertEllToPath: function () {\n          var p0 = (this || _global).p.v[0];\n          var p1 = (this || _global).p.v[1];\n          var s0 = (this || _global).s.v[0] / 2;\n          var s1 = (this || _global).s.v[1] / 2;\n\n          var _cw = (this || _global).d !== 3;\n\n          var _v = (this || _global).v;\n          _v.v[0][0] = p0;\n          _v.v[0][1] = p1 - s1;\n          _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.v[1][1] = p1;\n          _v.v[2][0] = p0;\n          _v.v[2][1] = p1 + s1;\n          _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.v[3][1] = p1;\n          _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.i[0][1] = p1 - s1;\n          _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.i[1][1] = p1 - s1 * cPoint;\n          _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.i[2][1] = p1 + s1;\n          _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.i[3][1] = p1 + s1 * cPoint;\n          _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.o[0][1] = p1 - s1;\n          _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.o[1][1] = p1 + s1 * cPoint;\n          _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.o[2][1] = p1 + s1;\n          _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.o[3][1] = p1 - s1 * cPoint;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n      return EllShapePropertyFactory;\n    }();\n\n    var StarShapeProperty = function () {\n      function StarShapePropertyFactory(elem, data) {\n        (this || _global).v = shapePool.newElement();\n\n        (this || _global).v.setPathData(true, 0);\n\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).data = data;\n        (this || _global).frameId = -1;\n        (this || _global).d = data.d;\n        this.initDynamicPropertyContainer(elem);\n\n        if (data.sy === 1) {\n          (this || _global).ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this || _global);\n          (this || _global).is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this || _global);\n          (this || _global).convertToPath = (this || _global).convertStarToPath;\n        } else {\n          (this || _global).convertToPath = (this || _global).convertPolygonToPath;\n        }\n\n        (this || _global).pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this || _global);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this || _global);\n        (this || _global).or = PropertyFactory.getProp(elem, data.or, 0, 0, this || _global);\n        (this || _global).os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this || _global);\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).paths = (this || _global).localShapeCollection;\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertToPath();\n        }\n      }\n\n      StarShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertToPath();\n          }\n        },\n        convertStarToPath: function () {\n          var numPts = Math.floor((this || _global).pt.v) * 2;\n          var angle = Math.PI * 2 / numPts;\n          /* this.v.v.length = numPts;\r\n                  this.v.i.length = numPts;\r\n                  this.v.o.length = numPts; */\n\n          var longFlag = true;\n          var longRad = (this || _global).or.v;\n          var shortRad = (this || _global).ir.v;\n          var longRound = (this || _global).os.v;\n          var shortRound = (this || _global).is.v;\n          var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n          var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n          var i;\n          var rad;\n          var roundness;\n          var perimSegment;\n          var currentAng = -Math.PI / 2;\n          currentAng += (this || _global).r.v;\n          var dir = (this || _global).data.d === 3 ? -1 : 1;\n          (this || _global).v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            rad = longFlag ? longRad : shortRad;\n            roundness = longFlag ? longRound : shortRound;\n            perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +(this || _global).p.v[0];\n            y += +(this || _global).p.v[1];\n\n            (this || _global).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);\n            /* this.v.v[i] = [x,y];\r\n                      this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n                      this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n                      this.v._length = numPts; */\n\n\n            longFlag = !longFlag;\n            currentAng += angle * dir;\n          }\n        },\n        convertPolygonToPath: function () {\n          var numPts = Math.floor((this || _global).pt.v);\n          var angle = Math.PI * 2 / numPts;\n          var rad = (this || _global).or.v;\n          var roundness = (this || _global).os.v;\n          var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n          var i;\n          var currentAng = -Math.PI * 0.5;\n          var dir = (this || _global).data.d === 3 ? -1 : 1;\n          currentAng += (this || _global).r.v;\n          (this || _global).v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +(this || _global).p.v[0];\n            y += +(this || _global).p.v[1];\n\n            (this || _global).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);\n\n            currentAng += angle * dir;\n          }\n\n          (this || _global).paths.length = 0;\n          (this || _global).paths[0] = (this || _global).v;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n      return StarShapePropertyFactory;\n    }();\n\n    var RectShapeProperty = function () {\n      function RectShapePropertyFactory(elem, data) {\n        (this || _global).v = shapePool.newElement();\n        (this || _global).v.c = true;\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).paths = (this || _global).localShapeCollection;\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).frameId = -1;\n        (this || _global).d = data.d;\n        this.initDynamicPropertyContainer(elem);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, 0, this || _global);\n        (this || _global).r = PropertyFactory.getProp(elem, data.r, 0, 0, this || _global);\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertRectToPath();\n        }\n      }\n\n      RectShapePropertyFactory.prototype = {\n        convertRectToPath: function () {\n          var p0 = (this || _global).p.v[0];\n          var p1 = (this || _global).p.v[1];\n          var v0 = (this || _global).s.v[0] / 2;\n          var v1 = (this || _global).s.v[1] / 2;\n          var round = bmMin(v0, v1, (this || _global).r.v);\n          var cPoint = round * (1 - roundCorner);\n          (this || _global).v._length = 0;\n\n          if ((this || _global).d === 2 || (this || _global).d === 1) {\n            (this || _global).v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n\n            (this || _global).v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n            if (round !== 0) {\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n            } else {\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n            }\n          } else {\n            (this || _global).v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n            if (round !== 0) {\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n\n              (this || _global).v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n            } else {\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n            }\n          }\n        },\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertRectToPath();\n          }\n        },\n        reset: resetShape\n      };\n      extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n      return RectShapePropertyFactory;\n    }();\n\n    function getShapeProp(elem, data, type) {\n      var prop;\n\n      if (type === 3 || type === 4) {\n        var dataProp = type === 3 ? data.pt : data.ks;\n        var keys = dataProp.k;\n\n        if (keys.length) {\n          prop = new KeyframedShapeProperty(elem, data, type);\n        } else {\n          prop = new ShapeProperty(elem, data, type);\n        }\n      } else if (type === 5) {\n        prop = new RectShapeProperty(elem, data);\n      } else if (type === 6) {\n        prop = new EllShapeProperty(elem, data);\n      } else if (type === 7) {\n        prop = new StarShapeProperty(elem, data);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    }\n\n    function getConstructorFunction() {\n      return ShapeProperty;\n    }\n\n    function getKeyframedConstructorFunction() {\n      return KeyframedShapeProperty;\n    }\n\n    var ob = {};\n    ob.getShapeProp = getShapeProp;\n    ob.getConstructorFunction = getConstructorFunction;\n    ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n    return ob;\n  }();\n  /* global shapeCollectionPool, initialDefaultFrame, extendPrototype, DynamicPropertyContainer */\n\n  /* exported ShapeModifiers */\n\n\n  var ShapeModifiers = function () {\n    var ob = {};\n    var modifiers = {};\n    ob.registerModifier = registerModifier;\n    ob.getModifier = getModifier;\n\n    function registerModifier(nm, factory) {\n      if (!modifiers[nm]) {\n        modifiers[nm] = factory;\n      }\n    }\n\n    function getModifier(nm, elem, data) {\n      return new modifiers[nm](elem, data);\n    }\n\n    return ob;\n  }();\n\n  function ShapeModifier() {}\n\n  ShapeModifier.prototype.initModifierProperties = function () {};\n\n  ShapeModifier.prototype.addShapeToModifier = function () {};\n\n  ShapeModifier.prototype.addShape = function (data) {\n    if (!(this || _global).closed) {\n      // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n      data.sh.container.addDynamicProperty(data.sh);\n      var shapeData = {\n        shape: data.sh,\n        data: data,\n        localShapeCollection: shapeCollectionPool.newShapeCollection()\n      };\n\n      (this || _global).shapes.push(shapeData);\n\n      this.addShapeToModifier(shapeData);\n\n      if ((this || _global)._isAnimated) {\n        data.setAsAnimated();\n      }\n    }\n  };\n\n  ShapeModifier.prototype.init = function (elem, data) {\n    (this || _global).shapes = [];\n    (this || _global).elem = elem;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, data);\n    (this || _global).frameId = initialDefaultFrame;\n    (this || _global).closed = false;\n    (this || _global).k = false;\n\n    if ((this || _global).dynamicProperties.length) {\n      (this || _global).k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  ShapeModifier.prototype.processKeys = function () {\n    if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n      return;\n    }\n\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  extendPrototype([DynamicPropertyContainer], ShapeModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, segmentsLengthPool, bez, shapePool, ShapeModifiers */\n\n  function TrimModifier() {}\n\n  extendPrototype([ShapeModifier], TrimModifier);\n\n  TrimModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this || _global);\n    (this || _global).e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this || _global);\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0, this || _global);\n    (this || _global).sValue = 0;\n    (this || _global).eValue = 0;\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).m = data.m;\n    (this || _global)._isAnimated = !!(this || _global).s.effectsSequence.length || !!(this || _global).e.effectsSequence.length || !!(this || _global).o.effectsSequence.length;\n  };\n\n  TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n    shapeData.pathsData = [];\n  };\n\n  TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n    var segments = [];\n\n    if (e <= 1) {\n      segments.push({\n        s: s,\n        e: e\n      });\n    } else if (s >= 1) {\n      segments.push({\n        s: s - 1,\n        e: e - 1\n      });\n    } else {\n      segments.push({\n        s: s,\n        e: 1\n      });\n      segments.push({\n        s: 0,\n        e: e - 1\n      });\n    }\n\n    var shapeSegments = [];\n    var i;\n    var len = segments.length;\n    var segmentOb;\n\n    for (i = 0; i < len; i += 1) {\n      segmentOb = segments[i];\n\n      if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n        var shapeS;\n        var shapeE;\n\n        if (segmentOb.s * totalModifierLength <= addedLength) {\n          shapeS = 0;\n        } else {\n          shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n          shapeE = 1;\n        } else {\n          shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        shapeSegments.push([shapeS, shapeE]);\n      }\n    }\n\n    if (!shapeSegments.length) {\n      shapeSegments.push([0, 0]);\n    }\n\n    return shapeSegments;\n  };\n\n  TrimModifier.prototype.releasePathsData = function (pathsData) {\n    var i;\n    var len = pathsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      segmentsLengthPool.release(pathsData[i]);\n    }\n\n    pathsData.length = 0;\n    return pathsData;\n  };\n\n  TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n    var s;\n    var e;\n\n    if ((this || _global)._mdf || _isFirstFrame) {\n      var o = (this || _global).o.v % 360 / 360;\n\n      if (o < 0) {\n        o += 1;\n      }\n\n      if ((this || _global).s.v > 1) {\n        s = 1 + o;\n      } else if ((this || _global).s.v < 0) {\n        s = 0 + o;\n      } else {\n        s = (this || _global).s.v + o;\n      }\n\n      if ((this || _global).e.v > 1) {\n        e = 1 + o;\n      } else if ((this || _global).e.v < 0) {\n        e = 0 + o;\n      } else {\n        e = (this || _global).e.v + o;\n      }\n\n      if (s > e) {\n        var _s = s;\n        s = e;\n        e = _s;\n      }\n\n      s = Math.round(s * 10000) * 0.0001;\n      e = Math.round(e * 10000) * 0.0001;\n      (this || _global).sValue = s;\n      (this || _global).eValue = e;\n    } else {\n      s = (this || _global).sValue;\n      e = (this || _global).eValue;\n    }\n\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var pathsData;\n    var pathData;\n    var totalShapeLength;\n    var totalModifierLength = 0;\n\n    if (e === s) {\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapes[i].localShapeCollection.releaseShapes();\n\n        (this || _global).shapes[i].shape._mdf = true;\n        (this || _global).shapes[i].shape.paths = (this || _global).shapes[i].localShapeCollection;\n\n        if ((this || _global)._mdf) {\n          (this || _global).shapes[i].pathsData.length = 0;\n        }\n      }\n    } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n      var segments = [];\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n        if (!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame && (this || _global).m !== 2) {\n          shapeData.shape.paths = shapeData.localShapeCollection;\n        } else {\n          shapePaths = shapeData.shape.paths;\n          jLen = shapePaths._length;\n          totalShapeLength = 0;\n\n          if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n            totalShapeLength = shapeData.totalShapeLength;\n          } else {\n            pathsData = this.releasePathsData(shapeData.pathsData);\n\n            for (j = 0; j < jLen; j += 1) {\n              pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n              pathsData.push(pathData);\n              totalShapeLength += pathData.totalLength;\n            }\n\n            shapeData.totalShapeLength = totalShapeLength;\n            shapeData.pathsData = pathsData;\n          }\n\n          totalModifierLength += totalShapeLength;\n          shapeData.shape._mdf = true;\n        }\n      }\n\n      var shapeS = s;\n      var shapeE = e;\n      var addedLength = 0;\n      var edges;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shapeData = (this || _global).shapes[i];\n\n        if (shapeData.shape._mdf) {\n          localShapeCollection = shapeData.localShapeCollection;\n          localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n          if ((this || _global).m === 2 && len > 1) {\n            edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n            addedLength += shapeData.totalShapeLength;\n          } else {\n            edges = [[shapeS, shapeE]];\n          }\n\n          jLen = edges.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            shapeS = edges[j][0];\n            shapeE = edges[j][1];\n            segments.length = 0;\n\n            if (shapeE <= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength * shapeE\n              });\n            } else if (shapeS >= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * (shapeS - 1),\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            } else {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength\n              });\n              segments.push({\n                s: 0,\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            }\n\n            var newShapesData = this.addShapes(shapeData, segments[0]);\n\n            if (segments[0].s !== segments[0].e) {\n              if (segments.length > 1) {\n                var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n                if (lastShapeInCollection.c) {\n                  var lastShape = newShapesData.pop();\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n                } else {\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1]);\n                }\n              }\n\n              this.addPaths(newShapesData, localShapeCollection);\n            }\n          }\n\n          shapeData.shape.paths = localShapeCollection;\n        }\n      }\n    } else if ((this || _global)._mdf) {\n      for (i = 0; i < len; i += 1) {\n        // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n        // Don't remove this even if it's losing cached info.\n        (this || _global).shapes[i].pathsData.length = 0;\n        (this || _global).shapes[i].shape._mdf = true;\n      }\n    }\n  };\n\n  TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n    var i;\n    var len = newPaths.length;\n\n    for (i = 0; i < len; i += 1) {\n      localShapeCollection.addShape(newPaths[i]);\n    }\n  };\n\n  TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n    shapePath.setXYAt(pt2[0], pt2[1], \"o\", pos);\n    shapePath.setXYAt(pt3[0], pt3[1], \"i\", pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(pt1[0], pt1[1], \"v\", pos);\n    }\n\n    shapePath.setXYAt(pt4[0], pt4[1], \"v\", pos + 1);\n  };\n\n  TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n    shapePath.setXYAt(points[1], points[5], \"o\", pos);\n    shapePath.setXYAt(points[2], points[6], \"i\", pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(points[0], points[4], \"v\", pos);\n    }\n\n    shapePath.setXYAt(points[3], points[7], \"v\", pos + 1);\n  };\n\n  TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n    var pathsData = shapeData.pathsData;\n    var shapePaths = shapeData.shape.paths.shapes;\n    var i;\n    var len = shapeData.shape.paths._length;\n    var j;\n    var jLen;\n    var addedLength = 0;\n    var currentLengthData;\n    var segmentCount;\n    var lengths;\n    var segment;\n    var shapes = [];\n    var initPos;\n    var newShape = true;\n\n    if (!shapePath) {\n      shapePath = shapePool.newElement();\n      segmentCount = 0;\n      initPos = 0;\n    } else {\n      segmentCount = shapePath._length;\n      initPos = shapePath._length;\n    }\n\n    shapes.push(shapePath);\n\n    for (i = 0; i < len; i += 1) {\n      lengths = pathsData[i].lengths;\n      shapePath.c = shapePaths[i].c;\n      jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n      for (j = 1; j < jLen; j += 1) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n          addedLength += currentLengthData.addedLength;\n          shapePath.c = false;\n        } else if (addedLength > shapeSegment.e) {\n          shapePath.c = false;\n          break;\n        } else {\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            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]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n\n          addedLength += currentLengthData.addedLength;\n          segmentCount += 1;\n        }\n      }\n\n      if (shapePaths[i].c && lengths.length) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength <= shapeSegment.e) {\n          var segmentLength = lengths[j - 1].addedLength;\n\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            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]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n        } else {\n          shapePath.c = false;\n        }\n\n        addedLength += currentLengthData.addedLength;\n        segmentCount += 1;\n      }\n\n      if (shapePath._length) {\n        shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], \"i\", initPos);\n        shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], \"o\", shapePath._length - 1);\n      }\n\n      if (addedLength > shapeSegment.e) {\n        break;\n      }\n\n      if (i < len - 1) {\n        shapePath = shapePool.newElement();\n        newShape = true;\n        shapes.push(shapePath);\n        segmentCount = 0;\n      }\n    }\n\n    return shapes;\n  };\n\n  ShapeModifiers.registerModifier(\"tm\", TrimModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, roundCorner, ShapeModifiers */\n\n  function RoundCornersModifier() {}\n\n  extendPrototype([ShapeModifier], RoundCornersModifier);\n\n  RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).rd = PropertyFactory.getProp(elem, data.r, 0, null, this || _global);\n    (this || _global)._isAnimated = !!(this || _global).rd.effectsSequence.length;\n  };\n\n  RoundCornersModifier.prototype.processPath = function (path, round) {\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var i;\n    var len = path._length;\n    var currentV;\n    var currentI;\n    var currentO;\n    var closerV;\n    var distance;\n    var newPosPerc;\n    var index = 0;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < len; i += 1) {\n      currentV = path.v[i];\n      currentO = path.o[i];\n      currentI = path.i[i];\n\n      if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n        if ((i === 0 || i === len - 1) && !path.c) {\n          clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n          /* clonedPath.v[index] = currentV;\r\n                  clonedPath.o[index] = currentO;\r\n                  clonedPath.i[index] = currentI; */\n\n          index += 1;\n        } else {\n          if (i === 0) {\n            closerV = path.v[len - 1];\n          } else {\n            closerV = path.v[i - 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = iX;\n          iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n          vY = iY;\n          oX = vX - (vX - currentV[0]) * roundCorner;\n          oY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n\n          if (i === len - 1) {\n            closerV = path.v[0];\n          } else {\n            closerV = path.v[i + 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = oX;\n          oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n          vY = oY;\n          iX = vX - (vX - currentV[0]) * roundCorner;\n          iY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n        }\n      } else {\n        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);\n        index += 1;\n      }\n    }\n\n    return clonedPath;\n  };\n\n  RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var rd = (this || _global).rd.v;\n\n    if (rd !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!(this || _global).dynamicProperties.length) {\n      (this || _global)._mdf = false;\n    }\n  };\n\n  ShapeModifiers.registerModifier(\"rd\", RoundCornersModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, ShapeModifiers */\n\n  function PuckerAndBloatModifier() {}\n\n  extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n  PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).amount = PropertyFactory.getProp(elem, data.a, 0, null, this || _global);\n    (this || _global)._isAnimated = !!(this || _global).amount.effectsSequence.length;\n  };\n\n  PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n    var percent = amount / 100;\n    var centerPoint = [0, 0];\n    var pathLength = path._length;\n    var i = 0;\n\n    for (i = 0; i < pathLength; i += 1) {\n      centerPoint[0] += path.v[i][0];\n      centerPoint[1] += path.v[i][1];\n    }\n\n    centerPoint[0] /= pathLength;\n    centerPoint[1] /= pathLength;\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < pathLength; i += 1) {\n      vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n      vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n      oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n      oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n      iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n      iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n      clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n    }\n\n    return clonedPath;\n  };\n\n  PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var amount = (this || _global).amount.v;\n\n    if (amount !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!(this || _global).dynamicProperties.length) {\n      (this || _global)._mdf = false;\n    }\n  };\n\n  ShapeModifiers.registerModifier(\"pb\", PuckerAndBloatModifier);\n  /* global extendPrototype, ShapeModifier, TransformPropertyFactory, PropertyFactory, Matrix, ShapeModifiers */\n\n  function RepeaterModifier() {}\n\n  extendPrototype([ShapeModifier], RepeaterModifier);\n\n  RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 0, null, this || _global);\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, null, this || _global);\n    (this || _global).tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this || _global);\n    (this || _global).so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this || _global);\n    (this || _global).eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this || _global);\n    (this || _global).data = data;\n\n    if (!(this || _global).dynamicProperties.length) {\n      this.getValue(true);\n    }\n\n    (this || _global)._isAnimated = !!(this || _global).dynamicProperties.length;\n    (this || _global).pMatrix = new Matrix();\n    (this || _global).rMatrix = new Matrix();\n    (this || _global).sMatrix = new Matrix();\n    (this || _global).tMatrix = new Matrix();\n    (this || _global).matrix = new Matrix();\n  };\n\n  RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n    var dir = inv ? -1 : 1;\n    var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n    var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n    pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n    rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    rMatrix.rotate(-transform.r.v * dir * perc);\n    rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n    sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n    sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n  };\n\n  RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n    (this || _global).elem = elem;\n    (this || _global).arr = arr;\n    (this || _global).pos = pos;\n    (this || _global).elemsData = elemsData;\n    (this || _global)._currentCopies = 0;\n    (this || _global)._elements = [];\n    (this || _global)._groups = [];\n    (this || _global).frameId = -1;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, arr[pos]);\n\n    while (pos > 0) {\n      pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n      (this || _global)._elements.unshift(arr[pos]);\n    }\n\n    if ((this || _global).dynamicProperties.length) {\n      (this || _global).k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  RepeaterModifier.prototype.resetElements = function (elements) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._processed = false;\n\n      if (elements[i].ty === \"gr\") {\n        this.resetElements(elements[i].it);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.cloneElements = function (elements) {\n    var newElements = JSON.parse(JSON.stringify(elements));\n    this.resetElements(newElements);\n    return newElements;\n  };\n\n  RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._render = renderFlag;\n\n      if (elements[i].ty === \"gr\") {\n        this.changeGroupRender(elements[i].it, renderFlag);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n    var items;\n    var itemsTransform;\n    var i;\n    var dir;\n    var cont;\n    var hasReloaded = false;\n\n    if ((this || _global)._mdf || _isFirstFrame) {\n      var copies = Math.ceil((this || _global).c.v);\n\n      if ((this || _global)._groups.length < copies) {\n        while ((this || _global)._groups.length < copies) {\n          var group = {\n            it: this.cloneElements((this || _global)._elements),\n            ty: \"gr\"\n          };\n          group.it.push({\n            a: {\n              a: 0,\n              ix: 1,\n              k: [0, 0]\n            },\n            nm: \"Transform\",\n            o: {\n              a: 0,\n              ix: 7,\n              k: 100\n            },\n            p: {\n              a: 0,\n              ix: 2,\n              k: [0, 0]\n            },\n            r: {\n              a: 1,\n              ix: 6,\n              k: [{\n                s: 0,\n                e: 0,\n                t: 0\n              }, {\n                s: 0,\n                e: 0,\n                t: 1\n              }]\n            },\n            s: {\n              a: 0,\n              ix: 3,\n              k: [100, 100]\n            },\n            sa: {\n              a: 0,\n              ix: 5,\n              k: 0\n            },\n            sk: {\n              a: 0,\n              ix: 4,\n              k: 0\n            },\n            ty: \"tr\"\n          });\n\n          (this || _global).arr.splice(0, 0, group);\n\n          (this || _global)._groups.splice(0, 0, group);\n\n          (this || _global)._currentCopies += 1;\n        }\n\n        (this || _global).elem.reloadShapes();\n\n        hasReloaded = true;\n      }\n\n      cont = 0;\n      var renderFlag;\n\n      for (i = 0; i <= (this || _global)._groups.length - 1; i += 1) {\n        renderFlag = cont < copies;\n        (this || _global)._groups[i]._render = renderFlag;\n        this.changeGroupRender((this || _global)._groups[i].it, renderFlag);\n\n        if (!renderFlag) {\n          var elems = (this || _global).elemsData[i].it;\n          var transformData = elems[elems.length - 1];\n\n          if (transformData.transform.op.v !== 0) {\n            transformData.transform.op._mdf = true;\n            transformData.transform.op.v = 0;\n          } else {\n            transformData.transform.op._mdf = false;\n          }\n        }\n\n        cont += 1;\n      }\n\n      (this || _global)._currentCopies = copies; /// /\n\n      var offset = (this || _global).o.v;\n      var offsetModulo = offset % 1;\n      var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n      var pProps = (this || _global).pMatrix.props;\n      var rProps = (this || _global).rMatrix.props;\n      var sProps = (this || _global).sMatrix.props;\n\n      (this || _global).pMatrix.reset();\n\n      (this || _global).rMatrix.reset();\n\n      (this || _global).sMatrix.reset();\n\n      (this || _global).tMatrix.reset();\n\n      (this || _global).matrix.reset();\n\n      var iteration = 0;\n\n      if (offset > 0) {\n        while (iteration < roundOffset) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, false);\n          iteration += 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, offsetModulo, false);\n          iteration += offsetModulo;\n        }\n      } else if (offset < 0) {\n        while (iteration > roundOffset) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, true);\n          iteration -= 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, -offsetModulo, true);\n          iteration -= offsetModulo;\n        }\n      }\n\n      i = (this || _global).data.m === 1 ? 0 : (this || _global)._currentCopies - 1;\n      dir = (this || _global).data.m === 1 ? 1 : -1;\n      cont = (this || _global)._currentCopies;\n      var j;\n      var jLen;\n\n      while (cont) {\n        items = (this || _global).elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        jLen = itemsTransform.length;\n        items[items.length - 1].transform.mProps._mdf = true;\n        items[items.length - 1].transform.op._mdf = true;\n        items[items.length - 1].transform.op.v = (this || _global)._currentCopies === 1 ? (this || _global).so.v : (this || _global).so.v + ((this || _global).eo.v - (this || _global).so.v) * (i / ((this || _global)._currentCopies - 1));\n\n        if (iteration !== 0) {\n          if (i !== 0 && dir === 1 || i !== (this || _global)._currentCopies - 1 && dir === -1) {\n            this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, false);\n          }\n\n          (this || _global).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]);\n\n          (this || _global).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]);\n\n          (this || _global).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]);\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = (this || _global).matrix.props[j];\n          }\n\n          (this || _global).matrix.reset();\n        } else {\n          (this || _global).matrix.reset();\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = (this || _global).matrix.props[j];\n          }\n        }\n\n        iteration += 1;\n        cont -= 1;\n        i += dir;\n      }\n    } else {\n      cont = (this || _global)._currentCopies;\n      i = 0;\n      dir = 1;\n\n      while (cont) {\n        items = (this || _global).elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        items[items.length - 1].transform.mProps._mdf = false;\n        items[items.length - 1].transform.op._mdf = false;\n        cont -= 1;\n        i += dir;\n      }\n    }\n\n    return hasReloaded;\n  };\n\n  RepeaterModifier.prototype.addShape = function () {};\n\n  ShapeModifiers.registerModifier(\"rp\", RepeaterModifier);\n  /* global createSizedArray, shapePool */\n\n  function ShapeCollection() {\n    (this || _global)._length = 0;\n    (this || _global)._maxLength = 4;\n    (this || _global).shapes = createSizedArray((this || _global)._maxLength);\n  }\n\n  ShapeCollection.prototype.addShape = function (shapeData) {\n    if ((this || _global)._length === (this || _global)._maxLength) {\n      (this || _global).shapes = (this || _global).shapes.concat(createSizedArray((this || _global)._maxLength));\n      (this || _global)._maxLength *= 2;\n    }\n\n    (this || _global).shapes[(this || _global)._length] = shapeData;\n    (this || _global)._length += 1;\n  };\n\n  ShapeCollection.prototype.releaseShapes = function () {\n    var i;\n\n    for (i = 0; i < (this || _global)._length; i += 1) {\n      shapePool.release((this || _global).shapes[i]);\n    }\n\n    (this || _global)._length = 0;\n  };\n  /* global createSizedArray, createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n\n  function DashProperty(elem, data, renderer, container) {\n    (this || _global).elem = elem;\n    (this || _global).frameId = -1;\n    (this || _global).dataProps = createSizedArray(data.length);\n    (this || _global).renderer = renderer;\n    (this || _global).k = false;\n    (this || _global).dashStr = \"\";\n    (this || _global).dashArray = createTypedArray(\"float32\", data.length ? data.length - 1 : 0);\n    (this || _global).dashoffset = createTypedArray(\"float32\", 1);\n    this.initDynamicPropertyContainer(container);\n    var i;\n    var len = data.length || 0;\n    var prop;\n\n    for (i = 0; i < len; i += 1) {\n      prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this || _global);\n      (this || _global).k = prop.k || (this || _global).k;\n      (this || _global).dataProps[i] = {\n        n: data[i].n,\n        p: prop\n      };\n    }\n\n    if (!(this || _global).k) {\n      this.getValue(true);\n    }\n\n    (this || _global)._isAnimated = (this || _global).k;\n  }\n\n  DashProperty.prototype.getValue = function (forceRender) {\n    if ((this || _global).elem.globalData.frameId === (this || _global).frameId && !forceRender) {\n      return;\n    }\n\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    this.iterateDynamicProperties();\n    (this || _global)._mdf = (this || _global)._mdf || forceRender;\n\n    if ((this || _global)._mdf) {\n      var i = 0;\n      var len = (this || _global).dataProps.length;\n\n      if ((this || _global).renderer === \"svg\") {\n        (this || _global).dashStr = \"\";\n      }\n\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).dataProps[i].n !== \"o\") {\n          if ((this || _global).renderer === \"svg\") {\n            (this || _global).dashStr += \" \" + (this || _global).dataProps[i].p.v;\n          } else {\n            (this || _global).dashArray[i] = (this || _global).dataProps[i].p.v;\n          }\n        } else {\n          (this || _global).dashoffset[0] = (this || _global).dataProps[i].p.v;\n        }\n      }\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], DashProperty);\n  /* global createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  function GradientProperty(elem, data, container) {\n    (this || _global).data = data;\n    (this || _global).c = createTypedArray(\"uint8c\", data.p * 4);\n    var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n    (this || _global).o = createTypedArray(\"float32\", cLength);\n    (this || _global)._cmdf = false;\n    (this || _global)._omdf = false;\n    (this || _global)._collapsable = this.checkCollapsable();\n    (this || _global)._hasOpacity = cLength;\n    this.initDynamicPropertyContainer(container);\n    (this || _global).prop = PropertyFactory.getProp(elem, data.k, 1, null, this || _global);\n    (this || _global).k = (this || _global).prop.k;\n    this.getValue(true);\n  }\n\n  GradientProperty.prototype.comparePoints = function (values, points) {\n    var i = 0;\n    var len = (this || _global).o.length / 2;\n    var diff;\n\n    while (i < len) {\n      diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n      if (diff > 0.01) {\n        return false;\n      }\n\n      i += 1;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.checkCollapsable = function () {\n    if ((this || _global).o.length / 2 !== (this || _global).c.length / 4) {\n      return false;\n    }\n\n    if ((this || _global).data.k.k[0].s) {\n      var i = 0;\n      var len = (this || _global).data.k.k.length;\n\n      while (i < len) {\n        if (!this.comparePoints((this || _global).data.k.k[i].s, (this || _global).data.p)) {\n          return false;\n        }\n\n        i += 1;\n      }\n    } else if (!this.comparePoints((this || _global).data.k.k, (this || _global).data.p)) {\n      return false;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.getValue = function (forceRender) {\n    (this || _global).prop.getValue();\n\n    (this || _global)._mdf = false;\n    (this || _global)._cmdf = false;\n    (this || _global)._omdf = false;\n\n    if ((this || _global).prop._mdf || forceRender) {\n      var i;\n      var len = (this || _global).data.p * 4;\n      var mult;\n      var val;\n\n      for (i = 0; i < len; i += 1) {\n        mult = i % 4 === 0 ? 100 : 255;\n        val = Math.round((this || _global).prop.v[i] * mult);\n\n        if ((this || _global).c[i] !== val) {\n          (this || _global).c[i] = val;\n          (this || _global)._cmdf = !forceRender;\n        }\n      }\n\n      if ((this || _global).o.length) {\n        len = (this || _global).prop.v.length;\n\n        for (i = (this || _global).data.p * 4; i < len; i += 1) {\n          mult = i % 2 === 0 ? 100 : 1;\n          val = i % 2 === 0 ? Math.round((this || _global).prop.v[i] * 100) : (this || _global).prop.v[i];\n\n          if ((this || _global).o[i - (this || _global).data.p * 4] !== val) {\n            (this || _global).o[i - (this || _global).data.p * 4] = val;\n            (this || _global)._omdf = !forceRender;\n          }\n        }\n      }\n\n      (this || _global)._mdf = !forceRender;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], GradientProperty);\n  /* exported buildShapeString */\n\n  var buildShapeString = function (pathNodes, length, closed, mat) {\n    if (length === 0) {\n      return \"\";\n    }\n\n    var _o = pathNodes.o;\n    var _i = pathNodes.i;\n    var _v = pathNodes.v;\n    var i;\n    var shapeString = \" M\" + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n    for (i = 1; i < length; i += 1) {\n      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]);\n    }\n\n    if (closed && length) {\n      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]);\n      shapeString += \"z\";\n    }\n\n    return shapeString;\n  };\n  /* global Howl */\n\n  /* exported audioControllerFactory */\n\n\n  var audioControllerFactory = function () {\n    function AudioController(audioFactory) {\n      (this || _global).audios = [];\n      (this || _global).audioFactory = audioFactory;\n      (this || _global)._volume = 1;\n      (this || _global)._isMuted = false;\n    }\n\n    AudioController.prototype = {\n      addAudio: function (audio) {\n        (this || _global).audios.push(audio);\n      },\n      pause: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].pause();\n        }\n      },\n      resume: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].resume();\n        }\n      },\n      setRate: function (rateValue) {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].setRate(rateValue);\n        }\n      },\n      createAudio: function (assetPath) {\n        if ((this || _global).audioFactory) {\n          return this.audioFactory(assetPath);\n        }\n\n        if (Howl) {\n          return new Howl({\n            src: [assetPath]\n          });\n        }\n\n        return {\n          isPlaying: false,\n          play: function () {\n            (this || _global).isPlaying = true;\n          },\n          seek: function () {\n            (this || _global).isPlaying = false;\n          },\n          playing: function () {},\n          rate: function () {},\n          setVolume: function () {}\n        };\n      },\n      setAudioFactory: function (audioFactory) {\n        (this || _global).audioFactory = audioFactory;\n      },\n      setVolume: function (value) {\n        (this || _global)._volume = value;\n\n        this._updateVolume();\n      },\n      mute: function () {\n        (this || _global)._isMuted = true;\n\n        this._updateVolume();\n      },\n      unmute: function () {\n        (this || _global)._isMuted = false;\n\n        this._updateVolume();\n      },\n      getVolume: function () {\n        return (this || _global)._volume;\n      },\n      _updateVolume: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].volume((this || _global)._volume * ((this || _global)._isMuted ? 0 : 1));\n        }\n      }\n    };\n    return function () {\n      return new AudioController();\n    };\n  }();\n  /* global createTag, createNS, isSafari, assetLoader */\n\n  /* exported ImagePreloader */\n\n\n  var ImagePreloader = function () {\n    var proxyImage = function () {\n      var canvas = createTag(\"canvas\");\n      canvas.width = 1;\n      canvas.height = 1;\n      var ctx = canvas.getContext(\"2d\");\n      ctx.fillStyle = \"rgba(0,0,0,0)\";\n      ctx.fillRect(0, 0, 1, 1);\n      return canvas;\n    }();\n\n    function imageLoaded() {\n      (this || _global).loadedAssets += 1;\n\n      if ((this || _global).loadedAssets === (this || _global).totalImages && (this || _global).loadedFootagesCount === (this || _global).totalFootages) {\n        if ((this || _global).imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function footageLoaded() {\n      (this || _global).loadedFootagesCount += 1;\n\n      if ((this || _global).loadedAssets === (this || _global).totalImages && (this || _global).loadedFootagesCount === (this || _global).totalFootages) {\n        if ((this || _global).imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function getAssetsPath(assetData, assetsPath, originalPath) {\n      var path = \"\";\n\n      if (assetData.e) {\n        path = assetData.p;\n      } else if (assetsPath) {\n        var imagePath = assetData.p;\n\n        if (imagePath.indexOf(\"images/\") !== -1) {\n          imagePath = imagePath.split(\"/\")[1];\n        }\n\n        path = assetsPath + imagePath;\n      } else {\n        path = originalPath;\n        path += assetData.u ? assetData.u : \"\";\n        path += assetData.p;\n      }\n\n      return path;\n    }\n\n    function testImageLoaded(img) {\n      var _count = 0;\n      var intervalId = setInterval(function () {\n        var box = img.getBBox();\n\n        if (box.width || _count > 500) {\n          this._imageLoaded();\n\n          clearInterval(intervalId);\n        }\n\n        _count += 1;\n      }.bind(this || _global), 50);\n    }\n\n    function createImageData(assetData) {\n      var path = getAssetsPath(assetData, (this || _global).assetsPath, (this || _global).path);\n      var img = createNS(\"image\");\n\n      if (isSafari) {\n        this.testImageLoaded(img);\n      } else {\n        img.addEventListener(\"load\", (this || _global)._imageLoaded, false);\n      }\n\n      img.addEventListener(\"error\", function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this || _global), false);\n      img.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", path);\n\n      if ((this || _global)._elementHelper.append) {\n        (this || _global)._elementHelper.append(img);\n      } else {\n        (this || _global)._elementHelper.appendChild(img);\n      }\n\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createImgData(assetData) {\n      var path = getAssetsPath(assetData, (this || _global).assetsPath, (this || _global).path);\n      var img = createTag(\"img\");\n      img.crossOrigin = \"anonymous\";\n      img.addEventListener(\"load\", (this || _global)._imageLoaded, false);\n      img.addEventListener(\"error\", function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this || _global), false);\n      img.src = path;\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createFootageData(data) {\n      var ob = {\n        assetData: data\n      };\n      var path = getAssetsPath(data, (this || _global).assetsPath, (this || _global).path);\n      assetLoader.load(path, function (footageData) {\n        ob.img = footageData;\n\n        this._footageLoaded();\n      }.bind(this || _global), function () {\n        ob.img = {};\n\n        this._footageLoaded();\n      }.bind(this || _global));\n      return ob;\n    }\n\n    function loadAssets(assets, cb) {\n      (this || _global).imagesLoadedCb = cb;\n      var i;\n      var len = assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (!assets[i].layers) {\n          if (!assets[i].t) {\n            (this || _global).totalImages += 1;\n\n            (this || _global).images.push(this._createImageData(assets[i]));\n          } else if (assets[i].t === 3) {\n            (this || _global).totalFootages += 1;\n\n            (this || _global).images.push(this.createFootageData(assets[i]));\n          }\n        }\n      }\n    }\n\n    function setPath(path) {\n      (this || _global).path = path || \"\";\n    }\n\n    function setAssetsPath(path) {\n      (this || _global).assetsPath = path || \"\";\n    }\n\n    function getAsset(assetData) {\n      var i = 0;\n      var len = (this || _global).images.length;\n\n      while (i < len) {\n        if ((this || _global).images[i].assetData === assetData) {\n          return (this || _global).images[i].img;\n        }\n\n        i += 1;\n      }\n\n      return null;\n    }\n\n    function destroy() {\n      (this || _global).imagesLoadedCb = null;\n      (this || _global).images.length = 0;\n    }\n\n    function loadedImages() {\n      return (this || _global).totalImages === (this || _global).loadedAssets;\n    }\n\n    function loadedFootages() {\n      return (this || _global).totalFootages === (this || _global).loadedFootagesCount;\n    }\n\n    function setCacheType(type, elementHelper) {\n      if (type === \"svg\") {\n        (this || _global)._elementHelper = elementHelper;\n        (this || _global)._createImageData = (this || _global).createImageData.bind(this || _global);\n      } else {\n        (this || _global)._createImageData = (this || _global).createImgData.bind(this || _global);\n      }\n    }\n\n    function ImagePreloaderFactory() {\n      (this || _global)._imageLoaded = imageLoaded.bind(this || _global);\n      (this || _global)._footageLoaded = footageLoaded.bind(this || _global);\n      (this || _global).testImageLoaded = testImageLoaded.bind(this || _global);\n      (this || _global).createFootageData = createFootageData.bind(this || _global);\n      (this || _global).assetsPath = \"\";\n      (this || _global).path = \"\";\n      (this || _global).totalImages = 0;\n      (this || _global).totalFootages = 0;\n      (this || _global).loadedAssets = 0;\n      (this || _global).loadedFootagesCount = 0;\n      (this || _global).imagesLoadedCb = null;\n      (this || _global).images = [];\n    }\n\n    ImagePreloaderFactory.prototype = {\n      loadAssets: loadAssets,\n      setAssetsPath: setAssetsPath,\n      setPath: setPath,\n      loadedImages: loadedImages,\n      loadedFootages: loadedFootages,\n      destroy: destroy,\n      getAsset: getAsset,\n      createImgData: createImgData,\n      createImageData: createImageData,\n      imageLoaded: imageLoaded,\n      footageLoaded: footageLoaded,\n      setCacheType: setCacheType\n    };\n    return ImagePreloaderFactory;\n  }();\n  /* exported featureSupport */\n\n\n  var featureSupport = function () {\n    var ob = {\n      maskType: true\n    };\n\n    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)) {\n      ob.maskType = false;\n    }\n\n    return ob;\n  }();\n  /* global createNS */\n\n  /* exported filtersFactory */\n\n\n  var filtersFactory = function () {\n    var ob = {};\n    ob.createFilter = createFilter;\n    ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n    function createFilter(filId, skipCoordinates) {\n      var fil = createNS(\"filter\");\n      fil.setAttribute(\"id\", filId);\n\n      if (skipCoordinates !== true) {\n        fil.setAttribute(\"filterUnits\", \"objectBoundingBox\");\n        fil.setAttribute(\"x\", \"0%\");\n        fil.setAttribute(\"y\", \"0%\");\n        fil.setAttribute(\"width\", \"100%\");\n        fil.setAttribute(\"height\", \"100%\");\n      }\n\n      return fil;\n    }\n\n    function createAlphaToLuminanceFilter() {\n      var feColorMatrix = createNS(\"feColorMatrix\");\n      feColorMatrix.setAttribute(\"type\", \"matrix\");\n      feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      feColorMatrix.setAttribute(\"values\", \"0 0 0 1 0  0 0 0 1 0  0 0 0 1 0  0 0 0 1 1\");\n      return feColorMatrix;\n    }\n\n    return ob;\n  }();\n  /* exported assetLoader */\n\n\n  var assetLoader = function () {\n    function formatResponse(xhr) {\n      if (xhr.response && typeof xhr.response === \"object\") {\n        return xhr.response;\n      }\n\n      if (xhr.response && typeof xhr.response === \"string\") {\n        return JSON.parse(xhr.response);\n      }\n\n      if (xhr.responseText) {\n        return JSON.parse(xhr.responseText);\n      }\n\n      return null;\n    }\n\n    function loadAsset(path, callback, errorCallback) {\n      var response;\n      var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n      try {\n        // This crashes on Android WebView prior to KitKat\n        xhr.responseType = \"json\";\n      } catch (err) {} // eslint-disable-line no-empty\n\n\n      xhr.onreadystatechange = function () {\n        if (xhr.readyState === 4) {\n          if (xhr.status === 200) {\n            response = formatResponse(xhr);\n            callback(response);\n          } else {\n            try {\n              response = formatResponse(xhr);\n              callback(response);\n            } catch (err) {\n              if (errorCallback) {\n                errorCallback(err);\n              }\n            }\n          }\n        }\n      };\n\n      xhr.open(\"GET\", path, true);\n      xhr.send();\n    }\n\n    return {\n      load: loadAsset\n    };\n  }();\n  /* global createSizedArray, PropertyFactory, TextAnimatorDataProperty, bez, addHueToRGB,\r\n    addSaturationToRGB, addBrightnessToRGB, LetterProps, Matrix, extendPrototype, DynamicPropertyContainer */\n\n\n  function TextAnimatorProperty(textData, renderType, elem) {\n    (this || _global)._isFirstFrame = true;\n    (this || _global)._hasMaskedPath = false;\n    (this || _global)._frameId = -1;\n    (this || _global)._textData = textData;\n    (this || _global)._renderType = renderType;\n    (this || _global)._elem = elem;\n    (this || _global)._animatorsData = createSizedArray((this || _global)._textData.a.length);\n    (this || _global)._pathData = {};\n    (this || _global)._moreOptions = {\n      alignment: {}\n    };\n    (this || _global).renderedLetters = [];\n    (this || _global).lettersChangedFlag = false;\n    this.initDynamicPropertyContainer(elem);\n  }\n\n  TextAnimatorProperty.prototype.searchProperties = function () {\n    var i;\n    var len = (this || _global)._textData.a.length;\n    var animatorProps;\n    var getProp = PropertyFactory.getProp;\n\n    for (i = 0; i < len; i += 1) {\n      animatorProps = (this || _global)._textData.a[i];\n      (this || _global)._animatorsData[i] = new TextAnimatorDataProperty((this || _global)._elem, animatorProps, this || _global);\n    }\n\n    if ((this || _global)._textData.p && \"m\" in (this || _global)._textData.p) {\n      (this || _global)._pathData = {\n        f: getProp((this || _global)._elem, (this || _global)._textData.p.f, 0, 0, this || _global),\n        l: getProp((this || _global)._elem, (this || _global)._textData.p.l, 0, 0, this || _global),\n        r: (this || _global)._textData.p.r,\n        m: (this || _global)._elem.maskManager.getMaskProperty((this || _global)._textData.p.m)\n      };\n      (this || _global)._hasMaskedPath = true;\n    } else {\n      (this || _global)._hasMaskedPath = false;\n    }\n\n    (this || _global)._moreOptions.alignment = getProp((this || _global)._elem, (this || _global)._textData.m.a, 1, 0, this || _global);\n  };\n\n  TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n    (this || _global).lettersChangedFlag = lettersChangedFlag;\n\n    if (!(this || _global)._mdf && !(this || _global)._isFirstFrame && !lettersChangedFlag && (!(this || _global)._hasMaskedPath || !(this || _global)._pathData.m._mdf)) {\n      return;\n    }\n\n    (this || _global)._isFirstFrame = false;\n    var alignment = (this || _global)._moreOptions.alignment.v;\n    var animators = (this || _global)._animatorsData;\n    var textData = (this || _global)._textData;\n    var matrixHelper = (this || _global).mHelper;\n    var renderType = (this || _global)._renderType;\n    var renderedLettersCount = (this || _global).renderedLetters.length;\n    var xPos;\n    var yPos;\n    var i;\n    var len;\n    var letters = documentData.l;\n    var pathInfo;\n    var currentLength;\n    var currentPoint;\n    var segmentLength;\n    var flag;\n    var pointInd;\n    var segmentInd;\n    var prevPoint;\n    var points;\n    var segments;\n    var partialLength;\n    var totalLength;\n    var perc;\n    var tanAngle;\n    var mask;\n\n    if ((this || _global)._hasMaskedPath) {\n      mask = (this || _global)._pathData.m;\n\n      if (!(this || _global)._pathData.n || (this || _global)._pathData._mdf) {\n        var paths = mask.v;\n\n        if ((this || _global)._pathData.r) {\n          paths = paths.reverse();\n        } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n        pathInfo = {\n          tLength: 0,\n          segments: []\n        };\n        len = paths._length - 1;\n        var bezierData;\n        totalLength = 0;\n\n        for (i = 0; i < len; i += 1) {\n          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]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        i = len;\n\n        if (mask.v.c) {\n          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]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        (this || _global)._pathData.pi = pathInfo;\n      }\n\n      pathInfo = (this || _global)._pathData.pi;\n      currentLength = (this || _global)._pathData.f.v;\n      segmentInd = 0;\n      pointInd = 1;\n      segmentLength = 0;\n      flag = true;\n      segments = pathInfo.segments;\n\n      if (currentLength < 0 && mask.v.c) {\n        if (pathInfo.tLength < Math.abs(currentLength)) {\n          currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n        }\n\n        segmentInd = segments.length - 1;\n        points = segments[segmentInd].points;\n        pointInd = points.length - 1;\n\n        while (currentLength < 0) {\n          currentLength += points[pointInd].partialLength;\n          pointInd -= 1;\n\n          if (pointInd < 0) {\n            segmentInd -= 1;\n            points = segments[segmentInd].points;\n            pointInd = points.length - 1;\n          }\n        }\n      }\n\n      points = segments[segmentInd].points;\n      prevPoint = points[pointInd - 1];\n      currentPoint = points[pointInd];\n      partialLength = currentPoint.partialLength;\n    }\n\n    len = letters.length;\n    xPos = 0;\n    yPos = 0;\n    var yOff = documentData.finalSize * 1.2 * 0.714;\n    var firstLine = true;\n    var animatorProps;\n    var animatorSelector;\n    var j;\n    var jLen;\n    var letterValue;\n    jLen = animators.length;\n    var mult;\n    var ind = -1;\n    var offf;\n    var xPathPos;\n    var yPathPos;\n    var initPathPos = currentLength;\n    var initSegmentInd = segmentInd;\n    var initPointInd = pointInd;\n    var currentLine = -1;\n    var elemOpacity;\n    var sc;\n    var sw;\n    var fc;\n    var k;\n    var letterSw;\n    var letterSc;\n    var letterFc;\n    var letterM = \"\";\n    var letterP = (this || _global).defaultPropsArray;\n    var letterO; //\n\n    if (documentData.j === 2 || documentData.j === 1) {\n      var animatorJustifyOffset = 0;\n      var animatorFirstCharOffset = 0;\n      var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n      var lastIndex = 0;\n      var isNewLine = true;\n\n      for (i = 0; i < len; i += 1) {\n        if (letters[i].n) {\n          if (animatorJustifyOffset) {\n            animatorJustifyOffset += animatorFirstCharOffset;\n          }\n\n          while (lastIndex < i) {\n            letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n            lastIndex += 1;\n          }\n\n          animatorJustifyOffset = 0;\n          isNewLine = true;\n        } else {\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.t.propType) {\n              if (isNewLine && documentData.j === 2) {\n                animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n              }\n\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n              } else {\n                animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n              }\n            }\n          }\n\n          isNewLine = false;\n        }\n      }\n\n      if (animatorJustifyOffset) {\n        animatorJustifyOffset += animatorFirstCharOffset;\n      }\n\n      while (lastIndex < i) {\n        letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n        lastIndex += 1;\n      }\n    } //\n\n\n    for (i = 0; i < len; i += 1) {\n      matrixHelper.reset();\n      elemOpacity = 1;\n\n      if (letters[i].n) {\n        xPos = 0;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        currentLength = initPathPos;\n        firstLine = false;\n\n        if ((this || _global)._hasMaskedPath) {\n          segmentInd = initSegmentInd;\n          pointInd = initPointInd;\n          points = segments[segmentInd].points;\n          prevPoint = points[pointInd - 1];\n          currentPoint = points[pointInd];\n          partialLength = currentPoint.partialLength;\n          segmentLength = 0;\n        }\n\n        letterM = \"\";\n        letterFc = \"\";\n        letterSw = \"\";\n        letterO = \"\";\n        letterP = (this || _global).defaultPropsArray;\n      } else {\n        if ((this || _global)._hasMaskedPath) {\n          if (currentLine !== letters[i].line) {\n            switch (documentData.j) {\n              case 1:\n                currentLength += totalLength - documentData.lineWidths[letters[i].line];\n                break;\n\n              case 2:\n                currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n                break;\n\n              default:\n                break;\n            }\n\n            currentLine = letters[i].line;\n          }\n\n          if (ind !== letters[i].ind) {\n            if (letters[ind]) {\n              currentLength += letters[ind].extra;\n            }\n\n            currentLength += letters[i].an / 2;\n            ind = letters[i].ind;\n          }\n\n          currentLength += alignment[0] * letters[i].an * 0.005;\n          var animatorOffset = 0;\n\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.p.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.p.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.p.v[0] * mult;\n              }\n            }\n\n            if (animatorProps.a.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.a.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.a.v[0] * mult;\n              }\n            }\n          }\n\n          flag = true;\n\n          while (flag) {\n            if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n              perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n              xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n              yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n              matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n              flag = false;\n            } else if (points) {\n              segmentLength += currentPoint.partialLength;\n              pointInd += 1;\n\n              if (pointInd >= points.length) {\n                pointInd = 0;\n                segmentInd += 1;\n\n                if (!segments[segmentInd]) {\n                  if (mask.v.c) {\n                    pointInd = 0;\n                    segmentInd = 0;\n                    points = segments[segmentInd].points;\n                  } else {\n                    segmentLength -= currentPoint.partialLength;\n                    points = null;\n                  }\n                } else {\n                  points = segments[segmentInd].points;\n                }\n              }\n\n              if (points) {\n                prevPoint = currentPoint;\n                currentPoint = points[pointInd];\n                partialLength = currentPoint.partialLength;\n              }\n            }\n          }\n\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0);\n        } else {\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n          matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.t.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n            if (xPos !== 0 || documentData.j !== 0) {\n              if ((this || _global)._hasMaskedPath) {\n                if (mult.length) {\n                  currentLength += animatorProps.t.v * mult[0];\n                } else {\n                  currentLength += animatorProps.t.v * mult;\n                }\n              } else if (mult.length) {\n                xPos += animatorProps.t.v * mult[0];\n              } else {\n                xPos += animatorProps.t.v * mult;\n              }\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          sw = documentData.sw || 0;\n        }\n\n        if (documentData.strokeColorAnim) {\n          if (documentData.sc) {\n            sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n          } else {\n            sc = [0, 0, 0];\n          }\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.a.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.s.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n            } else {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n          animatorSelector = animators[j].s;\n          mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n          if (animatorProps.sk.propType) {\n            if (mult.length) {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n            } else {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n            }\n          }\n\n          if (animatorProps.r.propType) {\n            if (mult.length) {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n            } else {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult);\n            }\n          }\n\n          if (animatorProps.ry.propType) {\n            if (mult.length) {\n              matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n            } else {\n              matrixHelper.rotateY(animatorProps.ry.v * mult);\n            }\n          }\n\n          if (animatorProps.rx.propType) {\n            if (mult.length) {\n              matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n            } else {\n              matrixHelper.rotateX(animatorProps.rx.v * mult);\n            }\n          }\n\n          if (animatorProps.o.propType) {\n            if (mult.length) {\n              elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n            } else {\n              elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n            }\n          }\n\n          if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n            if (mult.length) {\n              sw += animatorProps.sw.v * mult[0];\n            } else {\n              sw += animatorProps.sw.v * mult;\n            }\n          }\n\n          if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n            for (k = 0; k < 3; k += 1) {\n              if (mult.length) {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n              } else {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n              }\n            }\n          }\n\n          if (documentData.fillColorAnim && documentData.fc) {\n            if (animatorProps.fc.propType) {\n              for (k = 0; k < 3; k += 1) {\n                if (mult.length) {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n                } else {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n                }\n              }\n            }\n\n            if (animatorProps.fh.propType) {\n              if (mult.length) {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n              } else {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n              }\n            }\n\n            if (animatorProps.fs.propType) {\n              if (mult.length) {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n              } else {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n              }\n            }\n\n            if (animatorProps.fb.propType) {\n              if (mult.length) {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n              } else {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n              }\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.p.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if ((this || _global)._hasMaskedPath) {\n              if (mult.length) {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n              } else {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n              }\n            } else if (mult.length) {\n              matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          letterSw = sw < 0 ? 0 : sw;\n        }\n\n        if (documentData.strokeColorAnim) {\n          letterSc = \"rgb(\" + Math.round(sc[0] * 255) + \",\" + Math.round(sc[1] * 255) + \",\" + Math.round(sc[2] * 255) + \")\";\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          letterFc = \"rgb(\" + Math.round(fc[0] * 255) + \",\" + Math.round(fc[1] * 255) + \",\" + Math.round(fc[2] * 255) + \")\";\n        }\n\n        if ((this || _global)._hasMaskedPath) {\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n          if (textData.p.p) {\n            tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n            var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n            if (currentPoint.point[0] < prevPoint.point[0]) {\n              rot += 180;\n            }\n\n            matrixHelper.rotate(-rot * Math.PI / 180);\n          }\n\n          matrixHelper.translate(xPathPos, yPathPos, 0);\n          currentLength -= alignment[0] * letters[i].an * 0.005;\n\n          if (letters[i + 1] && ind !== letters[i + 1].ind) {\n            currentLength += letters[i].an / 2;\n            currentLength += documentData.tr * 0.001 * documentData.finalSize;\n          }\n        } else {\n          matrixHelper.translate(xPos, yPos, 0);\n\n          if (documentData.ps) {\n            // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n            matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n          }\n\n          switch (documentData.j) {\n            case 1:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n              break;\n\n            case 2:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n              break;\n\n            default:\n              break;\n          }\n\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(offf, 0, 0);\n          matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n          xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n        }\n\n        if (renderType === \"html\") {\n          letterM = matrixHelper.toCSS();\n        } else if (renderType === \"svg\") {\n          letterM = matrixHelper.to2dCSS();\n        } else {\n          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]];\n        }\n\n        letterO = elemOpacity;\n      }\n\n      if (renderedLettersCount <= i) {\n        letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n\n        (this || _global).renderedLetters.push(letterValue);\n\n        renderedLettersCount += 1;\n        (this || _global).lettersChangedFlag = true;\n      } else {\n        letterValue = (this || _global).renderedLetters[i];\n        (this || _global).lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || (this || _global).lettersChangedFlag;\n      }\n    }\n  };\n\n  TextAnimatorProperty.prototype.getValue = function () {\n    if ((this || _global)._elem.globalData.frameId === (this || _global)._frameId) {\n      return;\n    }\n\n    (this || _global)._frameId = (this || _global)._elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  TextAnimatorProperty.prototype.mHelper = new Matrix();\n  TextAnimatorProperty.prototype.defaultPropsArray = [];\n  extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n  /* global PropertyFactory, degToRads, TextSelectorProp */\n\n  /* exported TextAnimatorDataProperty */\n\n  function TextAnimatorDataProperty(elem, animatorProps, container) {\n    var defaultData = {\n      propType: false\n    };\n    var getProp = PropertyFactory.getProp;\n    var textAnimatorAnimatables = animatorProps.a;\n    (this || _global).a = {\n      r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n      rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n      ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n      sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n      sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n      s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n      a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n      o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n      p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n      sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n      sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n      fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n      fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n      fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n      fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n      t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n    };\n    (this || _global).s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n    (this || _global).s.t = animatorProps.s.t;\n  }\n\n  function LetterProps(o, sw, sc, fc, m, p) {\n    (this || _global).o = o;\n    (this || _global).sw = sw;\n    (this || _global).sc = sc;\n    (this || _global).fc = fc;\n    (this || _global).m = m;\n    (this || _global).p = p;\n    (this || _global)._mdf = {\n      o: true,\n      sw: !!sw,\n      sc: !!sc,\n      fc: !!fc,\n      m: true,\n      p: true\n    };\n  }\n\n  LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n    (this || _global)._mdf.o = false;\n    (this || _global)._mdf.sw = false;\n    (this || _global)._mdf.sc = false;\n    (this || _global)._mdf.fc = false;\n    (this || _global)._mdf.m = false;\n    (this || _global)._mdf.p = false;\n    var updated = false;\n\n    if ((this || _global).o !== o) {\n      (this || _global).o = o;\n      (this || _global)._mdf.o = true;\n      updated = true;\n    }\n\n    if ((this || _global).sw !== sw) {\n      (this || _global).sw = sw;\n      (this || _global)._mdf.sw = true;\n      updated = true;\n    }\n\n    if ((this || _global).sc !== sc) {\n      (this || _global).sc = sc;\n      (this || _global)._mdf.sc = true;\n      updated = true;\n    }\n\n    if ((this || _global).fc !== fc) {\n      (this || _global).fc = fc;\n      (this || _global)._mdf.fc = true;\n      updated = true;\n    }\n\n    if ((this || _global).m !== m) {\n      (this || _global).m = m;\n      (this || _global)._mdf.m = true;\n      updated = true;\n    }\n\n    if (p.length && ((this || _global).p[0] !== p[0] || (this || _global).p[1] !== p[1] || (this || _global).p[4] !== p[4] || (this || _global).p[5] !== p[5] || (this || _global).p[12] !== p[12] || (this || _global).p[13] !== p[13])) {\n      (this || _global).p = p;\n      (this || _global)._mdf.p = true;\n      updated = true;\n    }\n\n    return updated;\n  };\n  /* global FontManager, initialDefaultFrame, getFontProperties */\n\n  /* exported TextProperty */\n\n\n  function TextProperty(elem, data) {\n    (this || _global)._frameId = initialDefaultFrame;\n    (this || _global).pv = \"\";\n    (this || _global).v = \"\";\n    (this || _global).kf = false;\n    (this || _global)._isFirstFrame = true;\n    (this || _global)._mdf = false;\n    (this || _global).data = data;\n    (this || _global).elem = elem;\n    (this || _global).comp = (this || _global).elem.comp;\n    (this || _global).keysIndex = 0;\n    (this || _global).canResize = false;\n    (this || _global).minimumFontSize = 1;\n    (this || _global).effectsSequence = [];\n    (this || _global).currentData = {\n      ascent: 0,\n      boxWidth: (this || _global).defaultBoxWidth,\n      f: \"\",\n      fStyle: \"\",\n      fWeight: \"\",\n      fc: \"\",\n      j: \"\",\n      justifyOffset: \"\",\n      l: [],\n      lh: 0,\n      lineWidths: [],\n      ls: \"\",\n      of: \"\",\n      s: \"\",\n      sc: \"\",\n      sw: 0,\n      t: 0,\n      tr: 0,\n      sz: 0,\n      ps: null,\n      fillColorAnim: false,\n      strokeColorAnim: false,\n      strokeWidthAnim: false,\n      yOffset: 0,\n      finalSize: 0,\n      finalText: [],\n      finalLineHeight: 0,\n      __complete: false\n    };\n    this.copyData((this || _global).currentData, (this || _global).data.d.k[0].s);\n\n    if (!this.searchProperty()) {\n      this.completeTextData((this || _global).currentData);\n    }\n  }\n\n  TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n  TextProperty.prototype.copyData = function (obj, data) {\n    for (var s in data) {\n      if (Object.prototype.hasOwnProperty.call(data, s)) {\n        obj[s] = data[s];\n      }\n    }\n\n    return obj;\n  };\n\n  TextProperty.prototype.setCurrentData = function (data) {\n    if (!data.__complete) {\n      this.completeTextData(data);\n    }\n\n    (this || _global).currentData = data;\n    (this || _global).currentData.boxWidth = (this || _global).currentData.boxWidth || (this || _global).defaultBoxWidth;\n    (this || _global)._mdf = true;\n  };\n\n  TextProperty.prototype.searchProperty = function () {\n    return this.searchKeyframes();\n  };\n\n  TextProperty.prototype.searchKeyframes = function () {\n    (this || _global).kf = (this || _global).data.d.k.length > 1;\n\n    if ((this || _global).kf) {\n      this.addEffect((this || _global).getKeyframeValue.bind(this || _global));\n    }\n\n    return (this || _global).kf;\n  };\n\n  TextProperty.prototype.addEffect = function (effectFunction) {\n    (this || _global).effectsSequence.push(effectFunction);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.getValue = function (_finalValue) {\n    if (((this || _global).elem.globalData.frameId === (this || _global).frameId || !(this || _global).effectsSequence.length) && !_finalValue) {\n      return;\n    }\n\n    (this || _global).currentData.t = (this || _global).data.d.k[(this || _global).keysIndex].s.t;\n    var currentValue = (this || _global).currentData;\n    var currentIndex = (this || _global).keysIndex;\n\n    if ((this || _global).lock) {\n      this.setCurrentData((this || _global).currentData);\n      return;\n    }\n\n    (this || _global).lock = true;\n    (this || _global)._mdf = false;\n    var i;\n    var len = (this || _global).effectsSequence.length;\n    var finalValue = _finalValue || (this || _global).data.d.k[(this || _global).keysIndex].s;\n\n    for (i = 0; i < len; i += 1) {\n      // Checking if index changed to prevent creating a new object every time the expression updates.\n      if (currentIndex !== (this || _global).keysIndex) {\n        finalValue = (this || _global).effectsSequence[i](finalValue, finalValue.t);\n      } else {\n        finalValue = (this || _global).effectsSequence[i]((this || _global).currentData, finalValue.t);\n      }\n    }\n\n    if (currentValue !== finalValue) {\n      this.setCurrentData(finalValue);\n    }\n\n    (this || _global).v = (this || _global).currentData;\n    (this || _global).pv = (this || _global).v;\n    (this || _global).lock = false;\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n  };\n\n  TextProperty.prototype.getKeyframeValue = function () {\n    var textKeys = (this || _global).data.d.k;\n    var frameNum = (this || _global).elem.comp.renderedFrame;\n    var i = 0;\n    var len = textKeys.length;\n\n    while (i <= len - 1) {\n      if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    if ((this || _global).keysIndex !== i) {\n      (this || _global).keysIndex = i;\n    }\n\n    return (this || _global).data.d.k[(this || _global).keysIndex].s;\n  };\n\n  TextProperty.prototype.buildFinalText = function (text) {\n    var combinedCharacters = FontManager.getCombinedCharacterCodes();\n    var charactersArray = [];\n    var i = 0;\n    var len = text.length;\n    var charCode;\n\n    while (i < len) {\n      charCode = text.charCodeAt(i);\n\n      if (combinedCharacters.indexOf(charCode) !== -1) {\n        charactersArray[charactersArray.length - 1] += text.charAt(i);\n      } else if (charCode >= 55296 && charCode <= 56319) {\n        charCode = text.charCodeAt(i + 1);\n\n        if (charCode >= 56320 && charCode <= 57343) {\n          charactersArray.push(text.substr(i, 2));\n          i += 1;\n        } else {\n          charactersArray.push(text.charAt(i));\n        }\n      } else {\n        charactersArray.push(text.charAt(i));\n      }\n\n      i += 1;\n    }\n\n    return charactersArray;\n  };\n\n  TextProperty.prototype.completeTextData = function (documentData) {\n    documentData.__complete = true;\n    var fontManager = (this || _global).elem.globalData.fontManager;\n    var data = (this || _global).data;\n    var letters = [];\n    var i;\n    var len;\n    var newLineFlag;\n    var index = 0;\n    var val;\n    var anchorGrouping = data.m.g;\n    var currentSize = 0;\n    var currentPos = 0;\n    var currentLine = 0;\n    var lineWidths = [];\n    var lineWidth = 0;\n    var maxLineWidth = 0;\n    var j;\n    var jLen;\n    var fontData = fontManager.getFontByName(documentData.f);\n    var charData;\n    var cLength = 0;\n    var fontProps = getFontProperties(fontData);\n    documentData.fWeight = fontProps.weight;\n    documentData.fStyle = fontProps.style;\n    documentData.finalSize = documentData.s;\n    documentData.finalText = this.buildFinalText(documentData.t);\n    len = documentData.finalText.length;\n    documentData.finalLineHeight = documentData.lh;\n    var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n    var charCode;\n\n    if (documentData.sz) {\n      var flag = true;\n      var boxWidth = documentData.sz[0];\n      var boxHeight = documentData.sz[1];\n      var currentHeight;\n      var finalText;\n\n      while (flag) {\n        finalText = this.buildFinalText(documentData.t);\n        currentHeight = 0;\n        lineWidth = 0;\n        len = finalText.length;\n        trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n        var lastSpaceIndex = -1;\n\n        for (i = 0; i < len; i += 1) {\n          charCode = finalText[i].charCodeAt(0);\n          newLineFlag = false;\n\n          if (finalText[i] === \" \") {\n            lastSpaceIndex = i;\n          } else if (charCode === 13 || charCode === 3) {\n            lineWidth = 0;\n            newLineFlag = true;\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n          }\n\n          if (fontManager.chars) {\n            charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n            cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n          } else {\n            // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n            cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n          }\n\n          if (lineWidth + cLength > boxWidth && finalText[i] !== \" \") {\n            if (lastSpaceIndex === -1) {\n              len += 1;\n            } else {\n              i = lastSpaceIndex;\n            }\n\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n            finalText.splice(i, lastSpaceIndex === i ? 1 : 0, \"\\r\"); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n            lastSpaceIndex = -1;\n            lineWidth = 0;\n          } else {\n            lineWidth += cLength;\n            lineWidth += trackingOffset;\n          }\n        }\n\n        currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n        if ((this || _global).canResize && documentData.finalSize > (this || _global).minimumFontSize && boxHeight < currentHeight) {\n          documentData.finalSize -= 1;\n          documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n        } else {\n          documentData.finalText = finalText;\n          len = documentData.finalText.length;\n          flag = false;\n        }\n      }\n    }\n\n    lineWidth = -trackingOffset;\n    cLength = 0;\n    var uncollapsedSpaces = 0;\n    var currentChar;\n\n    for (i = 0; i < len; i += 1) {\n      newLineFlag = false;\n      currentChar = documentData.finalText[i];\n      charCode = currentChar.charCodeAt(0);\n\n      if (charCode === 13 || charCode === 3) {\n        uncollapsedSpaces = 0;\n        lineWidths.push(lineWidth);\n        maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n        lineWidth = -2 * trackingOffset;\n        val = \"\";\n        newLineFlag = true;\n        currentLine += 1;\n      } else {\n        val = currentChar;\n      }\n\n      if (fontManager.chars) {\n        charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n        cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n      } else {\n        // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n        // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n        cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n      } //\n\n\n      if (currentChar === \" \") {\n        uncollapsedSpaces += cLength + trackingOffset;\n      } else {\n        lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n        uncollapsedSpaces = 0;\n      }\n\n      letters.push({\n        l: cLength,\n        an: cLength,\n        add: currentSize,\n        n: newLineFlag,\n        anIndexes: [],\n        val: val,\n        line: currentLine,\n        animatorJustifyOffset: 0\n      });\n\n      if (anchorGrouping == 2) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === \"\" || val === \" \" || i === len - 1) {\n          if (val === \"\" || val === \" \") {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          index += 1;\n          currentSize = 0;\n        }\n      } else if (anchorGrouping == 3) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === \"\" || i === len - 1) {\n          if (val === \"\") {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          currentSize = 0;\n          index += 1;\n        }\n      } else {\n        letters[index].ind = index;\n        letters[index].extra = 0;\n        index += 1;\n      }\n    }\n\n    documentData.l = letters;\n    maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n    lineWidths.push(lineWidth);\n\n    if (documentData.sz) {\n      documentData.boxWidth = documentData.sz[0];\n      documentData.justifyOffset = 0;\n    } else {\n      documentData.boxWidth = maxLineWidth;\n\n      switch (documentData.j) {\n        case 1:\n          documentData.justifyOffset = -documentData.boxWidth;\n          break;\n\n        case 2:\n          documentData.justifyOffset = -documentData.boxWidth / 2;\n          break;\n\n        default:\n          documentData.justifyOffset = 0;\n      }\n    }\n\n    documentData.lineWidths = lineWidths;\n    var animators = data.a;\n    var animatorData;\n    var letterData;\n    jLen = animators.length;\n    var based;\n    var ind;\n    var indexes = [];\n\n    for (j = 0; j < jLen; j += 1) {\n      animatorData = animators[j];\n\n      if (animatorData.a.sc) {\n        documentData.strokeColorAnim = true;\n      }\n\n      if (animatorData.a.sw) {\n        documentData.strokeWidthAnim = true;\n      }\n\n      if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n        documentData.fillColorAnim = true;\n      }\n\n      ind = 0;\n      based = animatorData.s.b;\n\n      for (i = 0; i < len; i += 1) {\n        letterData = letters[i];\n        letterData.anIndexes[j] = ind;\n\n        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)) {\n          // eslint-disable-line eqeqeq\n          if (animatorData.s.rn === 1) {\n            indexes.push(ind);\n          }\n\n          ind += 1;\n        }\n      }\n\n      data.a[j].s.totalChars = ind;\n      var currentInd = -1;\n      var newInd;\n\n      if (animatorData.s.rn === 1) {\n        for (i = 0; i < len; i += 1) {\n          letterData = letters[i];\n\n          if (currentInd != letterData.anIndexes[j]) {\n            // eslint-disable-line eqeqeq\n            currentInd = letterData.anIndexes[j];\n            newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n          }\n\n          letterData.anIndexes[j] = newInd;\n        }\n      }\n    }\n\n    documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n    documentData.ls = documentData.ls || 0;\n    documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n  };\n\n  TextProperty.prototype.updateDocumentData = function (newData, index) {\n    index = index === undefined ? (this || _global).keysIndex : index;\n    var dData = this.copyData({}, (this || _global).data.d.k[index].s);\n    dData = this.copyData(dData, newData);\n    (this || _global).data.d.k[index].s = dData;\n    this.recalculate(index);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.recalculate = function (index) {\n    var dData = (this || _global).data.d.k[index].s;\n    dData.__complete = false;\n    (this || _global).keysIndex = 0;\n    (this || _global)._isFirstFrame = true;\n    this.getValue(dData);\n  };\n\n  TextProperty.prototype.canResizeFont = function (_canResize) {\n    (this || _global).canResize = _canResize;\n    this.recalculate((this || _global).keysIndex);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n    (this || _global).minimumFontSize = Math.floor(_fontValue) || 1;\n    this.recalculate((this || _global).keysIndex);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n  /* global extendPrototype, BezierFactory, PropertyFactory, DynamicPropertyContainer */\n\n  /* exported TextSelectorProp */\n\n\n  var TextSelectorProp = function () {\n    var max = Math.max;\n    var min = Math.min;\n    var floor = Math.floor;\n\n    function TextSelectorPropFactory(elem, data) {\n      (this || _global)._currentTextLength = -1;\n      (this || _global).k = false;\n      (this || _global).data = data;\n      (this || _global).elem = elem;\n      (this || _global).comp = elem.comp;\n      (this || _global).finalS = 0;\n      (this || _global).finalE = 0;\n      this.initDynamicPropertyContainer(elem);\n      (this || _global).s = PropertyFactory.getProp(elem, data.s || {\n        k: 0\n      }, 0, 0, this || _global);\n\n      if (\"e\" in data) {\n        (this || _global).e = PropertyFactory.getProp(elem, data.e, 0, 0, this || _global);\n      } else {\n        (this || _global).e = {\n          v: 100\n        };\n      }\n\n      (this || _global).o = PropertyFactory.getProp(elem, data.o || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).xe = PropertyFactory.getProp(elem, data.xe || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).ne = PropertyFactory.getProp(elem, data.ne || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this || _global);\n\n      if (!(this || _global).dynamicProperties.length) {\n        this.getValue();\n      }\n    }\n\n    TextSelectorPropFactory.prototype = {\n      getMult: function (ind) {\n        if ((this || _global)._currentTextLength !== (this || _global).elem.textProperty.currentData.l.length) {\n          this.getValue();\n        } // var easer = bez.getEasingCurve(this.ne.v/100,0,1-this.xe.v/100,1);\n\n\n        var x1 = 0;\n        var y1 = 0;\n        var x2 = 1;\n        var y2 = 1;\n\n        if ((this || _global).ne.v > 0) {\n          x1 = (this || _global).ne.v / 100;\n        } else {\n          y1 = -(this || _global).ne.v / 100;\n        }\n\n        if ((this || _global).xe.v > 0) {\n          x2 = 1 - (this || _global).xe.v / 100;\n        } else {\n          y2 = 1 + (this || _global).xe.v / 100;\n        }\n\n        var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n        var mult = 0;\n        var s = (this || _global).finalS;\n        var e = (this || _global).finalE;\n        var type = (this || _global).data.sh;\n\n        if (type === 2) {\n          if (e === s) {\n            mult = ind >= e ? 1 : 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 3) {\n          if (e === s) {\n            mult = ind >= e ? 0 : 1;\n          } else {\n            mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 4) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n            if (mult < 0.5) {\n              mult *= 2;\n            } else {\n              mult = 1 - 2 * (mult - 0.5);\n            }\n          }\n\n          mult = easer(mult);\n        } else if (type === 5) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            var tot = e - s;\n            /* ind += 0.5;\r\n                      mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            var x = -tot / 2 + ind;\n            var a = tot / 2;\n            mult = Math.sqrt(1 - x * x / (a * a));\n          }\n\n          mult = easer(mult);\n        } else if (type === 6) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n          }\n\n          mult = easer(mult);\n        } else {\n          if (ind >= floor(s)) {\n            if (ind - s < 0) {\n              mult = max(0, min(min(e, 1) - (s - ind), 1));\n            } else {\n              mult = max(0, min(e - ind, 1));\n            }\n          }\n\n          mult = easer(mult);\n        }\n\n        return mult * (this || _global).a.v;\n      },\n      getValue: function (newCharsFlag) {\n        this.iterateDynamicProperties();\n        (this || _global)._mdf = newCharsFlag || (this || _global)._mdf;\n        (this || _global)._currentTextLength = (this || _global).elem.textProperty.currentData.l.length || 0;\n\n        if (newCharsFlag && (this || _global).data.r === 2) {\n          (this || _global).e.v = (this || _global)._currentTextLength;\n        }\n\n        var divisor = (this || _global).data.r === 2 ? 1 : 100 / (this || _global).data.totalChars;\n        var o = (this || _global).o.v / divisor;\n        var s = (this || _global).s.v / divisor + o;\n        var e = (this || _global).e.v / divisor + o;\n\n        if (s > e) {\n          var _s = s;\n          s = e;\n          e = _s;\n        }\n\n        (this || _global).finalS = s;\n        (this || _global).finalE = e;\n      }\n    };\n    extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n    function getTextSelectorProp(elem, data, arr) {\n      return new TextSelectorPropFactory(elem, data, arr);\n    }\n\n    return {\n      getTextSelectorProp: getTextSelectorProp\n    };\n  }();\n  /* global createSizedArray, pooling */\n\n  /* exported poolFactory */\n\n\n  var poolFactory = function () {\n    return function (initialLength, _create, _release) {\n      var _length = 0;\n      var _maxLength = initialLength;\n      var pool = createSizedArray(_maxLength);\n      var ob = {\n        newElement: newElement,\n        release: release\n      };\n\n      function newElement() {\n        var element;\n\n        if (_length) {\n          _length -= 1;\n          element = pool[_length];\n        } else {\n          element = _create();\n        }\n\n        return element;\n      }\n\n      function release(element) {\n        if (_length === _maxLength) {\n          pool = pooling.double(pool);\n          _maxLength *= 2;\n        }\n\n        if (_release) {\n          _release(element);\n        }\n\n        pool[_length] = element;\n        _length += 1;\n      }\n\n      return ob;\n    };\n  }();\n  /* global createSizedArray */\n\n  /* exported pooling */\n\n\n  var pooling = function () {\n    function double(arr) {\n      return arr.concat(createSizedArray(arr.length));\n    }\n\n    return {\n      double: double\n    };\n  }();\n  /* global createTypedArray, poolFactory */\n\n  /* exported pointPool */\n\n\n  var pointPool = function () {\n    function create() {\n      return createTypedArray(\"float32\", 2);\n    }\n\n    return poolFactory(8, create);\n  }();\n  /* global ShapePath, pointPool, poolFactory */\n\n  /* exported shapePool */\n\n\n  var shapePool = function () {\n    function create() {\n      return new ShapePath();\n    }\n\n    function release(shapePath) {\n      var len = shapePath._length;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        pointPool.release(shapePath.v[i]);\n        pointPool.release(shapePath.i[i]);\n        pointPool.release(shapePath.o[i]);\n        shapePath.v[i] = null;\n        shapePath.i[i] = null;\n        shapePath.o[i] = null;\n      }\n\n      shapePath._length = 0;\n      shapePath.c = false;\n    }\n\n    function clone(shape) {\n      var cloned = factory.newElement();\n      var i;\n      var len = shape._length === undefined ? shape.v.length : shape._length;\n      cloned.setLength(len);\n      cloned.c = shape.c;\n\n      for (i = 0; i < len; i += 1) {\n        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);\n      }\n\n      return cloned;\n    }\n\n    var factory = poolFactory(4, create, release);\n    factory.clone = clone;\n    return factory;\n  }();\n  /* global createSizedArray, ShapeCollection, shapePool, pooling */\n\n  /* exported shapeCollectionPool */\n\n\n  var shapeCollectionPool = function () {\n    var ob = {\n      newShapeCollection: newShapeCollection,\n      release: release\n    };\n    var _length = 0;\n    var _maxLength = 4;\n    var pool = createSizedArray(_maxLength);\n\n    function newShapeCollection() {\n      var shapeCollection;\n\n      if (_length) {\n        _length -= 1;\n        shapeCollection = pool[_length];\n      } else {\n        shapeCollection = new ShapeCollection();\n      }\n\n      return shapeCollection;\n    }\n\n    function release(shapeCollection) {\n      var i;\n      var len = shapeCollection._length;\n\n      for (i = 0; i < len; i += 1) {\n        shapePool.release(shapeCollection.shapes[i]);\n      }\n\n      shapeCollection._length = 0;\n\n      if (_length === _maxLength) {\n        pool = pooling.double(pool);\n        _maxLength *= 2;\n      }\n\n      pool[_length] = shapeCollection;\n      _length += 1;\n    }\n\n    return ob;\n  }();\n  /* global poolFactory, bezierLengthPool */\n\n  /* exported segmentsLengthPool */\n\n\n  var segmentsLengthPool = function () {\n    function create() {\n      return {\n        lengths: [],\n        totalLength: 0\n      };\n    }\n\n    function release(element) {\n      var i;\n      var len = element.lengths.length;\n\n      for (i = 0; i < len; i += 1) {\n        bezierLengthPool.release(element.lengths[i]);\n      }\n\n      element.lengths.length = 0;\n    }\n\n    return poolFactory(8, create, release);\n  }();\n  /* global createTypedArray, defaultCurveSegments, poolFactory */\n\n  /* exported bezierLengthPool */\n\n\n  var bezierLengthPool = function () {\n    function create() {\n      return {\n        addedLength: 0,\n        percents: createTypedArray(\"float32\", defaultCurveSegments),\n        lengths: createTypedArray(\"float32\", defaultCurveSegments)\n      };\n    }\n\n    return poolFactory(8, create);\n  }();\n  /* exported markerParser */\n\n\n  var markerParser = function () {\n    function parsePayloadLines(payload) {\n      var lines = payload.split(\"\\r\\n\");\n      var keys = {};\n      var line;\n      var keysCount = 0;\n\n      for (var i = 0; i < lines.length; i += 1) {\n        line = lines[i].split(\":\");\n\n        if (line.length === 2) {\n          keys[line[0]] = line[1].trim();\n          keysCount += 1;\n        }\n      }\n\n      if (keysCount === 0) {\n        throw new Error();\n      }\n\n      return keys;\n    }\n\n    return function (_markers) {\n      var markers = [];\n\n      for (var i = 0; i < _markers.length; i += 1) {\n        var _marker = _markers[i];\n        var markerData = {\n          time: _marker.tm,\n          duration: _marker.dr\n        };\n\n        try {\n          markerData.payload = JSON.parse(_markers[i].cm);\n        } catch (_) {\n          try {\n            markerData.payload = parsePayloadLines(_markers[i].cm);\n          } catch (__) {\n            markerData.payload = {\n              name: _markers[i]\n            };\n          }\n        }\n\n        markers.push(markerData);\n      }\n\n      return markers;\n    };\n  }();\n  /* global AudioElement, FootageElement, FontManager */\n\n\n  function BaseRenderer() {}\n\n  BaseRenderer.prototype.checkLayers = function (num) {\n    var i;\n    var len = (this || _global).layers.length;\n    var data;\n    (this || _global).completeLayers = true;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if (!(this || _global).elements[i]) {\n        data = (this || _global).layers[i];\n\n        if (data.ip - data.st <= num - (this || _global).layers[i].st && data.op - data.st > num - (this || _global).layers[i].st) {\n          this.buildItem(i);\n        }\n      }\n\n      (this || _global).completeLayers = (this || _global).elements[i] ? (this || _global).completeLayers : false;\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.createItem = function (layer) {\n    switch (layer.ty) {\n      case 2:\n        return this.createImage(layer);\n\n      case 0:\n        return this.createComp(layer);\n\n      case 1:\n        return this.createSolid(layer);\n\n      case 3:\n        return this.createNull(layer);\n\n      case 4:\n        return this.createShape(layer);\n\n      case 5:\n        return this.createText(layer);\n\n      case 6:\n        return this.createAudio(layer);\n\n      case 13:\n        return this.createCamera(layer);\n\n      case 15:\n        return this.createFootage(layer);\n\n      default:\n        return this.createNull(layer);\n    }\n  };\n\n  BaseRenderer.prototype.createCamera = function () {\n    throw new Error(\"You're using a 3d camera. Try the html renderer.\");\n  };\n\n  BaseRenderer.prototype.createAudio = function (data) {\n    return new AudioElement(data, (this || _global).globalData, this || _global);\n  };\n\n  BaseRenderer.prototype.createFootage = function (data) {\n    return new FootageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  BaseRenderer.prototype.buildAllItems = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      this.buildItem(i);\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.includeLayers = function (newLayers) {\n    (this || _global).completeLayers = false;\n    var i;\n    var len = newLayers.length;\n    var j;\n    var jLen = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      j = 0;\n\n      while (j < jLen) {\n        if ((this || _global).layers[j].id === newLayers[i].id) {\n          (this || _global).layers[j] = newLayers[i];\n          break;\n        }\n\n        j += 1;\n      }\n    }\n  };\n\n  BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n    (this || _global).globalData.projectInterface = pInterface;\n  };\n\n  BaseRenderer.prototype.initItems = function () {\n    if (!(this || _global).globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n  };\n\n  BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n    var elements = (this || _global).elements;\n    var layers = (this || _global).layers;\n    var i = 0;\n    var len = layers.length;\n\n    while (i < len) {\n      if (layers[i].ind == parentName) {\n        // eslint-disable-line eqeqeq\n        if (!elements[i] || elements[i] === true) {\n          this.buildItem(i);\n          this.addPendingElement(element);\n        } else {\n          hierarchy.push(elements[i]);\n          elements[i].setAsParent();\n\n          if (layers[i].parent !== undefined) {\n            this.buildElementParenting(element, layers[i].parent, hierarchy);\n          } else {\n            element.setHierarchy(hierarchy);\n          }\n        }\n      }\n\n      i += 1;\n    }\n  };\n\n  BaseRenderer.prototype.addPendingElement = function (element) {\n    (this || _global).pendingElements.push(element);\n  };\n\n  BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i]);\n        comp.initExpressions();\n\n        (this || _global).globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n\n  BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n    (this || _global).globalData.fontManager = new FontManager();\n\n    (this || _global).globalData.fontManager.addChars(animData.chars);\n\n    (this || _global).globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n\n    (this || _global).globalData.getAssetData = (this || _global).animationItem.getAssetData.bind((this || _global).animationItem);\n    (this || _global).globalData.getAssetsPath = (this || _global).animationItem.getAssetsPath.bind((this || _global).animationItem);\n    (this || _global).globalData.imageLoader = (this || _global).animationItem.imagePreloader;\n    (this || _global).globalData.audioController = (this || _global).animationItem.audioController;\n    (this || _global).globalData.frameId = 0;\n    (this || _global).globalData.frameRate = animData.fr;\n    (this || _global).globalData.nm = animData.nm;\n    (this || _global).globalData.compSize = {\n      w: animData.w,\n      h: animData.h\n    };\n  };\n  /* global createElementID, extendPrototype, BaseRenderer, NullElement, SVGShapeElement, SVGTextLottieElement,\r\n  IImageElement, SVGCompElement, ISolidElement, createNS, locationHref, createSizedArray, expressionsPlugin */\n\n\n  function SVGRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).layers = null;\n    (this || _global).renderedFrame = -1;\n    (this || _global).svgElement = createNS(\"svg\");\n    var ariaLabel = \"\";\n\n    if (config && config.title) {\n      var titleElement = createNS(\"title\");\n      var titleId = createElementID();\n      titleElement.setAttribute(\"id\", titleId);\n      titleElement.textContent = config.title;\n\n      (this || _global).svgElement.appendChild(titleElement);\n\n      ariaLabel += titleId;\n    }\n\n    if (config && config.description) {\n      var descElement = createNS(\"desc\");\n      var descId = createElementID();\n      descElement.setAttribute(\"id\", descId);\n      descElement.textContent = config.description;\n\n      (this || _global).svgElement.appendChild(descElement);\n\n      ariaLabel += \" \" + descId;\n    }\n\n    if (ariaLabel) {\n      (this || _global).svgElement.setAttribute(\"aria-labelledby\", ariaLabel);\n    }\n\n    var defs = createNS(\"defs\");\n\n    (this || _global).svgElement.appendChild(defs);\n\n    var maskElement = createNS(\"g\");\n\n    (this || _global).svgElement.appendChild(maskElement);\n\n    (this || _global).layerElement = maskElement;\n    (this || _global).renderConfig = {\n      preserveAspectRatio: config && config.preserveAspectRatio || \"xMidYMid meet\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      progressiveLoad: config && config.progressiveLoad || false,\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      viewBoxOnly: config && config.viewBoxOnly || false,\n      viewBoxSize: config && config.viewBoxSize || false,\n      className: config && config.className || \"\",\n      id: config && config.id || \"\",\n      focusable: config && config.focusable,\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || \"100%\",\n        height: config && config.filterSize && config.filterSize.height || \"100%\",\n        x: config && config.filterSize && config.filterSize.x || \"0%\",\n        y: config && config.filterSize && config.filterSize.y || \"0%\"\n      }\n    };\n    (this || _global).globalData = {\n      _mdf: false,\n      frameNum: -1,\n      defs: defs,\n      renderConfig: (this || _global).renderConfig\n    };\n    (this || _global).elements = [];\n    (this || _global).pendingElements = [];\n    (this || _global).destroyed = false;\n    (this || _global).rendererType = \"svg\";\n  }\n\n  extendPrototype([BaseRenderer], SVGRenderer);\n\n  SVGRenderer.prototype.createNull = function (data) {\n    return new NullElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createShape = function (data) {\n    return new SVGShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createText = function (data) {\n    return new SVGTextLottieElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createImage = function (data) {\n    return new IImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createComp = function (data) {\n    return new SVGCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createSolid = function (data) {\n    return new ISolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.configAnimation = function (animData) {\n    (this || _global).svgElement.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\");\n\n    if ((this || _global).renderConfig.viewBoxSize) {\n      (this || _global).svgElement.setAttribute(\"viewBox\", (this || _global).renderConfig.viewBoxSize);\n    } else {\n      (this || _global).svgElement.setAttribute(\"viewBox\", \"0 0 \" + animData.w + \" \" + animData.h);\n    }\n\n    if (!(this || _global).renderConfig.viewBoxOnly) {\n      (this || _global).svgElement.setAttribute(\"width\", animData.w);\n\n      (this || _global).svgElement.setAttribute(\"height\", animData.h);\n\n      (this || _global).svgElement.style.width = \"100%\";\n      (this || _global).svgElement.style.height = \"100%\";\n      (this || _global).svgElement.style.transform = \"translate3d(0,0,0)\";\n    }\n\n    if ((this || _global).renderConfig.className) {\n      (this || _global).svgElement.setAttribute(\"class\", (this || _global).renderConfig.className);\n    }\n\n    if ((this || _global).renderConfig.id) {\n      (this || _global).svgElement.setAttribute(\"id\", (this || _global).renderConfig.id);\n    }\n\n    if ((this || _global).renderConfig.focusable !== undefined) {\n      (this || _global).svgElement.setAttribute(\"focusable\", (this || _global).renderConfig.focusable);\n    }\n\n    (this || _global).svgElement.setAttribute(\"preserveAspectRatio\", (this || _global).renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n    // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n\n    (this || _global).animationItem.wrapper.appendChild((this || _global).svgElement); // Mask animation\n\n\n    var defs = (this || _global).globalData.defs;\n    this.setupGlobalData(animData, defs);\n    (this || _global).globalData.progressiveLoad = (this || _global).renderConfig.progressiveLoad;\n    (this || _global).data = animData;\n    var maskElement = createNS(\"clipPath\");\n    var rect = createNS(\"rect\");\n    rect.setAttribute(\"width\", animData.w);\n    rect.setAttribute(\"height\", animData.h);\n    rect.setAttribute(\"x\", 0);\n    rect.setAttribute(\"y\", 0);\n    var maskId = createElementID();\n    maskElement.setAttribute(\"id\", maskId);\n    maskElement.appendChild(rect);\n\n    (this || _global).layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + maskId + \")\");\n\n    defs.appendChild(maskElement);\n    (this || _global).layers = animData.layers;\n    (this || _global).elements = createSizedArray(animData.layers.length);\n  };\n\n  SVGRenderer.prototype.destroy = function () {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    (this || _global).layerElement = null;\n    (this || _global).globalData.defs = null;\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).destroyed = true;\n    (this || _global).animationItem = null;\n  };\n\n  SVGRenderer.prototype.updateContainerSize = function () {};\n\n  SVGRenderer.prototype.buildItem = function (pos) {\n    var elements = (this || _global).elements;\n\n    if (elements[pos] || (this || _global).layers[pos].ty === 99) {\n      return;\n    }\n\n    elements[pos] = true;\n    var element = this.createItem((this || _global).layers[pos]);\n    elements[pos] = element;\n\n    if (expressionsPlugin) {\n      if ((this || _global).layers[pos].ty === 0) {\n        (this || _global).globalData.projectInterface.registerComposition(element);\n      }\n\n      element.initExpressions();\n    }\n\n    this.appendElementInPos(element, pos);\n\n    if ((this || _global).layers[pos].tt) {\n      if (!(this || _global).elements[pos - 1] || (this || _global).elements[pos - 1] === true) {\n        this.buildItem(pos - 1);\n        this.addPendingElement(element);\n      } else {\n        element.setMatte(elements[pos - 1].layerId);\n      }\n    }\n  };\n\n  SVGRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n\n      if (element.data.tt) {\n        var i = 0;\n        var len = (this || _global).elements.length;\n\n        while (i < len) {\n          if ((this || _global).elements[i] === element) {\n            element.setMatte((this || _global).elements[i - 1].layerId);\n            break;\n          }\n\n          i += 1;\n        }\n      }\n    }\n  };\n\n  SVGRenderer.prototype.renderFrame = function (num) {\n    if ((this || _global).renderedFrame === num || (this || _global).destroyed) {\n      return;\n    }\n\n    if (num === null) {\n      num = (this || _global).renderedFrame;\n    } else {\n      (this || _global).renderedFrame = num;\n    } // console.log('-------');\n    // console.log('FRAME ',num);\n\n\n    (this || _global).globalData.frameNum = num;\n    (this || _global).globalData.frameId += 1;\n    (this || _global).globalData.projectInterface.currentFrame = num;\n    (this || _global).globalData._mdf = false;\n    var i;\n    var len = (this || _global).layers.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame(num - (this || _global).layers[i].st);\n      }\n    }\n\n    if ((this || _global).globalData._mdf) {\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).completeLayers || (this || _global).elements[i]) {\n          (this || _global).elements[i].renderFrame();\n        }\n      }\n    }\n  };\n\n  SVGRenderer.prototype.appendElementInPos = function (element, pos) {\n    var newElement = element.getBaseElement();\n\n    if (!newElement) {\n      return;\n    }\n\n    var i = 0;\n    var nextElement;\n\n    while (i < pos) {\n      if ((this || _global).elements[i] && (this || _global).elements[i] !== true && (this || _global).elements[i].getBaseElement()) {\n        nextElement = (this || _global).elements[i].getBaseElement();\n      }\n\n      i += 1;\n    }\n\n    if (nextElement) {\n      (this || _global).layerElement.insertBefore(newElement, nextElement);\n    } else {\n      (this || _global).layerElement.appendChild(newElement);\n    }\n  };\n\n  SVGRenderer.prototype.hide = function () {\n    (this || _global).layerElement.style.display = \"none\";\n  };\n\n  SVGRenderer.prototype.show = function () {\n    (this || _global).layerElement.style.display = \"block\";\n  };\n  /* global CVContextData, Matrix, extendPrototype, BaseRenderer, CVShapeElement, CVTextElement,\r\n  CVImageElement, CVCompElement, CVSolidElement, SVGRenderer, createTag, createSizedArray */\n\n\n  function CanvasRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).renderConfig = {\n      clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n      context: config && config.context || null,\n      progressiveLoad: config && config.progressiveLoad || false,\n      preserveAspectRatio: config && config.preserveAspectRatio || \"xMidYMid meet\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      className: config && config.className || \"\",\n      id: config && config.id || \"\"\n    };\n    (this || _global).renderConfig.dpr = config && config.dpr || 1;\n\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n    }\n\n    (this || _global).renderedFrame = -1;\n    (this || _global).globalData = {\n      frameNum: -1,\n      _mdf: false,\n      renderConfig: (this || _global).renderConfig,\n      currentGlobalAlpha: -1\n    };\n    (this || _global).contextData = new CVContextData();\n    (this || _global).elements = [];\n    (this || _global).pendingElements = [];\n    (this || _global).transformMat = new Matrix();\n    (this || _global).completeLayers = false;\n    (this || _global).rendererType = \"canvas\";\n  }\n\n  extendPrototype([BaseRenderer], CanvasRenderer);\n\n  CanvasRenderer.prototype.createShape = function (data) {\n    return new CVShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createText = function (data) {\n    return new CVTextElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createImage = function (data) {\n    return new CVImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createComp = function (data) {\n    return new CVCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createSolid = function (data) {\n    return new CVSolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  CanvasRenderer.prototype.ctxTransform = function (props) {\n    if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n      return;\n    }\n\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n\n      return;\n    }\n\n    (this || _global).transformMat.cloneFromProps(props);\n\n    var cProps = (this || _global).contextData.cTr.props;\n\n    (this || _global).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]); // this.contextData.cTr.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]);\n\n\n    (this || _global).contextData.cTr.cloneFromProps((this || _global).transformMat.props);\n\n    var trProps = (this || _global).contextData.cTr.props;\n\n    (this || _global).canvasContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n  };\n\n  CanvasRenderer.prototype.ctxOpacity = function (op) {\n    /* if(op === 1){\r\n          return;\r\n      } */\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.globalAlpha *= op < 0 ? 0 : op;\n      (this || _global).globalData.currentGlobalAlpha = (this || _global).contextData.cO;\n      return;\n    }\n\n    (this || _global).contextData.cO *= op < 0 ? 0 : op;\n\n    if ((this || _global).globalData.currentGlobalAlpha !== (this || _global).contextData.cO) {\n      (this || _global).canvasContext.globalAlpha = (this || _global).contextData.cO;\n      (this || _global).globalData.currentGlobalAlpha = (this || _global).contextData.cO;\n    }\n  };\n\n  CanvasRenderer.prototype.reset = function () {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.restore();\n\n      return;\n    }\n\n    (this || _global).contextData.reset();\n  };\n\n  CanvasRenderer.prototype.save = function (actionFlag) {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.save();\n\n      return;\n    }\n\n    if (actionFlag) {\n      (this || _global).canvasContext.save();\n    }\n\n    var props = (this || _global).contextData.cTr.props;\n\n    if ((this || _global).contextData._length <= (this || _global).contextData.cArrPos) {\n      (this || _global).contextData.duplicate();\n    }\n\n    var i;\n    var arr = (this || _global).contextData.saved[(this || _global).contextData.cArrPos];\n\n    for (i = 0; i < 16; i += 1) {\n      arr[i] = props[i];\n    }\n\n    (this || _global).contextData.savedOp[(this || _global).contextData.cArrPos] = (this || _global).contextData.cO;\n    (this || _global).contextData.cArrPos += 1;\n  };\n\n  CanvasRenderer.prototype.restore = function (actionFlag) {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.restore();\n\n      return;\n    }\n\n    if (actionFlag) {\n      (this || _global).canvasContext.restore();\n\n      (this || _global).globalData.blendMode = \"source-over\";\n    }\n\n    (this || _global).contextData.cArrPos -= 1;\n    var popped = (this || _global).contextData.saved[(this || _global).contextData.cArrPos];\n    var i;\n    var arr = (this || _global).contextData.cTr.props;\n\n    for (i = 0; i < 16; i += 1) {\n      arr[i] = popped[i];\n    }\n\n    (this || _global).canvasContext.setTransform(popped[0], popped[1], popped[4], popped[5], popped[12], popped[13]);\n\n    popped = (this || _global).contextData.savedOp[(this || _global).contextData.cArrPos];\n    (this || _global).contextData.cO = popped;\n\n    if ((this || _global).globalData.currentGlobalAlpha !== popped) {\n      (this || _global).canvasContext.globalAlpha = popped;\n      (this || _global).globalData.currentGlobalAlpha = popped;\n    }\n  };\n\n  CanvasRenderer.prototype.configAnimation = function (animData) {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.container = createTag(\"canvas\");\n      var containerStyle = (this || _global).animationItem.container.style;\n      containerStyle.width = \"100%\";\n      containerStyle.height = \"100%\";\n      var origin = \"0px 0px 0px\";\n      containerStyle.transformOrigin = origin;\n      containerStyle.mozTransformOrigin = origin;\n      containerStyle.webkitTransformOrigin = origin;\n      containerStyle[\"-webkit-transform\"] = origin;\n\n      (this || _global).animationItem.wrapper.appendChild((this || _global).animationItem.container);\n\n      (this || _global).canvasContext = (this || _global).animationItem.container.getContext(\"2d\");\n\n      if ((this || _global).renderConfig.className) {\n        (this || _global).animationItem.container.setAttribute(\"class\", (this || _global).renderConfig.className);\n      }\n\n      if ((this || _global).renderConfig.id) {\n        (this || _global).animationItem.container.setAttribute(\"id\", (this || _global).renderConfig.id);\n      }\n    } else {\n      (this || _global).canvasContext = (this || _global).renderConfig.context;\n    }\n\n    (this || _global).data = animData;\n    (this || _global).layers = animData.layers;\n    (this || _global).transformCanvas = {\n      w: animData.w,\n      h: animData.h,\n      sx: 0,\n      sy: 0,\n      tx: 0,\n      ty: 0\n    };\n    this.setupGlobalData(animData, document.body);\n    (this || _global).globalData.canvasContext = (this || _global).canvasContext;\n    (this || _global).globalData.renderer = this || _global;\n    (this || _global).globalData.isDashed = false;\n    (this || _global).globalData.progressiveLoad = (this || _global).renderConfig.progressiveLoad;\n    (this || _global).globalData.transformCanvas = (this || _global).transformCanvas;\n    (this || _global).elements = createSizedArray(animData.layers.length);\n    this.updateContainerSize();\n  };\n\n  CanvasRenderer.prototype.updateContainerSize = function () {\n    this.reset();\n    var elementWidth;\n    var elementHeight;\n\n    if ((this || _global).animationItem.wrapper && (this || _global).animationItem.container) {\n      elementWidth = (this || _global).animationItem.wrapper.offsetWidth;\n      elementHeight = (this || _global).animationItem.wrapper.offsetHeight;\n\n      (this || _global).animationItem.container.setAttribute(\"width\", elementWidth * (this || _global).renderConfig.dpr);\n\n      (this || _global).animationItem.container.setAttribute(\"height\", elementHeight * (this || _global).renderConfig.dpr);\n    } else {\n      elementWidth = (this || _global).canvasContext.canvas.width * (this || _global).renderConfig.dpr;\n      elementHeight = (this || _global).canvasContext.canvas.height * (this || _global).renderConfig.dpr;\n    }\n\n    var elementRel;\n    var animationRel;\n\n    if ((this || _global).renderConfig.preserveAspectRatio.indexOf(\"meet\") !== -1 || (this || _global).renderConfig.preserveAspectRatio.indexOf(\"slice\") !== -1) {\n      var par = (this || _global).renderConfig.preserveAspectRatio.split(\" \");\n\n      var fillType = par[1] || \"meet\";\n      var pos = par[0] || \"xMidYMid\";\n      var xPos = pos.substr(0, 4);\n      var yPos = pos.substr(4);\n      elementRel = elementWidth / elementHeight;\n      animationRel = (this || _global).transformCanvas.w / (this || _global).transformCanvas.h;\n\n      if (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\") {\n        (this || _global).transformCanvas.sx = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n        (this || _global).transformCanvas.sy = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n      } else {\n        (this || _global).transformCanvas.sx = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n        (this || _global).transformCanvas.sy = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n      }\n\n      if (xPos === \"xMid\" && (animationRel < elementRel && fillType === \"meet\" || animationRel > elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.tx = (elementWidth - (this || _global).transformCanvas.w * (elementHeight / (this || _global).transformCanvas.h)) / 2 * (this || _global).renderConfig.dpr;\n      } else if (xPos === \"xMax\" && (animationRel < elementRel && fillType === \"meet\" || animationRel > elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.tx = (elementWidth - (this || _global).transformCanvas.w * (elementHeight / (this || _global).transformCanvas.h)) * (this || _global).renderConfig.dpr;\n      } else {\n        (this || _global).transformCanvas.tx = 0;\n      }\n\n      if (yPos === \"YMid\" && (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.ty = (elementHeight - (this || _global).transformCanvas.h * (elementWidth / (this || _global).transformCanvas.w)) / 2 * (this || _global).renderConfig.dpr;\n      } else if (yPos === \"YMax\" && (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.ty = (elementHeight - (this || _global).transformCanvas.h * (elementWidth / (this || _global).transformCanvas.w)) * (this || _global).renderConfig.dpr;\n      } else {\n        (this || _global).transformCanvas.ty = 0;\n      }\n    } else if ((this || _global).renderConfig.preserveAspectRatio === \"none\") {\n      (this || _global).transformCanvas.sx = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n      (this || _global).transformCanvas.sy = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n      (this || _global).transformCanvas.tx = 0;\n      (this || _global).transformCanvas.ty = 0;\n    } else {\n      (this || _global).transformCanvas.sx = (this || _global).renderConfig.dpr;\n      (this || _global).transformCanvas.sy = (this || _global).renderConfig.dpr;\n      (this || _global).transformCanvas.tx = 0;\n      (this || _global).transformCanvas.ty = 0;\n    }\n\n    (this || _global).transformCanvas.props = [(this || _global).transformCanvas.sx, 0, 0, 0, 0, (this || _global).transformCanvas.sy, 0, 0, 0, 0, 1, 0, (this || _global).transformCanvas.tx, (this || _global).transformCanvas.ty, 0, 1];\n    /* var i, len = this.elements.length;\r\n      for(i=0;i<len;i+=1){\r\n          if(this.elements[i] && this.elements[i].data.ty === 0){\r\n              this.elements[i].resize(this.globalData.transformCanvas);\r\n          }\r\n      } */\n\n    this.ctxTransform((this || _global).transformCanvas.props);\n\n    (this || _global).canvasContext.beginPath();\n\n    (this || _global).canvasContext.rect(0, 0, (this || _global).transformCanvas.w, (this || _global).transformCanvas.h);\n\n    (this || _global).canvasContext.closePath();\n\n    (this || _global).canvasContext.clip();\n\n    this.renderFrame((this || _global).renderedFrame, true);\n  };\n\n  CanvasRenderer.prototype.destroy = function () {\n    if ((this || _global).renderConfig.clearCanvas && (this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).globalData.canvasContext = null;\n    (this || _global).animationItem.container = null;\n    (this || _global).destroyed = true;\n  };\n\n  CanvasRenderer.prototype.renderFrame = function (num, forceRender) {\n    if ((this || _global).renderedFrame === num && (this || _global).renderConfig.clearCanvas === true && !forceRender || (this || _global).destroyed || num === -1) {\n      return;\n    }\n\n    (this || _global).renderedFrame = num;\n    (this || _global).globalData.frameNum = num - (this || _global).animationItem._isFirstFrame;\n    (this || _global).globalData.frameId += 1;\n    (this || _global).globalData._mdf = !(this || _global).renderConfig.clearCanvas || forceRender;\n    (this || _global).globalData.projectInterface.currentFrame = num; // console.log('--------');\n    // console.log('NEW: ',num);\n\n    var i;\n    var len = (this || _global).layers.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame(num - (this || _global).layers[i].st);\n      }\n    }\n\n    if ((this || _global).globalData._mdf) {\n      if ((this || _global).renderConfig.clearCanvas === true) {\n        (this || _global).canvasContext.clearRect(0, 0, (this || _global).transformCanvas.w, (this || _global).transformCanvas.h);\n      } else {\n        this.save();\n      }\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        if ((this || _global).completeLayers || (this || _global).elements[i]) {\n          (this || _global).elements[i].renderFrame();\n        }\n      }\n\n      if ((this || _global).renderConfig.clearCanvas !== true) {\n        this.restore();\n      }\n    }\n  };\n\n  CanvasRenderer.prototype.buildItem = function (pos) {\n    var elements = (this || _global).elements;\n\n    if (elements[pos] || (this || _global).layers[pos].ty === 99) {\n      return;\n    }\n\n    var element = this.createItem((this || _global).layers[pos], this || _global, (this || _global).globalData);\n    elements[pos] = element;\n    element.initExpressions();\n    /* if(this.layers[pos].ty === 0){\r\n          element.resize(this.globalData.transformCanvas);\r\n      } */\n  };\n\n  CanvasRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n    }\n  };\n\n  CanvasRenderer.prototype.hide = function () {\n    (this || _global).animationItem.container.style.display = \"none\";\n  };\n\n  CanvasRenderer.prototype.show = function () {\n    (this || _global).animationItem.container.style.display = \"block\";\n  };\n  /* global extendPrototype, BaseRenderer, SVGRenderer, SVGShapeElement, HShapeElement, SVGTextLottieElement,\r\n  HTextElement, HCameraElement, IImageElement, HImageElement, SVGCompElement, HCompElement, ISolidElement,\r\n  HSolidElement, styleDiv, createTag, createNS */\n\n\n  function HybridRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).layers = null;\n    (this || _global).renderedFrame = -1;\n    (this || _global).renderConfig = {\n      className: config && config.className || \"\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || \"400%\",\n        height: config && config.filterSize && config.filterSize.height || \"400%\",\n        x: config && config.filterSize && config.filterSize.x || \"-100%\",\n        y: config && config.filterSize && config.filterSize.y || \"-100%\"\n      }\n    };\n    (this || _global).globalData = {\n      _mdf: false,\n      frameNum: -1,\n      renderConfig: (this || _global).renderConfig\n    };\n    (this || _global).pendingElements = [];\n    (this || _global).elements = [];\n    (this || _global).threeDElements = [];\n    (this || _global).destroyed = false;\n    (this || _global).camera = null;\n    (this || _global).supports3d = true;\n    (this || _global).rendererType = \"html\";\n  }\n\n  extendPrototype([BaseRenderer], HybridRenderer);\n  HybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n  HybridRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n    }\n  };\n\n  HybridRenderer.prototype.appendElementInPos = function (element, pos) {\n    var newDOMElement = element.getBaseElement();\n\n    if (!newDOMElement) {\n      return;\n    }\n\n    var layer = (this || _global).layers[pos];\n\n    if (!layer.ddd || !(this || _global).supports3d) {\n      if ((this || _global).threeDElements) {\n        this.addTo3dContainer(newDOMElement, pos);\n      } else {\n        var i = 0;\n        var nextDOMElement;\n        var nextLayer;\n        var tmpDOMElement;\n\n        while (i < pos) {\n          if ((this || _global).elements[i] && (this || _global).elements[i] !== true && (this || _global).elements[i].getBaseElement) {\n            nextLayer = (this || _global).elements[i];\n            tmpDOMElement = (this || _global).layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n            nextDOMElement = tmpDOMElement || nextDOMElement;\n          }\n\n          i += 1;\n        }\n\n        if (nextDOMElement) {\n          if (!layer.ddd || !(this || _global).supports3d) {\n            (this || _global).layerElement.insertBefore(newDOMElement, nextDOMElement);\n          }\n        } else if (!layer.ddd || !(this || _global).supports3d) {\n          (this || _global).layerElement.appendChild(newDOMElement);\n        }\n      }\n    } else {\n      this.addTo3dContainer(newDOMElement, pos);\n    }\n  };\n\n  HybridRenderer.prototype.createShape = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGShapeElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createText = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGTextLottieElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HTextElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createCamera = function (data) {\n    (this || _global).camera = new HCameraElement(data, (this || _global).globalData, this || _global);\n    return (this || _global).camera;\n  };\n\n  HybridRenderer.prototype.createImage = function (data) {\n    if (!(this || _global).supports3d) {\n      return new IImageElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createComp = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGCompElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createSolid = function (data) {\n    if (!(this || _global).supports3d) {\n      return new ISolidElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HSolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  HybridRenderer.prototype.getThreeDContainerByPos = function (pos) {\n    var i = 0;\n    var len = (this || _global).threeDElements.length;\n\n    while (i < len) {\n      if ((this || _global).threeDElements[i].startPos <= pos && (this || _global).threeDElements[i].endPos >= pos) {\n        return (this || _global).threeDElements[i].perspectiveElem;\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  HybridRenderer.prototype.createThreeDContainer = function (pos, type) {\n    var perspectiveElem = createTag(\"div\");\n    var style;\n    var containerStyle;\n    styleDiv(perspectiveElem);\n    var container = createTag(\"div\");\n    styleDiv(container);\n\n    if (type === \"3d\") {\n      style = perspectiveElem.style;\n      style.width = (this || _global).globalData.compSize.w + \"px\";\n      style.height = (this || _global).globalData.compSize.h + \"px\";\n      var center = \"50% 50%\";\n      style.webkitTransformOrigin = center;\n      style.mozTransformOrigin = center;\n      style.transformOrigin = center;\n      containerStyle = container.style;\n      var matrix = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n      containerStyle.transform = matrix;\n      containerStyle.webkitTransform = matrix;\n    }\n\n    perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n    var threeDContainerData = {\n      container: container,\n      perspectiveElem: perspectiveElem,\n      startPos: pos,\n      endPos: pos,\n      type: type\n    };\n\n    (this || _global).threeDElements.push(threeDContainerData);\n\n    return threeDContainerData;\n  };\n\n  HybridRenderer.prototype.build3dContainers = function () {\n    var i;\n    var len = (this || _global).layers.length;\n    var lastThreeDContainerData;\n    var currentContainer = \"\";\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).layers[i].ddd && (this || _global).layers[i].ty !== 3) {\n        if (currentContainer !== \"3d\") {\n          currentContainer = \"3d\";\n          lastThreeDContainerData = this.createThreeDContainer(i, \"3d\");\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      } else {\n        if (currentContainer !== \"2d\") {\n          currentContainer = \"2d\";\n          lastThreeDContainerData = this.createThreeDContainer(i, \"2d\");\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      }\n    }\n\n    len = (this || _global).threeDElements.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      (this || _global).resizerElem.appendChild((this || _global).threeDElements[i].perspectiveElem);\n    }\n  };\n\n  HybridRenderer.prototype.addTo3dContainer = function (elem, pos) {\n    var i = 0;\n    var len = (this || _global).threeDElements.length;\n\n    while (i < len) {\n      if (pos <= (this || _global).threeDElements[i].endPos) {\n        var j = (this || _global).threeDElements[i].startPos;\n        var nextElement;\n\n        while (j < pos) {\n          if ((this || _global).elements[j] && (this || _global).elements[j].getBaseElement) {\n            nextElement = (this || _global).elements[j].getBaseElement();\n          }\n\n          j += 1;\n        }\n\n        if (nextElement) {\n          (this || _global).threeDElements[i].container.insertBefore(elem, nextElement);\n        } else {\n          (this || _global).threeDElements[i].container.appendChild(elem);\n        }\n\n        break;\n      }\n\n      i += 1;\n    }\n  };\n\n  HybridRenderer.prototype.configAnimation = function (animData) {\n    var resizerElem = createTag(\"div\");\n    var wrapper = (this || _global).animationItem.wrapper;\n    var style = resizerElem.style;\n    style.width = animData.w + \"px\";\n    style.height = animData.h + \"px\";\n    (this || _global).resizerElem = resizerElem;\n    styleDiv(resizerElem);\n    style.transformStyle = \"flat\";\n    style.mozTransformStyle = \"flat\";\n    style.webkitTransformStyle = \"flat\";\n\n    if ((this || _global).renderConfig.className) {\n      resizerElem.setAttribute(\"class\", (this || _global).renderConfig.className);\n    }\n\n    wrapper.appendChild(resizerElem);\n    style.overflow = \"hidden\";\n    var svg = createNS(\"svg\");\n    svg.setAttribute(\"width\", \"1\");\n    svg.setAttribute(\"height\", \"1\");\n    styleDiv(svg);\n\n    (this || _global).resizerElem.appendChild(svg);\n\n    var defs = createNS(\"defs\");\n    svg.appendChild(defs);\n    (this || _global).data = animData; // Mask animation\n\n    this.setupGlobalData(animData, svg);\n    (this || _global).globalData.defs = defs;\n    (this || _global).layers = animData.layers;\n    (this || _global).layerElement = (this || _global).resizerElem;\n    this.build3dContainers();\n    this.updateContainerSize();\n  };\n\n  HybridRenderer.prototype.destroy = function () {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    (this || _global).animationItem.container = null;\n    (this || _global).globalData.defs = null;\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).elements[i].destroy();\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).destroyed = true;\n    (this || _global).animationItem = null;\n  };\n\n  HybridRenderer.prototype.updateContainerSize = function () {\n    var elementWidth = (this || _global).animationItem.wrapper.offsetWidth;\n    var elementHeight = (this || _global).animationItem.wrapper.offsetHeight;\n    var elementRel = elementWidth / elementHeight;\n    var animationRel = (this || _global).globalData.compSize.w / (this || _global).globalData.compSize.h;\n    var sx;\n    var sy;\n    var tx;\n    var ty;\n\n    if (animationRel > elementRel) {\n      sx = elementWidth / (this || _global).globalData.compSize.w;\n      sy = elementWidth / (this || _global).globalData.compSize.w;\n      tx = 0;\n      ty = (elementHeight - (this || _global).globalData.compSize.h * (elementWidth / (this || _global).globalData.compSize.w)) / 2;\n    } else {\n      sx = elementHeight / (this || _global).globalData.compSize.h;\n      sy = elementHeight / (this || _global).globalData.compSize.h;\n      tx = (elementWidth - (this || _global).globalData.compSize.w * (elementHeight / (this || _global).globalData.compSize.h)) / 2;\n      ty = 0;\n    }\n\n    var style = (this || _global).resizerElem.style;\n    style.webkitTransform = \"matrix3d(\" + sx + \",0,0,0,0,\" + sy + \",0,0,0,0,1,0,\" + tx + \",\" + ty + \",0,1)\";\n    style.transform = style.webkitTransform;\n  };\n\n  HybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n  HybridRenderer.prototype.hide = function () {\n    (this || _global).resizerElem.style.display = \"none\";\n  };\n\n  HybridRenderer.prototype.show = function () {\n    (this || _global).resizerElem.style.display = \"block\";\n  };\n\n  HybridRenderer.prototype.initItems = function () {\n    this.buildAllItems();\n\n    if ((this || _global).camera) {\n      (this || _global).camera.setup();\n    } else {\n      var cWidth = (this || _global).globalData.compSize.w;\n      var cHeight = (this || _global).globalData.compSize.h;\n      var i;\n      var len = (this || _global).threeDElements.length;\n\n      for (i = 0; i < len; i += 1) {\n        var style = (this || _global).threeDElements[i].perspectiveElem.style;\n        style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + \"px\";\n        style.perspective = style.webkitPerspective;\n      }\n    }\n  };\n\n  HybridRenderer.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n    var floatingContainer = createTag(\"div\");\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i], floatingContainer, (this || _global).globalData.comp, null);\n        comp.initExpressions();\n\n        (this || _global).globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n  /* global createSizedArray, createElementID, PropertyFactory, ShapePropertyFactory, createNS, locationHref */\n\n\n  function MaskElement(data, element, globalData) {\n    (this || _global).data = data;\n    (this || _global).element = element;\n    (this || _global).globalData = globalData;\n    (this || _global).storedData = [];\n    (this || _global).masksProperties = (this || _global).data.masksProperties || [];\n    (this || _global).maskElement = null;\n    var defs = (this || _global).globalData.defs;\n    var i;\n    var len = (this || _global).masksProperties ? (this || _global).masksProperties.length : 0;\n    (this || _global).viewData = createSizedArray(len);\n    (this || _global).solidPath = \"\";\n    var path;\n    var properties = (this || _global).masksProperties;\n    var count = 0;\n    var currentMasks = [];\n    var j;\n    var jLen;\n    var layerId = createElementID();\n    var rect;\n    var expansor;\n    var feMorph;\n    var x;\n    var maskType = \"clipPath\";\n    var maskRef = \"clip-path\";\n\n    for (i = 0; i < len; i += 1) {\n      if (properties[i].mode !== \"a\" && properties[i].mode !== \"n\" || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n        maskType = \"mask\";\n        maskRef = \"mask\";\n      }\n\n      if ((properties[i].mode === \"s\" || properties[i].mode === \"i\") && count === 0) {\n        rect = createNS(\"rect\");\n        rect.setAttribute(\"fill\", \"#ffffff\");\n        rect.setAttribute(\"width\", (this || _global).element.comp.data.w || 0);\n        rect.setAttribute(\"height\", (this || _global).element.comp.data.h || 0);\n        currentMasks.push(rect);\n      } else {\n        rect = null;\n      }\n\n      path = createNS(\"path\");\n\n      if (properties[i].mode === \"n\") {\n        // TODO move this to a factory or to a constructor\n        (this || _global).viewData[i] = {\n          op: PropertyFactory.getProp((this || _global).element, properties[i].o, 0, 0.01, (this || _global).element),\n          prop: ShapePropertyFactory.getShapeProp((this || _global).element, properties[i], 3),\n          elem: path,\n          lastPath: \"\"\n        };\n        defs.appendChild(path);\n      } else {\n        count += 1;\n        path.setAttribute(\"fill\", properties[i].mode === \"s\" ? \"#000000\" : \"#ffffff\");\n        path.setAttribute(\"clip-rule\", \"nonzero\");\n        var filterID;\n\n        if (properties[i].x.k !== 0) {\n          maskType = \"mask\";\n          maskRef = \"mask\";\n          x = PropertyFactory.getProp((this || _global).element, properties[i].x, 0, null, (this || _global).element);\n          filterID = createElementID();\n          expansor = createNS(\"filter\");\n          expansor.setAttribute(\"id\", filterID);\n          feMorph = createNS(\"feMorphology\");\n          feMorph.setAttribute(\"operator\", \"erode\");\n          feMorph.setAttribute(\"in\", \"SourceGraphic\");\n          feMorph.setAttribute(\"radius\", \"0\");\n          expansor.appendChild(feMorph);\n          defs.appendChild(expansor);\n          path.setAttribute(\"stroke\", properties[i].mode === \"s\" ? \"#000000\" : \"#ffffff\");\n        } else {\n          feMorph = null;\n          x = null;\n        } // TODO move this to a factory or to a constructor\n\n\n        (this || _global).storedData[i] = {\n          elem: path,\n          x: x,\n          expan: feMorph,\n          lastPath: \"\",\n          lastOperator: \"\",\n          filterId: filterID,\n          lastRadius: 0\n        };\n\n        if (properties[i].mode === \"i\") {\n          jLen = currentMasks.length;\n          var g = createNS(\"g\");\n\n          for (j = 0; j < jLen; j += 1) {\n            g.appendChild(currentMasks[j]);\n          }\n\n          var mask = createNS(\"mask\");\n          mask.setAttribute(\"mask-type\", \"alpha\");\n          mask.setAttribute(\"id\", layerId + \"_\" + count);\n          mask.appendChild(path);\n          defs.appendChild(mask);\n          g.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + layerId + \"_\" + count + \")\");\n          currentMasks.length = 0;\n          currentMasks.push(g);\n        } else {\n          currentMasks.push(path);\n        }\n\n        if (properties[i].inv && !(this || _global).solidPath) {\n          (this || _global).solidPath = this.createLayerSolidPath();\n        } // TODO move this to a factory or to a constructor\n\n\n        (this || _global).viewData[i] = {\n          elem: path,\n          lastPath: \"\",\n          op: PropertyFactory.getProp((this || _global).element, properties[i].o, 0, 0.01, (this || _global).element),\n          prop: ShapePropertyFactory.getShapeProp((this || _global).element, properties[i], 3),\n          invRect: rect\n        };\n\n        if (!(this || _global).viewData[i].prop.k) {\n          this.drawPath(properties[i], (this || _global).viewData[i].prop.v, (this || _global).viewData[i]);\n        }\n      }\n    }\n\n    (this || _global).maskElement = createNS(maskType);\n    len = currentMasks.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).maskElement.appendChild(currentMasks[i]);\n    }\n\n    if (count > 0) {\n      (this || _global).maskElement.setAttribute(\"id\", layerId);\n\n      (this || _global).element.maskedElement.setAttribute(maskRef, \"url(\" + locationHref + \"#\" + layerId + \")\");\n\n      defs.appendChild((this || _global).maskElement);\n    }\n\n    if ((this || _global).viewData.length) {\n      (this || _global).element.addRenderableComponent(this || _global);\n    }\n  }\n\n  MaskElement.prototype.getMaskProperty = function (pos) {\n    return (this || _global).viewData[pos].prop;\n  };\n\n  MaskElement.prototype.renderFrame = function (isFirstFrame) {\n    var finalMat = (this || _global).element.finalTransform.mat;\n    var i;\n    var len = (this || _global).masksProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).viewData[i].prop._mdf || isFirstFrame) {\n        this.drawPath((this || _global).masksProperties[i], (this || _global).viewData[i].prop.v, (this || _global).viewData[i]);\n      }\n\n      if ((this || _global).viewData[i].op._mdf || isFirstFrame) {\n        (this || _global).viewData[i].elem.setAttribute(\"fill-opacity\", (this || _global).viewData[i].op.v);\n      }\n\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        if ((this || _global).viewData[i].invRect && ((this || _global).element.finalTransform.mProp._mdf || isFirstFrame)) {\n          (this || _global).viewData[i].invRect.setAttribute(\"transform\", finalMat.getInverseMatrix().to2dCSS());\n        }\n\n        if ((this || _global).storedData[i].x && ((this || _global).storedData[i].x._mdf || isFirstFrame)) {\n          var feMorph = (this || _global).storedData[i].expan;\n\n          if ((this || _global).storedData[i].x.v < 0) {\n            if ((this || _global).storedData[i].lastOperator !== \"erode\") {\n              (this || _global).storedData[i].lastOperator = \"erode\";\n\n              (this || _global).storedData[i].elem.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + (this || _global).storedData[i].filterId + \")\");\n            }\n\n            feMorph.setAttribute(\"radius\", -(this || _global).storedData[i].x.v);\n          } else {\n            if ((this || _global).storedData[i].lastOperator !== \"dilate\") {\n              (this || _global).storedData[i].lastOperator = \"dilate\";\n\n              (this || _global).storedData[i].elem.setAttribute(\"filter\", null);\n            }\n\n            (this || _global).storedData[i].elem.setAttribute(\"stroke-width\", (this || _global).storedData[i].x.v * 2);\n          }\n        }\n      }\n    }\n  };\n\n  MaskElement.prototype.getMaskelement = function () {\n    return (this || _global).maskElement;\n  };\n\n  MaskElement.prototype.createLayerSolidPath = function () {\n    var path = \"M0,0 \";\n    path += \" h\" + (this || _global).globalData.compSize.w;\n    path += \" v\" + (this || _global).globalData.compSize.h;\n    path += \" h-\" + (this || _global).globalData.compSize.w;\n    path += \" v-\" + (this || _global).globalData.compSize.h + \" \";\n    return path;\n  };\n\n  MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n    var pathString = \" M\" + pathNodes.v[0][0] + \",\" + pathNodes.v[0][1];\n    var i;\n    var len;\n    len = pathNodes._length;\n\n    for (i = 1; i < len; i += 1) {\n      // 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];\n      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];\n    } // 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];\n\n\n    if (pathNodes.c && len > 1) {\n      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];\n    } // pathNodes.__renderedString = pathString;\n\n\n    if (viewData.lastPath !== pathString) {\n      var pathShapeValue = \"\";\n\n      if (viewData.elem) {\n        if (pathNodes.c) {\n          pathShapeValue = pathData.inv ? (this || _global).solidPath + pathString : pathString;\n        }\n\n        viewData.elem.setAttribute(\"d\", pathShapeValue);\n      }\n\n      viewData.lastPath = pathString;\n    }\n  };\n\n  MaskElement.prototype.destroy = function () {\n    (this || _global).element = null;\n    (this || _global).globalData = null;\n    (this || _global).maskElement = null;\n    (this || _global).data = null;\n    (this || _global).masksProperties = null;\n  };\n  /**\r\n   * @file\r\n   * Handles AE's layer parenting property.\r\n   *\r\n   */\n\n\n  function HierarchyElement() {}\n\n  HierarchyElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes hierarchy properties\r\n       *\r\n       */\n    initHierarchy: function () {\n      // element's parent list\n      (this || _global).hierarchy = []; // if element is parent of another layer _isParent will be true\n\n      (this || _global)._isParent = false;\n      this.checkParenting();\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer's hierarchy.\r\n       * @param {array} hierarch\r\n       * layer's parent list\r\n       *\r\n       */\n    setHierarchy: function (hierarchy) {\n      (this || _global).hierarchy = hierarchy;\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer as parent.\r\n       *\r\n       */\n    setAsParent: function () {\n      (this || _global)._isParent = true;\n    },\n\n    /**\r\n       * @function\r\n       * Searches layer's parenting chain\r\n       *\r\n       */\n    checkParenting: function () {\n      if ((this || _global).data.parent !== undefined) {\n        (this || _global).comp.buildElementParenting(this || _global, (this || _global).data.parent, []);\n      }\n    }\n  };\n  /**\r\n   * @file\r\n   * Handles element's layer frame update.\r\n   * Checks layer in point and out point\r\n   *\r\n   */\n\n  function FrameElement() {}\n\n  FrameElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       */\n    initFrame: function () {\n      // set to true when inpoint is rendered\n      (this || _global)._isFirstFrame = false; // list of animated properties\n\n      (this || _global).dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n      (this || _global)._mdf = false;\n    },\n\n    /**\r\n       * @function\r\n       * Calculates all dynamic values\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       * @param {boolean} isVisible\r\n       * if layers is currently in range\r\n       *\r\n       */\n    prepareProperties: function (num, isVisible) {\n      var i;\n      var len = (this || _global).dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (isVisible || (this || _global)._isParent && (this || _global).dynamicProperties[i].propType === \"transform\") {\n          (this || _global).dynamicProperties[i].getValue();\n\n          if ((this || _global).dynamicProperties[i]._mdf) {\n            (this || _global).globalData._mdf = true;\n            (this || _global)._mdf = true;\n          }\n        }\n      }\n    },\n    addDynamicProperty: function (prop) {\n      if ((this || _global).dynamicProperties.indexOf(prop) === -1) {\n        (this || _global).dynamicProperties.push(prop);\n      }\n    }\n  };\n  /* global TransformPropertyFactory, Matrix */\n\n  function TransformElement() {}\n\n  TransformElement.prototype = {\n    initTransform: function () {\n      (this || _global).finalTransform = {\n        mProp: (this || _global).data.ks ? TransformPropertyFactory.getTransformProperty(this || _global, (this || _global).data.ks, this || _global) : {\n          o: 0\n        },\n        _matMdf: false,\n        _opMdf: false,\n        mat: new Matrix()\n      };\n\n      if ((this || _global).data.ao) {\n        (this || _global).finalTransform.mProp.autoOriented = true;\n      } // TODO: check TYPE 11: Guided elements\n\n\n      if ((this || _global).data.ty !== 11) {// this.createElements();\n      }\n    },\n    renderTransform: function () {\n      (this || _global).finalTransform._opMdf = (this || _global).finalTransform.mProp.o._mdf || (this || _global)._isFirstFrame;\n      (this || _global).finalTransform._matMdf = (this || _global).finalTransform.mProp._mdf || (this || _global)._isFirstFrame;\n\n      if ((this || _global).hierarchy) {\n        var mat;\n        var finalMat = (this || _global).finalTransform.mat;\n        var i = 0;\n        var len = (this || _global).hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n        if (!(this || _global).finalTransform._matMdf) {\n          while (i < len) {\n            if ((this || _global).hierarchy[i].finalTransform.mProp._mdf) {\n              (this || _global).finalTransform._matMdf = true;\n              break;\n            }\n\n            i += 1;\n          }\n        }\n\n        if ((this || _global).finalTransform._matMdf) {\n          mat = (this || _global).finalTransform.mProp.v.props;\n          finalMat.cloneFromProps(mat);\n\n          for (i = 0; i < len; i += 1) {\n            mat = (this || _global).hierarchy[i].finalTransform.mProp.v.props;\n            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]);\n          }\n        }\n      }\n    },\n    globalToLocal: function (pt) {\n      var transforms = [];\n      transforms.push((this || _global).finalTransform);\n      var flag = true;\n      var comp = (this || _global).comp;\n\n      while (flag) {\n        if (comp.finalTransform) {\n          if (comp.data.hasMask) {\n            transforms.splice(0, 0, comp.finalTransform);\n          }\n\n          comp = comp.comp;\n        } else {\n          flag = false;\n        }\n      }\n\n      var i;\n      var len = transforms.length;\n      var ptNew;\n\n      for (i = 0; i < len; i += 1) {\n        ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n        pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n      }\n\n      return pt;\n    },\n    mHelper: new Matrix()\n  };\n\n  function RenderableElement() {}\n\n  RenderableElement.prototype = {\n    initRenderable: function () {\n      // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n      (this || _global).isInRange = false; // layer's display state\n\n      (this || _global).hidden = false; // If layer's transparency equals 0, it can be hidden\n\n      (this || _global).isTransparent = false; // list of animated components\n\n      (this || _global).renderableComponents = [];\n    },\n    addRenderableComponent: function (component) {\n      if ((this || _global).renderableComponents.indexOf(component) === -1) {\n        (this || _global).renderableComponents.push(component);\n      }\n    },\n    removeRenderableComponent: function (component) {\n      if ((this || _global).renderableComponents.indexOf(component) !== -1) {\n        (this || _global).renderableComponents.splice((this || _global).renderableComponents.indexOf(component), 1);\n      }\n    },\n    prepareRenderableFrame: function (num) {\n      this.checkLayerLimits(num);\n    },\n    checkTransparency: function () {\n      if ((this || _global).finalTransform.mProp.o.v <= 0) {\n        if (!(this || _global).isTransparent && (this || _global).globalData.renderConfig.hideOnTransparent) {\n          (this || _global).isTransparent = true;\n          this.hide();\n        }\n      } else if ((this || _global).isTransparent) {\n        (this || _global).isTransparent = false;\n        this.show();\n      }\n    },\n\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       *\r\n       */\n    checkLayerLimits: function (num) {\n      if ((this || _global).data.ip - (this || _global).data.st <= num && (this || _global).data.op - (this || _global).data.st > num) {\n        if ((this || _global).isInRange !== true) {\n          (this || _global).globalData._mdf = true;\n          (this || _global)._mdf = true;\n          (this || _global).isInRange = true;\n          this.show();\n        }\n      } else if ((this || _global).isInRange !== false) {\n        (this || _global).globalData._mdf = true;\n        (this || _global).isInRange = false;\n        this.hide();\n      }\n    },\n    renderRenderable: function () {\n      var i;\n      var len = (this || _global).renderableComponents.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).renderableComponents[i].renderFrame((this || _global)._isFirstFrame);\n      }\n      /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n          this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n    },\n    sourceRectAtTime: function () {\n      return {\n        top: 0,\n        left: 0,\n        width: 100,\n        height: 100\n      };\n    },\n    getLayerSize: function () {\n      if ((this || _global).data.ty === 5) {\n        return {\n          w: (this || _global).data.textData.width,\n          h: (this || _global).data.textData.height\n        };\n      }\n\n      return {\n        w: (this || _global).data.width,\n        h: (this || _global).data.height\n      };\n    }\n  };\n  /* global extendPrototype, RenderableElement, createProxyFunction */\n\n  function RenderableDOMElement() {}\n\n  (function () {\n    var _prototype = {\n      initElement: function (data, globalData, comp) {\n        this.initFrame();\n        this.initBaseData(data, globalData, comp);\n        this.initTransform(data, globalData, comp);\n        this.initHierarchy();\n        this.initRenderable();\n        this.initRendererElement();\n        this.createContainerElements();\n        this.createRenderableComponents();\n        this.createContent();\n        this.hide();\n      },\n      hide: function () {\n        if (!(this || _global).hidden && (!(this || _global).isInRange || (this || _global).isTransparent)) {\n          var elem = (this || _global).baseElement || (this || _global).layerElement;\n          elem.style.display = \"none\";\n          (this || _global).hidden = true;\n        }\n      },\n      show: function () {\n        if ((this || _global).isInRange && !(this || _global).isTransparent) {\n          if (!(this || _global).data.hd) {\n            var elem = (this || _global).baseElement || (this || _global).layerElement;\n            elem.style.display = \"block\";\n          }\n\n          (this || _global).hidden = false;\n          (this || _global)._isFirstFrame = true;\n        }\n      },\n      renderFrame: function () {\n        // If it is exported as hidden (data.hd === true) no need to render\n        // If it is not visible no need to render\n        if ((this || _global).data.hd || (this || _global).hidden) {\n          return;\n        }\n\n        this.renderTransform();\n        this.renderRenderable();\n        this.renderElement();\n        this.renderInnerContent();\n\n        if ((this || _global)._isFirstFrame) {\n          (this || _global)._isFirstFrame = false;\n        }\n      },\n      renderInnerContent: function () {},\n      prepareFrame: function (num) {\n        (this || _global)._mdf = false;\n        this.prepareRenderableFrame(num);\n        this.prepareProperties(num, (this || _global).isInRange);\n        this.checkTransparency();\n      },\n      destroy: function () {\n        (this || _global).innerElem = null;\n        this.destroyBaseElement();\n      }\n    };\n    extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n  })();\n  /* exported ProcessedElement */\n\n\n  function ProcessedElement(element, position) {\n    (this || _global).elem = element;\n    (this || _global).pos = position;\n  }\n  /* global createNS */\n\n\n  function SVGStyleData(data, level) {\n    (this || _global).data = data;\n    (this || _global).type = data.ty;\n    (this || _global).d = \"\";\n    (this || _global).lvl = level;\n    (this || _global)._mdf = false;\n    (this || _global).closed = data.hd === true;\n    (this || _global).pElem = createNS(\"path\");\n    (this || _global).msElem = null;\n  }\n\n  SVGStyleData.prototype.reset = function () {\n    (this || _global).d = \"\";\n    (this || _global)._mdf = false;\n  };\n\n  function SVGShapeData(transformers, level, shape) {\n    (this || _global).caches = [];\n    (this || _global).styles = [];\n    (this || _global).transformers = transformers;\n    (this || _global).lStr = \"\";\n    (this || _global).sh = shape;\n    (this || _global).lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n    // For now, since shapes add up with other shapes. They have to be calculated every time.\n    // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n    (this || _global)._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n    var i = 0;\n    var len = transformers.length;\n\n    while (i < len) {\n      if (transformers[i].mProps.dynamicProperties.length) {\n        (this || _global)._isAnimated = true;\n        break;\n      }\n\n      i += 1;\n    }\n  }\n\n  SVGShapeData.prototype.setAsAnimated = function () {\n    (this || _global)._isAnimated = true;\n  };\n  /* exported SVGTransformData */\n\n\n  function SVGTransformData(mProps, op, container) {\n    (this || _global).transform = {\n      mProps: mProps,\n      op: op,\n      container: container\n    };\n    (this || _global).elements = [];\n    (this || _global)._isAnimated = (this || _global).transform.mProps.dynamicProperties.length || (this || _global).transform.op.effectsSequence.length;\n  }\n  /* global DashProperty, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n\n  function SVGStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).w = PropertyFactory.getProp(elem, data.w, 0, null, this || _global);\n    (this || _global).d = new DashProperty(elem, data.d || {}, \"svg\", this || _global);\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 1, 255, this || _global);\n    (this || _global).style = styleOb;\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n  /* global PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  function SVGFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 1, 255, this || _global);\n    (this || _global).style = styleOb;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n  /* global PropertyFactory, degToRads, GradientProperty, createElementID, createNS, locationHref,\r\n  extendPrototype, DynamicPropertyContainer */\n\n  function SVGGradientFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    this.initGradientData(elem, data, styleOb);\n  }\n\n  SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, null, this || _global);\n    (this || _global).e = PropertyFactory.getProp(elem, data.e, 1, null, this || _global);\n    (this || _global).h = PropertyFactory.getProp(elem, data.h || {\n      k: 0\n    }, 0, 0.01, this || _global);\n    (this || _global).a = PropertyFactory.getProp(elem, data.a || {\n      k: 0\n    }, 0, degToRads, this || _global);\n    (this || _global).g = new GradientProperty(elem, data.g, this || _global);\n    (this || _global).style = styleOb;\n    (this || _global).stops = [];\n    this.setGradientData(styleOb.pElem, data);\n    this.setGradientOpacity(data, styleOb);\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n    var gradientId = createElementID();\n    var gfill = createNS(data.t === 1 ? \"linearGradient\" : \"radialGradient\");\n    gfill.setAttribute(\"id\", gradientId);\n    gfill.setAttribute(\"spreadMethod\", \"pad\");\n    gfill.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n    var stops = [];\n    var stop;\n    var j;\n    var jLen;\n    jLen = data.g.p * 4;\n\n    for (j = 0; j < jLen; j += 4) {\n      stop = createNS(\"stop\");\n      gfill.appendChild(stop);\n      stops.push(stop);\n    }\n\n    pathElement.setAttribute(data.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + gradientId + \")\");\n    (this || _global).gf = gfill;\n    (this || _global).cst = stops;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n    if ((this || _global).g._hasOpacity && !(this || _global).g._collapsable) {\n      var stop;\n      var j;\n      var jLen;\n      var mask = createNS(\"mask\");\n      var maskElement = createNS(\"path\");\n      mask.appendChild(maskElement);\n      var opacityId = createElementID();\n      var maskId = createElementID();\n      mask.setAttribute(\"id\", maskId);\n      var opFill = createNS(data.t === 1 ? \"linearGradient\" : \"radialGradient\");\n      opFill.setAttribute(\"id\", opacityId);\n      opFill.setAttribute(\"spreadMethod\", \"pad\");\n      opFill.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n      jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n      var stops = (this || _global).stops;\n\n      for (j = data.g.p * 4; j < jLen; j += 2) {\n        stop = createNS(\"stop\");\n        stop.setAttribute(\"stop-color\", \"rgb(255,255,255)\");\n        opFill.appendChild(stop);\n        stops.push(stop);\n      }\n\n      maskElement.setAttribute(data.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + opacityId + \")\");\n      (this || _global).of = opFill;\n      (this || _global).ms = mask;\n      (this || _global).ost = stops;\n      (this || _global).maskId = maskId;\n      styleOb.msElem = maskElement;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n  /* global PropertyFactory, DashProperty, extendPrototype, SVGGradientFillStyleData, DynamicPropertyContainer */\n\n  function SVGGradientStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).w = PropertyFactory.getProp(elem, data.w, 0, null, this || _global);\n    (this || _global).d = new DashProperty(elem, data.d || {}, \"svg\", this || _global);\n    this.initGradientData(elem, data, styleOb);\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  }\n\n  extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n  /* global createNS */\n\n  /* exported ShapeGroupData */\n\n  function ShapeGroupData() {\n    (this || _global).it = [];\n    (this || _global).prevViewData = [];\n    (this || _global).gr = createNS(\"g\");\n  }\n  /* global Matrix, buildShapeString, bmFloor */\n\n  /* exported SVGElementsRenderer */\n\n\n  var SVGElementsRenderer = function () {\n    var _identityMatrix = new Matrix();\n\n    var _matrixHelper = new Matrix();\n\n    var ob = {\n      createRenderFunction: createRenderFunction\n    };\n\n    function createRenderFunction(data) {\n      switch (data.ty) {\n        case \"fl\":\n          return renderFill;\n\n        case \"gf\":\n          return renderGradient;\n\n        case \"gs\":\n          return renderGradientStroke;\n\n        case \"st\":\n          return renderStroke;\n\n        case \"sh\":\n        case \"el\":\n        case \"rc\":\n        case \"sr\":\n          return renderPath;\n\n        case \"tr\":\n          return renderContentTransform;\n\n        default:\n          return null;\n      }\n    }\n\n    function renderContentTransform(styleData, itemData, isFirstFrame) {\n      if (isFirstFrame || itemData.transform.op._mdf) {\n        itemData.transform.container.setAttribute(\"opacity\", itemData.transform.op.v);\n      }\n\n      if (isFirstFrame || itemData.transform.mProps._mdf) {\n        itemData.transform.container.setAttribute(\"transform\", itemData.transform.mProps.v.to2dCSS());\n      }\n    }\n\n    function renderPath(styleData, itemData, isFirstFrame) {\n      var j;\n      var jLen;\n      var pathStringTransformed;\n      var redraw;\n      var pathNodes;\n      var l;\n      var lLen = itemData.styles.length;\n      var lvl = itemData.lvl;\n      var paths;\n      var mat;\n      var props;\n      var iterations;\n      var k;\n\n      for (l = 0; l < lLen; l += 1) {\n        redraw = itemData.sh._mdf || isFirstFrame;\n\n        if (itemData.styles[l].lvl < lvl) {\n          mat = _matrixHelper.reset();\n          iterations = lvl - itemData.styles[l].lvl;\n          k = itemData.transformers.length - 1;\n\n          while (!redraw && iterations > 0) {\n            redraw = itemData.transformers[k].mProps._mdf || redraw;\n            iterations -= 1;\n            k -= 1;\n          }\n\n          if (redraw) {\n            iterations = lvl - itemData.styles[l].lvl;\n            k = itemData.transformers.length - 1;\n\n            while (iterations > 0) {\n              props = itemData.transformers[k].mProps.v.props;\n              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]);\n              iterations -= 1;\n              k -= 1;\n            }\n          }\n        } else {\n          mat = _identityMatrix;\n        }\n\n        paths = itemData.sh.paths;\n        jLen = paths._length;\n\n        if (redraw) {\n          pathStringTransformed = \"\";\n\n          for (j = 0; j < jLen; j += 1) {\n            pathNodes = paths.shapes[j];\n\n            if (pathNodes && pathNodes._length) {\n              pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n            }\n          }\n\n          itemData.caches[l] = pathStringTransformed;\n        } else {\n          pathStringTransformed = itemData.caches[l];\n        }\n\n        itemData.styles[l].d += styleData.hd === true ? \"\" : pathStringTransformed;\n        itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n      }\n    }\n\n    function renderFill(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n\n      if (itemData.c._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"fill\", \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\");\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"fill-opacity\", itemData.o.v);\n      }\n    }\n\n    function renderGradientStroke(styleData, itemData, isFirstFrame) {\n      renderGradient(styleData, itemData, isFirstFrame);\n      renderStroke(styleData, itemData, isFirstFrame);\n    }\n\n    function renderGradient(styleData, itemData, isFirstFrame) {\n      var gfill = itemData.gf;\n      var hasOpacity = itemData.g._hasOpacity;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (itemData.o._mdf || isFirstFrame) {\n        var attr = styleData.ty === \"gf\" ? \"fill-opacity\" : \"stroke-opacity\";\n        itemData.style.pElem.setAttribute(attr, itemData.o.v);\n      }\n\n      if (itemData.s._mdf || isFirstFrame) {\n        var attr1 = styleData.t === 1 ? \"x1\" : \"cx\";\n        var attr2 = attr1 === \"x1\" ? \"y1\" : \"cy\";\n        gfill.setAttribute(attr1, pt1[0]);\n        gfill.setAttribute(attr2, pt1[1]);\n\n        if (hasOpacity && !itemData.g._collapsable) {\n          itemData.of.setAttribute(attr1, pt1[0]);\n          itemData.of.setAttribute(attr2, pt1[1]);\n        }\n      }\n\n      var stops;\n      var i;\n      var len;\n      var stop;\n\n      if (itemData.g._cmdf || isFirstFrame) {\n        stops = itemData.cst;\n        var cValues = itemData.g.c;\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n          stop.setAttribute(\"offset\", cValues[i * 4] + \"%\");\n          stop.setAttribute(\"stop-color\", \"rgb(\" + cValues[i * 4 + 1] + \",\" + cValues[i * 4 + 2] + \",\" + cValues[i * 4 + 3] + \")\");\n        }\n      }\n\n      if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n        var oValues = itemData.g.o;\n\n        if (itemData.g._collapsable) {\n          stops = itemData.cst;\n        } else {\n          stops = itemData.ost;\n        }\n\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n\n          if (!itemData.g._collapsable) {\n            stop.setAttribute(\"offset\", oValues[i * 2] + \"%\");\n          }\n\n          stop.setAttribute(\"stop-opacity\", oValues[i * 2 + 1]);\n        }\n      }\n\n      if (styleData.t === 1) {\n        if (itemData.e._mdf || isFirstFrame) {\n          gfill.setAttribute(\"x2\", pt2[0]);\n          gfill.setAttribute(\"y2\", pt2[1]);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"x2\", pt2[0]);\n            itemData.of.setAttribute(\"y2\", pt2[1]);\n          }\n        }\n      } else {\n        var rad;\n\n        if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n          rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          gfill.setAttribute(\"r\", rad);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"r\", rad);\n          }\n        }\n\n        if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n          if (!rad) {\n            rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          }\n\n          var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n          var percent = itemData.h.v;\n\n          if (percent >= 1) {\n            percent = 0.99;\n          } else if (percent <= -1) {\n            percent = -0.99;\n          }\n\n          var dist = rad * percent;\n          var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n          var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n          gfill.setAttribute(\"fx\", x);\n          gfill.setAttribute(\"fy\", y);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"fx\", x);\n            itemData.of.setAttribute(\"fy\", y);\n          }\n        } // gfill.setAttribute('fy','200');\n\n      }\n    }\n\n    function renderStroke(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n      var d = itemData.d;\n\n      if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n        styleElem.pElem.setAttribute(\"stroke-dasharray\", d.dashStr);\n        styleElem.pElem.setAttribute(\"stroke-dashoffset\", d.dashoffset[0]);\n      }\n\n      if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n        styleElem.pElem.setAttribute(\"stroke\", \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\");\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"stroke-opacity\", itemData.o.v);\n      }\n\n      if (itemData.w._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"stroke-width\", itemData.w.v);\n\n        if (styleElem.msElem) {\n          styleElem.msElem.setAttribute(\"stroke-width\", itemData.w.v);\n        }\n      }\n    }\n\n    return ob;\n  }();\n  /* global Matrix */\n\n\n  function ShapeTransformManager() {\n    (this || _global).sequences = {};\n    (this || _global).sequenceList = [];\n    (this || _global).transform_key_count = 0;\n  }\n\n  ShapeTransformManager.prototype = {\n    addTransformSequence: function (transforms) {\n      var i;\n      var len = transforms.length;\n      var key = \"_\";\n\n      for (i = 0; i < len; i += 1) {\n        key += transforms[i].transform.key + \"_\";\n      }\n\n      var sequence = (this || _global).sequences[key];\n\n      if (!sequence) {\n        sequence = {\n          transforms: [].concat(transforms),\n          finalTransform: new Matrix(),\n          _mdf: false\n        };\n        (this || _global).sequences[key] = sequence;\n\n        (this || _global).sequenceList.push(sequence);\n      }\n\n      return sequence;\n    },\n    processSequence: function (sequence, isFirstFrame) {\n      var i = 0;\n      var len = sequence.transforms.length;\n      var _mdf = isFirstFrame;\n\n      while (i < len && !isFirstFrame) {\n        if (sequence.transforms[i].transform.mProps._mdf) {\n          _mdf = true;\n          break;\n        }\n\n        i += 1;\n      }\n\n      if (_mdf) {\n        var props;\n        sequence.finalTransform.reset();\n\n        for (i = len - 1; i >= 0; i -= 1) {\n          props = sequence.transforms[i].transform.mProps.v.props;\n          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]);\n        }\n      }\n\n      sequence._mdf = _mdf;\n    },\n    processSequences: function (isFirstFrame) {\n      var i;\n      var len = (this || _global).sequenceList.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.processSequence((this || _global).sequenceList[i], isFirstFrame);\n      }\n    },\n    getNewKey: function () {\n      (this || _global).transform_key_count += 1;\n      return \"_\" + (this || _global).transform_key_count;\n    }\n  };\n  /* global ShapePropertyFactory, SVGShapeData */\n\n  function CVShapeData(element, data, styles, transformsManager) {\n    (this || _global).styledShapes = [];\n    (this || _global).tr = [0, 0, 0, 0, 0, 0];\n    var ty = 4;\n\n    if (data.ty === \"rc\") {\n      ty = 5;\n    } else if (data.ty === \"el\") {\n      ty = 6;\n    } else if (data.ty === \"sr\") {\n      ty = 7;\n    }\n\n    (this || _global).sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n    var i;\n    var len = styles.length;\n    var styledShape;\n\n    for (i = 0; i < len; i += 1) {\n      if (!styles[i].closed) {\n        styledShape = {\n          transforms: transformsManager.addTransformSequence(styles[i].transforms),\n          trNodes: []\n        };\n\n        (this || _global).styledShapes.push(styledShape);\n\n        styles[i].elements.push(styledShape);\n      }\n    }\n  }\n\n  CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n  /* global LayerExpressionInterface, EffectsExpressionInterface, CompExpressionInterface, ShapeExpressionInterface,\r\n  TextExpressionInterface, getBlendMode,createElementID, EffectsManager */\n\n  function BaseElement() {}\n\n  BaseElement.prototype = {\n    checkMasks: function () {\n      if (!(this || _global).data.hasMask) {\n        return false;\n      }\n\n      var i = 0;\n      var len = (this || _global).data.masksProperties.length;\n\n      while (i < len) {\n        if ((this || _global).data.masksProperties[i].mode !== \"n\" && (this || _global).data.masksProperties[i].cl !== false) {\n          return true;\n        }\n\n        i += 1;\n      }\n\n      return false;\n    },\n    initExpressions: function () {\n      (this || _global).layerInterface = LayerExpressionInterface(this || _global);\n\n      if ((this || _global).data.hasMask && (this || _global).maskManager) {\n        (this || _global).layerInterface.registerMaskInterface((this || _global).maskManager);\n      }\n\n      var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this || _global, (this || _global).layerInterface);\n\n      (this || _global).layerInterface.registerEffectsInterface(effectsInterface);\n\n      if ((this || _global).data.ty === 0 || (this || _global).data.xt) {\n        (this || _global).compInterface = CompExpressionInterface(this || _global);\n      } else if ((this || _global).data.ty === 4) {\n        (this || _global).layerInterface.shapeInterface = ShapeExpressionInterface((this || _global).shapesData, (this || _global).itemsData, (this || _global).layerInterface);\n        (this || _global).layerInterface.content = (this || _global).layerInterface.shapeInterface;\n      } else if ((this || _global).data.ty === 5) {\n        (this || _global).layerInterface.textInterface = TextExpressionInterface(this || _global);\n        (this || _global).layerInterface.text = (this || _global).layerInterface.textInterface;\n      }\n    },\n    setBlendMode: function () {\n      var blendModeValue = getBlendMode((this || _global).data.bm);\n      var elem = (this || _global).baseElement || (this || _global).layerElement;\n      elem.style[\"mix-blend-mode\"] = blendModeValue;\n    },\n    initBaseData: function (data, globalData, comp) {\n      (this || _global).globalData = globalData;\n      (this || _global).comp = comp;\n      (this || _global).data = data;\n      (this || _global).layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n      if (!(this || _global).data.sr) {\n        (this || _global).data.sr = 1;\n      } // effects manager\n\n\n      (this || _global).effectsManager = new EffectsManager((this || _global).data, this || _global, (this || _global).dynamicProperties);\n    },\n    getType: function () {\n      return (this || _global).type;\n    },\n    sourceRectAtTime: function () {}\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement */\n\n  function NullElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initFrame();\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n  }\n\n  NullElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  NullElement.prototype.renderFrame = function () {};\n\n  NullElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  NullElement.prototype.destroy = function () {};\n\n  NullElement.prototype.sourceRectAtTime = function () {};\n\n  NullElement.prototype.hide = function () {};\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n  /* global filtersFactory, featureSupport, filtersFactory, createElementID, createNS, MaskElement, SVGEffects, locationHref */\n\n  function SVGBaseElement() {}\n\n  SVGBaseElement.prototype = {\n    initRendererElement: function () {\n      (this || _global).layerElement = createNS(\"g\");\n    },\n    createContainerElements: function () {\n      (this || _global).matteElement = createNS(\"g\");\n      (this || _global).transformedElement = (this || _global).layerElement;\n      (this || _global).maskedElement = (this || _global).layerElement;\n      (this || _global)._sizeChanged = false;\n      var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n      var filId;\n      var fil;\n      var gg;\n\n      if ((this || _global).data.td) {\n        if ((this || _global).data.td == 3 || (this || _global).data.td == 1) {\n          // eslint-disable-line eqeqeq\n          var masker = createNS(\"mask\");\n          masker.setAttribute(\"id\", (this || _global).layerId);\n          masker.setAttribute(\"mask-type\", (this || _global).data.td == 3 ? \"luminance\" : \"alpha\"); // eslint-disable-line eqeqeq\n\n          masker.appendChild((this || _global).layerElement);\n          layerElementParent = masker;\n\n          (this || _global).globalData.defs.appendChild(masker); // This is only for IE and Edge when mask if of type alpha\n\n\n          if (!featureSupport.maskType && (this || _global).data.td == 1) {\n            // eslint-disable-line eqeqeq\n            masker.setAttribute(\"mask-type\", \"luminance\");\n            filId = createElementID();\n            fil = filtersFactory.createFilter(filId);\n\n            (this || _global).globalData.defs.appendChild(fil);\n\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS(\"g\");\n            gg.appendChild((this || _global).layerElement);\n            layerElementParent = gg;\n            masker.appendChild(gg);\n            gg.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n          }\n        } else if ((this || _global).data.td == 2) {\n          // eslint-disable-line eqeqeq\n          var maskGroup = createNS(\"mask\");\n          maskGroup.setAttribute(\"id\", (this || _global).layerId);\n          maskGroup.setAttribute(\"mask-type\", \"alpha\");\n          var maskGrouper = createNS(\"g\");\n          maskGroup.appendChild(maskGrouper);\n          filId = createElementID();\n          fil = filtersFactory.createFilter(filId); /// /\n          // This solution doesn't work on Android when meta tag with viewport attribute is set\n\n          /* var feColorMatrix = createNS('feColorMatrix');\r\n                  feColorMatrix.setAttribute('type', 'matrix');\r\n                  feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\r\n                  feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 -1 1');\r\n                  fil.appendChild(feColorMatrix); */\n          /// /\n\n          var feCTr = createNS(\"feComponentTransfer\");\n          feCTr.setAttribute(\"in\", \"SourceGraphic\");\n          fil.appendChild(feCTr);\n          var feFunc = createNS(\"feFuncA\");\n          feFunc.setAttribute(\"type\", \"table\");\n          feFunc.setAttribute(\"tableValues\", \"1.0 0.0\");\n          feCTr.appendChild(feFunc); /// /\n\n          (this || _global).globalData.defs.appendChild(fil);\n\n          var alphaRect = createNS(\"rect\");\n          alphaRect.setAttribute(\"width\", (this || _global).comp.data.w);\n          alphaRect.setAttribute(\"height\", (this || _global).comp.data.h);\n          alphaRect.setAttribute(\"x\", \"0\");\n          alphaRect.setAttribute(\"y\", \"0\");\n          alphaRect.setAttribute(\"fill\", \"#ffffff\");\n          alphaRect.setAttribute(\"opacity\", \"0\");\n          maskGrouper.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n          maskGrouper.appendChild(alphaRect);\n          maskGrouper.appendChild((this || _global).layerElement);\n          layerElementParent = maskGrouper;\n\n          if (!featureSupport.maskType) {\n            maskGroup.setAttribute(\"mask-type\", \"luminance\");\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS(\"g\");\n            maskGrouper.appendChild(alphaRect);\n            gg.appendChild((this || _global).layerElement);\n            layerElementParent = gg;\n            maskGrouper.appendChild(gg);\n          }\n\n          (this || _global).globalData.defs.appendChild(maskGroup);\n        }\n      } else if ((this || _global).data.tt) {\n        (this || _global).matteElement.appendChild((this || _global).layerElement);\n\n        layerElementParent = (this || _global).matteElement;\n        (this || _global).baseElement = (this || _global).matteElement;\n      } else {\n        (this || _global).baseElement = (this || _global).layerElement;\n      }\n\n      if ((this || _global).data.ln) {\n        (this || _global).layerElement.setAttribute(\"id\", (this || _global).data.ln);\n      }\n\n      if ((this || _global).data.cl) {\n        (this || _global).layerElement.setAttribute(\"class\", (this || _global).data.cl);\n      } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n      if ((this || _global).data.ty === 0 && !(this || _global).data.hd) {\n        var cp = createNS(\"clipPath\");\n        var pt = createNS(\"path\");\n        pt.setAttribute(\"d\", \"M0,0 L\" + (this || _global).data.w + \",0 L\" + (this || _global).data.w + \",\" + (this || _global).data.h + \" L0,\" + (this || _global).data.h + \"z\");\n        var clipId = createElementID();\n        cp.setAttribute(\"id\", clipId);\n        cp.appendChild(pt);\n\n        (this || _global).globalData.defs.appendChild(cp);\n\n        if (this.checkMasks()) {\n          var cpGroup = createNS(\"g\");\n          cpGroup.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + clipId + \")\");\n          cpGroup.appendChild((this || _global).layerElement);\n          (this || _global).transformedElement = cpGroup;\n\n          if (layerElementParent) {\n            layerElementParent.appendChild((this || _global).transformedElement);\n          } else {\n            (this || _global).baseElement = (this || _global).transformedElement;\n          }\n        } else {\n          (this || _global).layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + clipId + \")\");\n        }\n      }\n\n      if ((this || _global).data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function () {\n      if ((this || _global).finalTransform._matMdf) {\n        (this || _global).transformedElement.setAttribute(\"transform\", (this || _global).finalTransform.mat.to2dCSS());\n      }\n\n      if ((this || _global).finalTransform._opMdf) {\n        (this || _global).transformedElement.setAttribute(\"opacity\", (this || _global).finalTransform.mProp.o.v);\n      }\n    },\n    destroyBaseElement: function () {\n      (this || _global).layerElement = null;\n      (this || _global).matteElement = null;\n\n      (this || _global).maskManager.destroy();\n    },\n    getBaseElement: function () {\n      if ((this || _global).data.hd) {\n        return null;\n      }\n\n      return (this || _global).baseElement;\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new MaskElement((this || _global).data, this || _global, (this || _global).globalData);\n      (this || _global).renderableEffectsManager = new SVGEffects(this || _global);\n    },\n    setMatte: function (id) {\n      if (!(this || _global).matteElement) {\n        return;\n      }\n\n      (this || _global).matteElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + id + \")\");\n    }\n  };\n  /* global ProcessedElement */\n\n  function IShapeElement() {}\n\n  IShapeElement.prototype = {\n    addShapeToModifiers: function (data) {\n      var i;\n      var len = (this || _global).shapeModifiers.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapeModifiers[i].addShape(data);\n      }\n    },\n    isShapeInAnimatedModifiers: function (data) {\n      var i = 0;\n      var len = (this || _global).shapeModifiers.length;\n\n      while (i < len) {\n        if ((this || _global).shapeModifiers[i].isAnimatedWithShape(data)) {\n          return true;\n        }\n      }\n\n      return false;\n    },\n    renderModifiers: function () {\n      if (!(this || _global).shapeModifiers.length) {\n        return;\n      }\n\n      var i;\n      var len = (this || _global).shapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapes[i].sh.reset();\n      }\n\n      len = (this || _global).shapeModifiers.length;\n      var shouldBreakProcess;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shouldBreakProcess = (this || _global).shapeModifiers[i].processShapes((this || _global)._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n        // TODO: find a better solution for this\n\n        if (shouldBreakProcess) {\n          break;\n        }\n      }\n    },\n    lcEnum: {\n      1: \"butt\",\n      2: \"round\",\n      3: \"square\"\n    },\n    ljEnum: {\n      1: \"miter\",\n      2: \"round\",\n      3: \"bevel\"\n    },\n    searchProcessedElement: function (elem) {\n      var elements = (this || _global).processedElements;\n      var i = 0;\n      var len = elements.length;\n\n      while (i < len) {\n        if (elements[i].elem === elem) {\n          return elements[i].pos;\n        }\n\n        i += 1;\n      }\n\n      return 0;\n    },\n    addProcessedElement: function (elem, pos) {\n      var elements = (this || _global).processedElements;\n      var i = elements.length;\n\n      while (i) {\n        i -= 1;\n\n        if (elements[i].elem === elem) {\n          elements[i].pos = pos;\n          return;\n        }\n      }\n\n      elements.push(new ProcessedElement(elem, pos));\n    },\n    prepareFrame: function (num) {\n      this.prepareRenderableFrame(num);\n      this.prepareProperties(num, (this || _global).isInRange);\n    }\n  };\n  /* global TextProperty, TextAnimatorProperty, buildShapeString, LetterProps */\n\n  function ITextElement() {}\n\n  ITextElement.prototype.initElement = function (data, globalData, comp) {\n    (this || _global).lettersChangedFlag = true;\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    (this || _global).textProperty = new TextProperty(this || _global, data.t, (this || _global).dynamicProperties);\n    (this || _global).textAnimator = new TextAnimatorProperty(data.t, (this || _global).renderType, this || _global);\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n    this.initRenderable();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n    this.createContent();\n    this.hide();\n\n    (this || _global).textAnimator.searchProperties((this || _global).dynamicProperties);\n  };\n\n  ITextElement.prototype.prepareFrame = function (num) {\n    (this || _global)._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, (this || _global).isInRange);\n\n    if ((this || _global).textProperty._mdf || (this || _global).textProperty._isFirstFrame) {\n      this.buildNewText();\n      (this || _global).textProperty._isFirstFrame = false;\n      (this || _global).textProperty._mdf = false;\n    }\n  };\n\n  ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n    var j;\n    var jLen = shapes.length;\n    var pathNodes;\n    var shapeStr = \"\";\n\n    for (j = 0; j < jLen; j += 1) {\n      pathNodes = shapes[j].ks.k;\n      shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n    }\n\n    return shapeStr;\n  };\n\n  ITextElement.prototype.updateDocumentData = function (newData, index) {\n    (this || _global).textProperty.updateDocumentData(newData, index);\n  };\n\n  ITextElement.prototype.canResizeFont = function (_canResize) {\n    (this || _global).textProperty.canResizeFont(_canResize);\n  };\n\n  ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n    (this || _global).textProperty.setMinimumFontSize(_fontSize);\n  };\n\n  ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n    if (documentData.ps) {\n      matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n    }\n\n    matrixHelper.translate(0, -documentData.ls, 0);\n\n    switch (documentData.j) {\n      case 1:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n        break;\n\n      case 2:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n        break;\n\n      default:\n        break;\n    }\n\n    matrixHelper.translate(xPos, yPos, 0);\n  };\n\n  ITextElement.prototype.buildColor = function (colorData) {\n    return \"rgb(\" + Math.round(colorData[0] * 255) + \",\" + Math.round(colorData[1] * 255) + \",\" + Math.round(colorData[2] * 255) + \")\";\n  };\n\n  ITextElement.prototype.emptyProp = new LetterProps();\n\n  ITextElement.prototype.destroy = function () {};\n  /* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement */\n\n\n  function ICompElement() {}\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n  ICompElement.prototype.initElement = function (data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initTransform(data, globalData, comp);\n    this.initRenderable();\n    this.initHierarchy();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n\n    if ((this || _global).data.xt || !globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n\n    this.hide();\n  };\n  /* ICompElement.prototype.hide = function(){\r\n      if(!this.hidden){\r\n          this.hideElement();\r\n          var i,len = this.elements.length;\r\n          for( i = 0; i < len; i+=1 ){\r\n              if(this.elements[i]){\r\n                  this.elements[i].hide();\r\n              }\r\n          }\r\n      }\r\n  }; */\n\n\n  ICompElement.prototype.prepareFrame = function (num) {\n    (this || _global)._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, (this || _global).isInRange);\n\n    if (!(this || _global).isInRange && !(this || _global).data.xt) {\n      return;\n    }\n\n    if (!(this || _global).tm._placeholder) {\n      var timeRemapped = (this || _global).tm.v;\n\n      if (timeRemapped === (this || _global).data.op) {\n        timeRemapped = (this || _global).data.op - 1;\n      }\n\n      (this || _global).renderedFrame = timeRemapped;\n    } else {\n      (this || _global).renderedFrame = num / (this || _global).data.sr;\n    }\n\n    var i;\n    var len = (this || _global).elements.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers((this || _global).renderedFrame);\n    } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame((this || _global).renderedFrame - (this || _global).layers[i].st);\n\n        if ((this || _global).elements[i]._mdf) {\n          (this || _global)._mdf = true;\n        }\n      }\n    }\n  };\n\n  ICompElement.prototype.renderInnerContent = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].renderFrame();\n      }\n    }\n  };\n\n  ICompElement.prototype.setElements = function (elems) {\n    (this || _global).elements = elems;\n  };\n\n  ICompElement.prototype.getElements = function () {\n    return (this || _global).elements;\n  };\n\n  ICompElement.prototype.destroyElements = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n  };\n\n  ICompElement.prototype.destroy = function () {\n    this.destroyElements();\n    this.destroyBaseElement();\n  };\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, createNS */\n\n\n  function IImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initElement(data, globalData, comp);\n    (this || _global).sourceRect = {\n      top: 0,\n      left: 0,\n      width: (this || _global).assetData.w,\n      height: (this || _global).assetData.h\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n  IImageElement.prototype.createContent = function () {\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    (this || _global).innerElem = createNS(\"image\");\n\n    (this || _global).innerElem.setAttribute(\"width\", (this || _global).assetData.w + \"px\");\n\n    (this || _global).innerElem.setAttribute(\"height\", (this || _global).assetData.h + \"px\");\n\n    (this || _global).innerElem.setAttribute(\"preserveAspectRatio\", (this || _global).assetData.pr || (this || _global).globalData.renderConfig.imagePreserveAspectRatio);\n\n    (this || _global).innerElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", assetPath);\n\n    (this || _global).layerElement.appendChild((this || _global).innerElem);\n  };\n\n  IImageElement.prototype.sourceRectAtTime = function () {\n    return (this || _global).sourceRect;\n  };\n  /* global extendPrototype, IImageElement, createNS */\n\n\n  function ISolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([IImageElement], ISolidElement);\n\n  ISolidElement.prototype.createContent = function () {\n    var rect = createNS(\"rect\"); /// /rect.style.width = this.data.sw;\n    /// /rect.style.height = this.data.sh;\n    /// /rect.style.fill = this.data.sc;\n\n    rect.setAttribute(\"width\", (this || _global).data.sw);\n    rect.setAttribute(\"height\", (this || _global).data.sh);\n    rect.setAttribute(\"fill\", (this || _global).data.sc);\n\n    (this || _global).layerElement.appendChild(rect);\n  };\n  /* global PropertyFactory, extendPrototype, RenderableElement, BaseElement, FrameElement */\n\n\n  function AudioElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initBaseData(data, globalData, comp);\n    (this || _global)._isPlaying = false;\n    (this || _global)._canPlay = false;\n\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    (this || _global).audio = (this || _global).globalData.audioController.createAudio(assetPath);\n    (this || _global)._currentTime = 0;\n\n    (this || _global).globalData.audioController.addAudio(this || _global);\n\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  AudioElement.prototype.prepareFrame = function (num) {\n    this.prepareRenderableFrame(num, true);\n    this.prepareProperties(num, true);\n\n    if (!(this || _global).tm._placeholder) {\n      var timeRemapped = (this || _global).tm.v;\n      (this || _global)._currentTime = timeRemapped;\n    } else {\n      (this || _global)._currentTime = num / (this || _global).data.sr;\n    }\n  };\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n  AudioElement.prototype.renderFrame = function () {\n    if ((this || _global).isInRange && (this || _global)._canPlay) {\n      if (!(this || _global)._isPlaying) {\n        (this || _global).audio.play();\n\n        (this || _global).audio.seek((this || _global)._currentTime / (this || _global).globalData.frameRate);\n\n        (this || _global)._isPlaying = true;\n      } else if (!(this || _global).audio.playing() || Math.abs((this || _global)._currentTime / (this || _global).globalData.frameRate - (this || _global).audio.seek()) > 0.1) {\n        (this || _global).audio.seek((this || _global)._currentTime / (this || _global).globalData.frameRate);\n      }\n    }\n  };\n\n  AudioElement.prototype.show = function () {// this.audio.play()\n  };\n\n  AudioElement.prototype.hide = function () {\n    (this || _global).audio.pause();\n\n    (this || _global)._isPlaying = false;\n  };\n\n  AudioElement.prototype.pause = function () {\n    (this || _global).audio.pause();\n\n    (this || _global)._isPlaying = false;\n    (this || _global)._canPlay = false;\n  };\n\n  AudioElement.prototype.resume = function () {\n    (this || _global)._canPlay = true;\n  };\n\n  AudioElement.prototype.setRate = function (rateValue) {\n    (this || _global).audio.rate(rateValue);\n  };\n\n  AudioElement.prototype.volume = function (volumeValue) {\n    (this || _global).audio.volume(volumeValue);\n  };\n\n  AudioElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  AudioElement.prototype.destroy = function () {};\n\n  AudioElement.prototype.sourceRectAtTime = function () {};\n\n  AudioElement.prototype.initExpressions = function () {};\n  /* global extendPrototype, RenderableElement, BaseElement, FrameElement, FootageInterface */\n\n\n  function FootageElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    (this || _global).footageData = globalData.imageLoader.getAsset((this || _global).assetData);\n    this.initBaseData(data, globalData, comp);\n  }\n\n  FootageElement.prototype.prepareFrame = function () {};\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n  FootageElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  FootageElement.prototype.renderFrame = function () {};\n\n  FootageElement.prototype.destroy = function () {};\n\n  FootageElement.prototype.initExpressions = function () {\n    (this || _global).layerInterface = FootageInterface(this || _global);\n  };\n\n  FootageElement.prototype.getFootageData = function () {\n    return (this || _global).footageData;\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, SVGRenderer, ICompElement, SVGBaseElement */\n\n\n  function SVGCompElement(data, globalData, comp) {\n    (this || _global).layers = data.layers;\n    (this || _global).supports3d = true;\n    (this || _global).completeLayers = false;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = (this || _global).layers ? createSizedArray((this || _global).layers.length) : []; // this.layerElement = createNS('g');\n\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement);\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, ITextElement, createSizedArray, createNS */\n\n  function SVGTextLottieElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).renderType = \"svg\";\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n  SVGTextLottieElement.prototype.createContent = function () {\n    if ((this || _global).data.singleShape && !(this || _global).globalData.fontManager.chars) {\n      (this || _global).textContainer = createNS(\"text\");\n    }\n  };\n\n  SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n    var i = 0;\n    var len = textArray.length;\n    var textContents = [];\n    var currentTextContent = \"\";\n\n    while (i < len) {\n      if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n        textContents.push(currentTextContent);\n        currentTextContent = \"\";\n      } else {\n        currentTextContent += textArray[i];\n      }\n\n      i += 1;\n    }\n\n    textContents.push(currentTextContent);\n    return textContents;\n  };\n\n  SVGTextLottieElement.prototype.buildNewText = function () {\n    var i;\n    var len;\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n    if (documentData.fc) {\n      (this || _global).layerElement.setAttribute(\"fill\", this.buildColor(documentData.fc));\n    } else {\n      (this || _global).layerElement.setAttribute(\"fill\", \"rgba(0,0,0,0)\");\n    }\n\n    if (documentData.sc) {\n      (this || _global).layerElement.setAttribute(\"stroke\", this.buildColor(documentData.sc));\n\n      (this || _global).layerElement.setAttribute(\"stroke-width\", documentData.sw);\n    }\n\n    (this || _global).layerElement.setAttribute(\"font-size\", documentData.finalSize);\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    if (fontData.fClass) {\n      (this || _global).layerElement.setAttribute(\"class\", fontData.fClass);\n    } else {\n      (this || _global).layerElement.setAttribute(\"font-family\", fontData.fFamily);\n\n      var fWeight = documentData.fWeight;\n      var fStyle = documentData.fStyle;\n\n      (this || _global).layerElement.setAttribute(\"font-style\", fStyle);\n\n      (this || _global).layerElement.setAttribute(\"font-weight\", fWeight);\n    }\n\n    (this || _global).layerElement.setAttribute(\"aria-label\", documentData.t);\n\n    var letters = documentData.l || [];\n    var usesGlyphs = !!(this || _global).globalData.fontManager.chars;\n    len = letters.length;\n    var tSpan;\n    var matrixHelper = (this || _global).mHelper;\n    var shapes;\n    var shapeStr = \"\";\n    var singleShape = (this || _global).data.singleShape;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n    if (singleShape && !usesGlyphs && !documentData.sz) {\n      var tElement = (this || _global).textContainer;\n      var justify = \"start\";\n\n      switch (documentData.j) {\n        case 1:\n          justify = \"end\";\n          break;\n\n        case 2:\n          justify = \"middle\";\n          break;\n\n        default:\n          justify = \"start\";\n          break;\n      }\n\n      tElement.setAttribute(\"text-anchor\", justify);\n      tElement.setAttribute(\"letter-spacing\", trackingOffset);\n      var textContent = this.buildTextContents(documentData.finalText);\n      len = textContent.length;\n      yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n      for (i = 0; i < len; i += 1) {\n        tSpan = (this || _global).textSpans[i] || createNS(\"tspan\");\n        tSpan.textContent = textContent[i];\n        tSpan.setAttribute(\"x\", 0);\n        tSpan.setAttribute(\"y\", yPos);\n        tSpan.style.display = \"inherit\";\n        tElement.appendChild(tSpan);\n        (this || _global).textSpans[i] = tSpan;\n        yPos += documentData.finalLineHeight;\n      }\n\n      (this || _global).layerElement.appendChild(tElement);\n    } else {\n      var cachedSpansLength = (this || _global).textSpans.length;\n      var shapeData;\n      var charData;\n\n      for (i = 0; i < len; i += 1) {\n        if (!usesGlyphs || !singleShape || i === 0) {\n          tSpan = cachedSpansLength > i ? (this || _global).textSpans[i] : createNS(usesGlyphs ? \"path\" : \"text\");\n\n          if (cachedSpansLength <= i) {\n            tSpan.setAttribute(\"stroke-linecap\", \"butt\");\n            tSpan.setAttribute(\"stroke-linejoin\", \"round\");\n            tSpan.setAttribute(\"stroke-miterlimit\", \"4\");\n            (this || _global).textSpans[i] = tSpan;\n\n            (this || _global).layerElement.appendChild(tSpan);\n          }\n\n          tSpan.style.display = \"inherit\";\n        }\n\n        matrixHelper.reset();\n        matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n        if (singleShape) {\n          if (letters[i].n) {\n            xPos = -trackingOffset;\n            yPos += documentData.yOffset;\n            yPos += firstLine ? 1 : 0;\n            firstLine = false;\n          }\n\n          this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n          xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n          xPos += trackingOffset;\n        }\n\n        if (usesGlyphs) {\n          charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n          shapeData = charData && charData.data || {};\n          shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n\n          if (!singleShape) {\n            tSpan.setAttribute(\"d\", this.createPathShape(matrixHelper, shapes));\n          } else {\n            shapeStr += this.createPathShape(matrixHelper, shapes);\n          }\n        } else {\n          if (singleShape) {\n            tSpan.setAttribute(\"transform\", \"translate(\" + matrixHelper.props[12] + \",\" + matrixHelper.props[13] + \")\");\n          }\n\n          tSpan.textContent = letters[i].val;\n          tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n        } //\n\n      }\n\n      if (singleShape && tSpan) {\n        tSpan.setAttribute(\"d\", shapeStr);\n      }\n    }\n\n    while (i < (this || _global).textSpans.length) {\n      (this || _global).textSpans[i].style.display = \"none\";\n      i += 1;\n    }\n\n    (this || _global)._sizeChanged = true;\n  };\n\n  SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n    this.prepareFrame((this || _global).comp.renderedFrame - (this || _global).data.st);\n    this.renderInnerContent();\n\n    if ((this || _global)._sizeChanged) {\n      (this || _global)._sizeChanged = false;\n\n      var textBox = (this || _global).layerElement.getBBox();\n\n      (this || _global).bbox = {\n        top: textBox.y,\n        left: textBox.x,\n        width: textBox.width,\n        height: textBox.height\n      };\n    }\n\n    return (this || _global).bbox;\n  };\n\n  SVGTextLottieElement.prototype.renderInnerContent = function () {\n    if (!(this || _global).data.singleShape) {\n      (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n\n      if ((this || _global).lettersChangedFlag || (this || _global).textAnimator.lettersChangedFlag) {\n        (this || _global)._sizeChanged = true;\n        var i;\n        var len;\n        var renderedLetters = (this || _global).textAnimator.renderedLetters;\n        var letters = (this || _global).textProperty.currentData.l;\n        len = letters.length;\n        var renderedLetter;\n        var textSpan;\n\n        for (i = 0; i < len; i += 1) {\n          if (!letters[i].n) {\n            renderedLetter = renderedLetters[i];\n            textSpan = (this || _global).textSpans[i];\n\n            if (renderedLetter._mdf.m) {\n              textSpan.setAttribute(\"transform\", renderedLetter.m);\n            }\n\n            if (renderedLetter._mdf.o) {\n              textSpan.setAttribute(\"opacity\", renderedLetter.o);\n            }\n\n            if (renderedLetter._mdf.sw) {\n              textSpan.setAttribute(\"stroke-width\", renderedLetter.sw);\n            }\n\n            if (renderedLetter._mdf.sc) {\n              textSpan.setAttribute(\"stroke\", renderedLetter.sc);\n            }\n\n            if (renderedLetter._mdf.fc) {\n              textSpan.setAttribute(\"fill\", renderedLetter.fc);\n            }\n          }\n        }\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement,\r\n  FrameElement, RenderableDOMElement, Matrix, SVGStyleData, SVGStrokeStyleData, SVGFillStyleData,\r\n  SVGGradientFillStyleData, SVGGradientStrokeStyleData, locationHref, getBlendMode, ShapeGroupData,\r\n  TransformPropertyFactory, SVGTransformData, ShapePropertyFactory, SVGShapeData, SVGElementsRenderer, ShapeModifiers */\n\n\n  function SVGShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    (this || _global).shapes = []; // Full shape data\n\n    (this || _global).shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    (this || _global).stylesList = []; // List of modifiers that will be applied to shapes\n\n    (this || _global).shapeModifiers = []; // List of items in shape tree\n\n    (this || _global).itemsData = []; // List of items in previous shape tree\n\n    (this || _global).processedElements = []; // List of animated components\n\n    (this || _global).animatedContents = [];\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    (this || _global).prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n  SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n  SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n  SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n  SVGShapeElement.prototype.createContent = function () {\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).layerElement, 0, [], true);\n    this.filterUniqueShapes();\n  };\n  /*\r\n  This method searches for multiple shapes that affect a single element and one of them is animated\r\n  */\n\n\n  SVGShapeElement.prototype.filterUniqueShapes = function () {\n    var i;\n    var len = (this || _global).shapes.length;\n    var shape;\n    var j;\n    var jLen = (this || _global).stylesList.length;\n    var style;\n    var tempShapes = [];\n    var areAnimated = false;\n\n    for (j = 0; j < jLen; j += 1) {\n      style = (this || _global).stylesList[j];\n      areAnimated = false;\n      tempShapes.length = 0;\n\n      for (i = 0; i < len; i += 1) {\n        shape = (this || _global).shapes[i];\n\n        if (shape.styles.indexOf(style) !== -1) {\n          tempShapes.push(shape);\n          areAnimated = shape._isAnimated || areAnimated;\n        }\n      }\n\n      if (tempShapes.length > 1 && areAnimated) {\n        this.setShapesAsAnimated(tempShapes);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n    var i;\n    var len = shapes.length;\n\n    for (i = 0; i < len; i += 1) {\n      shapes[i].setAsAnimated();\n    }\n  };\n\n  SVGShapeElement.prototype.createStyleElement = function (data, level) {\n    // TODO: prevent drawing of hidden styles\n    var elementData;\n    var styleOb = new SVGStyleData(data, level);\n    var pathElement = styleOb.pElem;\n\n    if (data.ty === \"st\") {\n      elementData = new SVGStrokeStyleData(this || _global, data, styleOb);\n    } else if (data.ty === \"fl\") {\n      elementData = new SVGFillStyleData(this || _global, data, styleOb);\n    } else if (data.ty === \"gf\" || data.ty === \"gs\") {\n      var GradientConstructor = data.ty === \"gf\" ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n      elementData = new GradientConstructor(this || _global, data, styleOb);\n\n      (this || _global).globalData.defs.appendChild(elementData.gf);\n\n      if (elementData.maskId) {\n        (this || _global).globalData.defs.appendChild(elementData.ms);\n\n        (this || _global).globalData.defs.appendChild(elementData.of);\n\n        pathElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + elementData.maskId + \")\");\n      }\n    }\n\n    if (data.ty === \"st\" || data.ty === \"gs\") {\n      pathElement.setAttribute(\"stroke-linecap\", (this || _global).lcEnum[data.lc] || \"round\");\n      pathElement.setAttribute(\"stroke-linejoin\", (this || _global).ljEnum[data.lj] || \"round\");\n      pathElement.setAttribute(\"fill-opacity\", \"0\");\n\n      if (data.lj === 1) {\n        pathElement.setAttribute(\"stroke-miterlimit\", data.ml);\n      }\n    }\n\n    if (data.r === 2) {\n      pathElement.setAttribute(\"fill-rule\", \"evenodd\");\n    }\n\n    if (data.ln) {\n      pathElement.setAttribute(\"id\", data.ln);\n    }\n\n    if (data.cl) {\n      pathElement.setAttribute(\"class\", data.cl);\n    }\n\n    if (data.bm) {\n      pathElement.style[\"mix-blend-mode\"] = getBlendMode(data.bm);\n    }\n\n    (this || _global).stylesList.push(styleOb);\n\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createGroupElement = function (data) {\n    var elementData = new ShapeGroupData();\n\n    if (data.ln) {\n      elementData.gr.setAttribute(\"id\", data.ln);\n    }\n\n    if (data.cl) {\n      elementData.gr.setAttribute(\"class\", data.cl);\n    }\n\n    if (data.bm) {\n      elementData.gr.style[\"mix-blend-mode\"] = getBlendMode(data.bm);\n    }\n\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createTransformElement = function (data, container) {\n    var transformProperty = TransformPropertyFactory.getTransformProperty(this || _global, data, this || _global);\n    var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n    var ty = 4;\n\n    if (data.ty === \"rc\") {\n      ty = 5;\n    } else if (data.ty === \"el\") {\n      ty = 6;\n    } else if (data.ty === \"sr\") {\n      ty = 7;\n    }\n\n    var shapeProperty = ShapePropertyFactory.getShapeProp(this || _global, data, ty, this || _global);\n    var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n\n    (this || _global).shapes.push(elementData);\n\n    this.addShapeToModifiers(elementData);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n    var i = 0;\n    var len = (this || _global).animatedContents.length;\n\n    while (i < len) {\n      if ((this || _global).animatedContents[i].element === element) {\n        return;\n      }\n\n      i += 1;\n    }\n\n    (this || _global).animatedContents.push({\n      fn: SVGElementsRenderer.createRenderFunction(data),\n      element: element,\n      data: data\n    });\n  };\n\n  SVGShapeElement.prototype.setElementStyles = function (elementData) {\n    var arr = elementData.styles;\n    var j;\n    var jLen = (this || _global).stylesList.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      if (!(this || _global).stylesList[j].closed) {\n        arr.push((this || _global).stylesList[j]);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.reloadShapes = function () {\n    (this || _global)._isFirstFrame = true;\n    var i;\n    var len = (this || _global).itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).prevViewData[i] = (this || _global).itemsData[i];\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).layerElement, 0, [], true);\n    this.filterUniqueShapes();\n    len = (this || _global).dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n  };\n\n  SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n    var ownTransformers = [].concat(transformers);\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var currentTransform;\n    var modifier;\n    var processedPos;\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._render = render;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === \"fl\" || arr[i].ty === \"st\" || arr[i].ty === \"gf\" || arr[i].ty === \"gs\") {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], level);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        if (arr[i]._render) {\n          container.appendChild(itemsData[i].style.pElem);\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === \"gr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n        if (arr[i]._render) {\n          container.appendChild(itemsData[i].gr);\n        }\n      } else if (arr[i].ty === \"tr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createTransformElement(arr[i], container);\n        }\n\n        currentTransform = itemsData[i].transform;\n        ownTransformers.push(currentTransform);\n      } else if (arr[i].ty === \"sh\" || arr[i].ty === \"rc\" || arr[i].ty === \"el\" || arr[i].ty === \"sr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n        }\n\n        this.setElementStyles(itemsData[i]);\n      } else if (arr[i].ty === \"tm\" || arr[i].ty === \"rd\" || arr[i].ty === \"ms\" || arr[i].ty === \"pb\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this || _global, arr[i]);\n          itemsData[i] = modifier;\n\n          (this || _global).shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === \"rp\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this || _global, arr, i, itemsData);\n\n          (this || _global).shapeModifiers.push(modifier);\n\n          render = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    len = ownStyles.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownStyles[i].closed = true;\n    }\n\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  SVGShapeElement.prototype.renderInnerContent = function () {\n    this.renderModifiers();\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).stylesList[i].reset();\n    }\n\n    this.renderShape();\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).stylesList[i]._mdf || (this || _global)._isFirstFrame) {\n        if ((this || _global).stylesList[i].msElem) {\n          (this || _global).stylesList[i].msElem.setAttribute(\"d\", (this || _global).stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n\n          (this || _global).stylesList[i].d = \"M0 0\" + (this || _global).stylesList[i].d;\n        }\n\n        (this || _global).stylesList[i].pElem.setAttribute(\"d\", (this || _global).stylesList[i].d || \"M0 0\");\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.renderShape = function () {\n    var i;\n    var len = (this || _global).animatedContents.length;\n    var animatedContent;\n\n    for (i = 0; i < len; i += 1) {\n      animatedContent = (this || _global).animatedContents[i];\n\n      if (((this || _global)._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n        animatedContent.fn(animatedContent.data, animatedContent.element, (this || _global)._isFirstFrame);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.destroy = function () {\n    this.destroyBaseElement();\n    (this || _global).shapesData = null;\n    (this || _global).itemsData = null;\n  };\n  /* global createNS */\n\n\n  function SVGTintFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"linearRGB\");\n    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\");\n    feColorMatrix.setAttribute(\"result\", \"f1\");\n    filter.appendChild(feColorMatrix);\n    feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    feColorMatrix.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f2\");\n    filter.appendChild(feColorMatrix);\n    (this || _global).matrixFilter = feColorMatrix;\n\n    if (filterManager.effectElements[2].p.v !== 100 || filterManager.effectElements[2].p.k) {\n      var feMerge = createNS(\"feMerge\");\n      filter.appendChild(feMerge);\n      var feMergeNode;\n      feMergeNode = createNS(\"feMergeNode\");\n      feMergeNode.setAttribute(\"in\", \"SourceGraphic\");\n      feMerge.appendChild(feMergeNode);\n      feMergeNode = createNS(\"feMergeNode\");\n      feMergeNode.setAttribute(\"in\", \"f2\");\n      feMerge.appendChild(feMergeNode);\n    }\n  }\n\n  SVGTintFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var colorBlack = (this || _global).filterManager.effectElements[0].p.v;\n      var colorWhite = (this || _global).filterManager.effectElements[1].p.v;\n      var opacity = (this || _global).filterManager.effectElements[2].p.v / 100;\n\n      (this || _global).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 \" + opacity + \" 0\");\n    }\n  };\n  /* global createNS */\n\n\n  function SVGFillFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    feColorMatrix.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\");\n    filter.appendChild(feColorMatrix);\n    (this || _global).matrixFilter = feColorMatrix;\n  }\n\n  SVGFillFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var color = (this || _global).filterManager.effectElements[2].p.v;\n      var opacity = (this || _global).filterManager.effectElements[6].p.v;\n\n      (this || _global).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\");\n    }\n  };\n  /* global createNS */\n\n\n  function SVGGaussianBlurEffect(filter, filterManager) {\n    // Outset the filter region by 100% on all sides to accommodate blur expansion.\n    filter.setAttribute(\"x\", \"-100%\");\n    filter.setAttribute(\"y\", \"-100%\");\n    filter.setAttribute(\"width\", \"300%\");\n    filter.setAttribute(\"height\", \"300%\");\n    (this || _global).filterManager = filterManager;\n    var feGaussianBlur = createNS(\"feGaussianBlur\");\n    filter.appendChild(feGaussianBlur);\n    (this || _global).feGaussianBlur = feGaussianBlur;\n  }\n\n  SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      // Empirical value, matching AE's blur appearance.\n      var kBlurrinessToSigma = 0.3;\n      var sigma = (this || _global).filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n      //\n      //   1 -> horizontal & vertical\n      //   2 -> horizontal only\n      //   3 -> vertical only\n      //\n\n      var dimensions = (this || _global).filterManager.effectElements[1].p.v;\n      var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      (this || _global).feGaussianBlur.setAttribute(\"stdDeviation\", sigmaX + \" \" + sigmaY); // Repeat edges mapping:\n      //\n      //   0 -> off -> duplicate\n      //   1 -> on  -> wrap\n\n\n      var edgeMode = (this || _global).filterManager.effectElements[2].p.v == 1 ? \"wrap\" : \"duplicate\"; // eslint-disable-line eqeqeq\n\n      (this || _global).feGaussianBlur.setAttribute(\"edgeMode\", edgeMode);\n    }\n  };\n  /* global createNS, createElementID, locationHref, bmFloor */\n\n\n  function SVGStrokeEffect(elem, filterManager) {\n    (this || _global).initialized = false;\n    (this || _global).filterManager = filterManager;\n    (this || _global).elem = elem;\n    (this || _global).paths = [];\n  }\n\n  SVGStrokeEffect.prototype.initialize = function () {\n    var elemChildren = (this || _global).elem.layerElement.children || (this || _global).elem.layerElement.childNodes;\n    var path;\n    var groupPath;\n    var i;\n    var len;\n\n    if ((this || _global).filterManager.effectElements[1].p.v === 1) {\n      len = (this || _global).elem.maskManager.masksProperties.length;\n      i = 0;\n    } else {\n      i = (this || _global).filterManager.effectElements[0].p.v - 1;\n      len = i + 1;\n    }\n\n    groupPath = createNS(\"g\");\n    groupPath.setAttribute(\"fill\", \"none\");\n    groupPath.setAttribute(\"stroke-linecap\", \"round\");\n    groupPath.setAttribute(\"stroke-dashoffset\", 1);\n\n    for (i; i < len; i += 1) {\n      path = createNS(\"path\");\n      groupPath.appendChild(path);\n\n      (this || _global).paths.push({\n        p: path,\n        m: i\n      });\n    }\n\n    if ((this || _global).filterManager.effectElements[10].p.v === 3) {\n      var mask = createNS(\"mask\");\n      var id = createElementID();\n      mask.setAttribute(\"id\", id);\n      mask.setAttribute(\"mask-type\", \"alpha\");\n      mask.appendChild(groupPath);\n\n      (this || _global).elem.globalData.defs.appendChild(mask);\n\n      var g = createNS(\"g\");\n      g.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + id + \")\");\n\n      while (elemChildren[0]) {\n        g.appendChild(elemChildren[0]);\n      }\n\n      (this || _global).elem.layerElement.appendChild(g);\n\n      (this || _global).masker = mask;\n      groupPath.setAttribute(\"stroke\", \"#fff\");\n    } else if ((this || _global).filterManager.effectElements[10].p.v === 1 || (this || _global).filterManager.effectElements[10].p.v === 2) {\n      if ((this || _global).filterManager.effectElements[10].p.v === 2) {\n        elemChildren = (this || _global).elem.layerElement.children || (this || _global).elem.layerElement.childNodes;\n\n        while (elemChildren.length) {\n          (this || _global).elem.layerElement.removeChild(elemChildren[0]);\n        }\n      }\n\n      (this || _global).elem.layerElement.appendChild(groupPath);\n\n      (this || _global).elem.layerElement.removeAttribute(\"mask\");\n\n      groupPath.setAttribute(\"stroke\", \"#fff\");\n    }\n\n    (this || _global).initialized = true;\n    (this || _global).pathMasker = groupPath;\n  };\n\n  SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n    if (!(this || _global).initialized) {\n      this.initialize();\n    }\n\n    var i;\n    var len = (this || _global).paths.length;\n    var mask;\n    var path;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).paths[i].m !== -1) {\n        mask = (this || _global).elem.maskManager.viewData[(this || _global).paths[i].m];\n        path = (this || _global).paths[i].p;\n\n        if (forceRender || (this || _global).filterManager._mdf || mask.prop._mdf) {\n          path.setAttribute(\"d\", mask.lastPath);\n        }\n\n        if (forceRender || (this || _global).filterManager.effectElements[9].p._mdf || (this || _global).filterManager.effectElements[4].p._mdf || (this || _global).filterManager.effectElements[7].p._mdf || (this || _global).filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n          var dasharrayValue;\n\n          if ((this || _global).filterManager.effectElements[7].p.v !== 0 || (this || _global).filterManager.effectElements[8].p.v !== 100) {\n            var s = Math.min((this || _global).filterManager.effectElements[7].p.v, (this || _global).filterManager.effectElements[8].p.v) * 0.01;\n            var e = Math.max((this || _global).filterManager.effectElements[7].p.v, (this || _global).filterManager.effectElements[8].p.v) * 0.01;\n            var l = path.getTotalLength();\n            dasharrayValue = \"0 0 0 \" + l * s + \" \";\n            var lineLength = l * (e - s);\n            var segment = 1 + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01;\n            var units = Math.floor(lineLength / segment);\n            var j;\n\n            for (j = 0; j < units; j += 1) {\n              dasharrayValue += \"1 \" + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01 + \" \";\n            }\n\n            dasharrayValue += \"0 \" + l * 10 + \" 0 0\";\n          } else {\n            dasharrayValue = \"1 \" + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01;\n          }\n\n          path.setAttribute(\"stroke-dasharray\", dasharrayValue);\n        }\n      }\n    }\n\n    if (forceRender || (this || _global).filterManager.effectElements[4].p._mdf) {\n      (this || _global).pathMasker.setAttribute(\"stroke-width\", (this || _global).filterManager.effectElements[4].p.v * 2);\n    }\n\n    if (forceRender || (this || _global).filterManager.effectElements[6].p._mdf) {\n      (this || _global).pathMasker.setAttribute(\"opacity\", (this || _global).filterManager.effectElements[6].p.v);\n    }\n\n    if ((this || _global).filterManager.effectElements[10].p.v === 1 || (this || _global).filterManager.effectElements[10].p.v === 2) {\n      if (forceRender || (this || _global).filterManager.effectElements[3].p._mdf) {\n        var color = (this || _global).filterManager.effectElements[3].p.v;\n\n        (this || _global).pathMasker.setAttribute(\"stroke\", \"rgb(\" + bmFloor(color[0] * 255) + \",\" + bmFloor(color[1] * 255) + \",\" + bmFloor(color[2] * 255) + \")\");\n      }\n    }\n  };\n  /* global createNS */\n\n\n  function SVGTritoneFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"linearRGB\");\n    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\");\n    feColorMatrix.setAttribute(\"result\", \"f1\");\n    filter.appendChild(feColorMatrix);\n    var feComponentTransfer = createNS(\"feComponentTransfer\");\n    feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    filter.appendChild(feComponentTransfer);\n    (this || _global).matrixFilter = feComponentTransfer;\n    var feFuncR = createNS(\"feFuncR\");\n    feFuncR.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncR);\n    (this || _global).feFuncR = feFuncR;\n    var feFuncG = createNS(\"feFuncG\");\n    feFuncG.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncG);\n    (this || _global).feFuncG = feFuncG;\n    var feFuncB = createNS(\"feFuncB\");\n    feFuncB.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncB);\n    (this || _global).feFuncB = feFuncB;\n  }\n\n  SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var color1 = (this || _global).filterManager.effectElements[0].p.v;\n      var color2 = (this || _global).filterManager.effectElements[1].p.v;\n      var color3 = (this || _global).filterManager.effectElements[2].p.v;\n      var tableR = color3[0] + \" \" + color2[0] + \" \" + color1[0];\n      var tableG = color3[1] + \" \" + color2[1] + \" \" + color1[1];\n      var tableB = color3[2] + \" \" + color2[2] + \" \" + color1[2];\n\n      (this || _global).feFuncR.setAttribute(\"tableValues\", tableR);\n\n      (this || _global).feFuncG.setAttribute(\"tableValues\", tableG);\n\n      (this || _global).feFuncB.setAttribute(\"tableValues\", tableB); // var opacity = this.filterManager.effectElements[2].p.v/100;\n      // 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 ' + opacity + ' 0');\n\n    }\n  };\n  /* global createNS */\n\n\n  function SVGProLevelsFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var effectElements = (this || _global).filterManager.effectElements;\n    var feComponentTransfer = createNS(\"feComponentTransfer\");\n\n    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) {\n      (this || _global).feFuncR = this.createFeFunc(\"feFuncR\", feComponentTransfer);\n    }\n\n    if (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) {\n      (this || _global).feFuncG = this.createFeFunc(\"feFuncG\", feComponentTransfer);\n    }\n\n    if (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) {\n      (this || _global).feFuncB = this.createFeFunc(\"feFuncB\", feComponentTransfer);\n    }\n\n    if (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) {\n      (this || _global).feFuncA = this.createFeFunc(\"feFuncA\", feComponentTransfer);\n    }\n\n    if ((this || _global).feFuncR || (this || _global).feFuncG || (this || _global).feFuncB || (this || _global).feFuncA) {\n      feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      filter.appendChild(feComponentTransfer);\n      feComponentTransfer = createNS(\"feComponentTransfer\");\n    }\n\n    if (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) {\n      feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      filter.appendChild(feComponentTransfer);\n      (this || _global).feFuncRComposed = this.createFeFunc(\"feFuncR\", feComponentTransfer);\n      (this || _global).feFuncGComposed = this.createFeFunc(\"feFuncG\", feComponentTransfer);\n      (this || _global).feFuncBComposed = this.createFeFunc(\"feFuncB\", feComponentTransfer);\n    }\n  }\n\n  SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n    var feFunc = createNS(type);\n    feFunc.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFunc);\n    return feFunc;\n  };\n\n  SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n    var cnt = 0;\n    var segments = 256;\n    var perc;\n    var min = Math.min(inputBlack, inputWhite);\n    var max = Math.max(inputBlack, inputWhite);\n    var table = Array.call(null, {\n      length: segments\n    });\n    var colorValue;\n    var pos = 0;\n    var outputDelta = outputWhite - outputBlack;\n    var inputDelta = inputWhite - inputBlack;\n\n    while (cnt <= 256) {\n      perc = cnt / 256;\n\n      if (perc <= min) {\n        colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n      } else if (perc >= max) {\n        colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n      } else {\n        colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n      }\n\n      table[pos] = colorValue;\n      pos += 1;\n      cnt += 256 / (segments - 1);\n    }\n\n    return table.join(\" \");\n  };\n\n  SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var val;\n      var effectElements = (this || _global).filterManager.effectElements;\n\n      if ((this || _global).feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n        val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n\n        (this || _global).feFuncRComposed.setAttribute(\"tableValues\", val);\n\n        (this || _global).feFuncGComposed.setAttribute(\"tableValues\", val);\n\n        (this || _global).feFuncBComposed.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n        val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n\n        (this || _global).feFuncR.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n        val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n\n        (this || _global).feFuncG.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n        val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n\n        (this || _global).feFuncB.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n        val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n\n        (this || _global).feFuncA.setAttribute(\"tableValues\", val);\n      }\n    }\n  };\n  /* global createNS, rgbToHex, degToRads */\n\n\n  function SVGDropShadowEffect(filter, filterManager) {\n    var filterSize = filterManager.container.globalData.renderConfig.filterSize;\n    filter.setAttribute(\"x\", filterSize.x);\n    filter.setAttribute(\"y\", filterSize.y);\n    filter.setAttribute(\"width\", filterSize.width);\n    filter.setAttribute(\"height\", filterSize.height);\n    (this || _global).filterManager = filterManager;\n    var feGaussianBlur = createNS(\"feGaussianBlur\");\n    feGaussianBlur.setAttribute(\"in\", \"SourceAlpha\");\n    feGaussianBlur.setAttribute(\"result\", \"drop_shadow_1\");\n    feGaussianBlur.setAttribute(\"stdDeviation\", \"0\");\n    (this || _global).feGaussianBlur = feGaussianBlur;\n    filter.appendChild(feGaussianBlur);\n    var feOffset = createNS(\"feOffset\");\n    feOffset.setAttribute(\"dx\", \"25\");\n    feOffset.setAttribute(\"dy\", \"0\");\n    feOffset.setAttribute(\"in\", \"drop_shadow_1\");\n    feOffset.setAttribute(\"result\", \"drop_shadow_2\");\n    (this || _global).feOffset = feOffset;\n    filter.appendChild(feOffset);\n    var feFlood = createNS(\"feFlood\");\n    feFlood.setAttribute(\"flood-color\", \"#00ff00\");\n    feFlood.setAttribute(\"flood-opacity\", \"1\");\n    feFlood.setAttribute(\"result\", \"drop_shadow_3\");\n    (this || _global).feFlood = feFlood;\n    filter.appendChild(feFlood);\n    var feComposite = createNS(\"feComposite\");\n    feComposite.setAttribute(\"in\", \"drop_shadow_3\");\n    feComposite.setAttribute(\"in2\", \"drop_shadow_2\");\n    feComposite.setAttribute(\"operator\", \"in\");\n    feComposite.setAttribute(\"result\", \"drop_shadow_4\");\n    filter.appendChild(feComposite);\n    var feMerge = createNS(\"feMerge\");\n    filter.appendChild(feMerge);\n    var feMergeNode;\n    feMergeNode = createNS(\"feMergeNode\");\n    feMerge.appendChild(feMergeNode);\n    feMergeNode = createNS(\"feMergeNode\");\n    feMergeNode.setAttribute(\"in\", \"SourceGraphic\");\n    (this || _global).feMergeNode = feMergeNode;\n    (this || _global).feMerge = feMerge;\n    (this || _global).originalNodeAdded = false;\n    feMerge.appendChild(feMergeNode);\n  }\n\n  SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      if (forceRender || (this || _global).filterManager.effectElements[4].p._mdf) {\n        (this || _global).feGaussianBlur.setAttribute(\"stdDeviation\", (this || _global).filterManager.effectElements[4].p.v / 4);\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[0].p._mdf) {\n        var col = (this || _global).filterManager.effectElements[0].p.v;\n\n        (this || _global).feFlood.setAttribute(\"flood-color\", rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[1].p._mdf) {\n        (this || _global).feFlood.setAttribute(\"flood-opacity\", (this || _global).filterManager.effectElements[1].p.v / 255);\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[2].p._mdf || (this || _global).filterManager.effectElements[3].p._mdf) {\n        var distance = (this || _global).filterManager.effectElements[3].p.v;\n        var angle = ((this || _global).filterManager.effectElements[2].p.v - 90) * degToRads;\n        var x = distance * Math.cos(angle);\n        var y = distance * Math.sin(angle);\n\n        (this || _global).feOffset.setAttribute(\"dx\", x);\n\n        (this || _global).feOffset.setAttribute(\"dy\", y);\n      }\n      /* if(forceRender || this.filterManager.effectElements[5].p._mdf){\r\n              if(this.filterManager.effectElements[5].p.v === 1 && this.originalNodeAdded) {\r\n                  this.feMerge.removeChild(this.feMergeNode);\r\n                  this.originalNodeAdded = false;\r\n              } else if(this.filterManager.effectElements[5].p.v === 0 && !this.originalNodeAdded) {\r\n                  this.feMerge.appendChild(this.feMergeNode);\r\n                  this.originalNodeAdded = true;\r\n              }\r\n          } */\n\n    }\n  };\n  /* global createElementID, createNS */\n\n\n  var _svgMatteSymbols = [];\n\n  function SVGMatte3Effect(filterElem, filterManager, elem) {\n    (this || _global).initialized = false;\n    (this || _global).filterManager = filterManager;\n    (this || _global).filterElem = filterElem;\n    (this || _global).elem = elem;\n    elem.matteElement = createNS(\"g\");\n    elem.matteElement.appendChild(elem.layerElement);\n    elem.matteElement.appendChild(elem.transformedElement);\n    elem.baseElement = elem.matteElement;\n  }\n\n  SVGMatte3Effect.prototype.findSymbol = function (mask) {\n    var i = 0;\n    var len = _svgMatteSymbols.length;\n\n    while (i < len) {\n      if (_svgMatteSymbols[i] === mask) {\n        return _svgMatteSymbols[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n    var parentNode = mask.layerElement.parentNode;\n\n    if (!parentNode) {\n      return;\n    }\n\n    var children = parentNode.children;\n    var i = 0;\n    var len = children.length;\n\n    while (i < len) {\n      if (children[i] === mask.layerElement) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    var nextChild;\n\n    if (i <= len - 2) {\n      nextChild = children[i + 1];\n    }\n\n    var useElem = createNS(\"use\");\n    useElem.setAttribute(\"href\", \"#\" + symbolId);\n\n    if (nextChild) {\n      parentNode.insertBefore(useElem, nextChild);\n    } else {\n      parentNode.appendChild(useElem);\n    }\n  };\n\n  SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n    if (!this.findSymbol(mask)) {\n      var symbolId = createElementID();\n      var masker = createNS(\"mask\");\n      masker.setAttribute(\"id\", mask.layerId);\n      masker.setAttribute(\"mask-type\", \"alpha\");\n\n      _svgMatteSymbols.push(mask);\n\n      var defs = elem.globalData.defs;\n      defs.appendChild(masker);\n      var symbol = createNS(\"symbol\");\n      symbol.setAttribute(\"id\", symbolId);\n      this.replaceInParent(mask, symbolId);\n      symbol.appendChild(mask.layerElement);\n      defs.appendChild(symbol);\n      var useElem = createNS(\"use\");\n      useElem.setAttribute(\"href\", \"#\" + symbolId);\n      masker.appendChild(useElem);\n      mask.data.hd = false;\n      mask.show();\n    }\n\n    elem.setMatte(mask.layerId);\n  };\n\n  SVGMatte3Effect.prototype.initialize = function () {\n    var ind = (this || _global).filterManager.effectElements[0].p.v;\n    var elements = (this || _global).elem.comp.elements;\n    var i = 0;\n    var len = elements.length;\n\n    while (i < len) {\n      if (elements[i] && elements[i].data.ind === ind) {\n        this.setElementAsMask((this || _global).elem, elements[i]);\n      }\n\n      i += 1;\n    }\n\n    (this || _global).initialized = true;\n  };\n\n  SVGMatte3Effect.prototype.renderFrame = function () {\n    if (!(this || _global).initialized) {\n      this.initialize();\n    }\n  };\n  /* global createElementID, filtersFactory, SVGTintFilter, SVGFillFilter, SVGStrokeEffect, SVGTritoneFilter,\r\n  SVGProLevelsFilter, SVGDropShadowEffect, SVGMatte3Effect, SVGGaussianBlurEffect, locationHref */\n\n\n  function SVGEffects(elem) {\n    var i;\n    var len = elem.data.ef ? elem.data.ef.length : 0;\n    var filId = createElementID();\n    var fil = filtersFactory.createFilter(filId, true);\n    var count = 0;\n    (this || _global).filters = [];\n    var filterManager;\n\n    for (i = 0; i < len; i += 1) {\n      filterManager = null;\n\n      if (elem.data.ef[i].ty === 20) {\n        count += 1;\n        filterManager = new SVGTintFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 21) {\n        count += 1;\n        filterManager = new SVGFillFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 22) {\n        filterManager = new SVGStrokeEffect(elem, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 23) {\n        count += 1;\n        filterManager = new SVGTritoneFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 24) {\n        count += 1;\n        filterManager = new SVGProLevelsFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 25) {\n        count += 1;\n        filterManager = new SVGDropShadowEffect(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 28) {\n        // count += 1;\n        filterManager = new SVGMatte3Effect(fil, elem.effectsManager.effectElements[i], elem);\n      } else if (elem.data.ef[i].ty === 29) {\n        count += 1;\n        filterManager = new SVGGaussianBlurEffect(fil, elem.effectsManager.effectElements[i]);\n      }\n\n      if (filterManager) {\n        (this || _global).filters.push(filterManager);\n      }\n    }\n\n    if (count) {\n      elem.globalData.defs.appendChild(fil);\n      elem.layerElement.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n    }\n\n    if ((this || _global).filters.length) {\n      elem.addRenderableComponent(this || _global);\n    }\n  }\n\n  SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n    var i;\n    var len = (this || _global).filters.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).filters[i].renderFrame(_isFirstFrame);\n    }\n  };\n  /* global Matrix, createTypedArray */\n\n\n  function CVContextData() {\n    (this || _global).saved = [];\n    (this || _global).cArrPos = 0;\n    (this || _global).cTr = new Matrix();\n    (this || _global).cO = 1;\n    var i;\n    var len = 15;\n    (this || _global).savedOp = createTypedArray(\"float32\", len);\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).saved[i] = createTypedArray(\"float32\", 16);\n    }\n\n    (this || _global)._length = len;\n  }\n\n  CVContextData.prototype.duplicate = function () {\n    var newLength = (this || _global)._length * 2;\n    var currentSavedOp = (this || _global).savedOp;\n    (this || _global).savedOp = createTypedArray(\"float32\", newLength);\n\n    (this || _global).savedOp.set(currentSavedOp);\n\n    var i = 0;\n\n    for (i = (this || _global)._length; i < newLength; i += 1) {\n      (this || _global).saved[i] = createTypedArray(\"float32\", 16);\n    }\n\n    (this || _global)._length = newLength;\n  };\n\n  CVContextData.prototype.reset = function () {\n    (this || _global).cArrPos = 0;\n\n    (this || _global).cTr.reset();\n\n    (this || _global).cO = 1;\n  };\n  /* global CVEffects, getBlendMode, CVMaskElement, Matrix */\n\n\n  function CVBaseElement() {}\n\n  CVBaseElement.prototype = {\n    createElements: function () {},\n    initRendererElement: function () {},\n    createContainerElements: function () {\n      (this || _global).canvasContext = (this || _global).globalData.canvasContext;\n      (this || _global).renderableEffectsManager = new CVEffects(this || _global);\n    },\n    createContent: function () {},\n    setBlendMode: function () {\n      var globalData = (this || _global).globalData;\n\n      if (globalData.blendMode !== (this || _global).data.bm) {\n        globalData.blendMode = (this || _global).data.bm;\n        var blendModeValue = getBlendMode((this || _global).data.bm);\n        globalData.canvasContext.globalCompositeOperation = blendModeValue;\n      }\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new CVMaskElement((this || _global).data, this || _global);\n    },\n    hideElement: function () {\n      if (!(this || _global).hidden && (!(this || _global).isInRange || (this || _global).isTransparent)) {\n        (this || _global).hidden = true;\n      }\n    },\n    showElement: function () {\n      if ((this || _global).isInRange && !(this || _global).isTransparent) {\n        (this || _global).hidden = false;\n        (this || _global)._isFirstFrame = true;\n        (this || _global).maskManager._isFirstFrame = true;\n      }\n    },\n    renderFrame: function () {\n      if ((this || _global).hidden || (this || _global).data.hd) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.setBlendMode();\n      var forceRealStack = (this || _global).data.ty === 0;\n\n      (this || _global).globalData.renderer.save(forceRealStack);\n\n      (this || _global).globalData.renderer.ctxTransform((this || _global).finalTransform.mat.props);\n\n      (this || _global).globalData.renderer.ctxOpacity((this || _global).finalTransform.mProp.o.v);\n\n      this.renderInnerContent();\n\n      (this || _global).globalData.renderer.restore(forceRealStack);\n\n      if ((this || _global).maskManager.hasMasks) {\n        (this || _global).globalData.renderer.restore(true);\n      }\n\n      if ((this || _global)._isFirstFrame) {\n        (this || _global)._isFirstFrame = false;\n      }\n    },\n    destroy: function () {\n      (this || _global).canvasContext = null;\n      (this || _global).data = null;\n      (this || _global).globalData = null;\n\n      (this || _global).maskManager.destroy();\n    },\n    mHelper: new Matrix()\n  };\n  CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n  CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement,HierarchyElement, FrameElement,\r\n  RenderableElement, SVGShapeElement, IImageElement, createTag */\n\n  function CVImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    (this || _global).img = globalData.imageLoader.getAsset((this || _global).assetData);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n  CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVImageElement.prototype.createContent = function () {\n    if ((this || _global).img.width && ((this || _global).assetData.w !== (this || _global).img.width || (this || _global).assetData.h !== (this || _global).img.height)) {\n      var canvas = createTag(\"canvas\");\n      canvas.width = (this || _global).assetData.w;\n      canvas.height = (this || _global).assetData.h;\n      var ctx = canvas.getContext(\"2d\");\n      var imgW = (this || _global).img.width;\n      var imgH = (this || _global).img.height;\n      var imgRel = imgW / imgH;\n      var canvasRel = (this || _global).assetData.w / (this || _global).assetData.h;\n      var widthCrop;\n      var heightCrop;\n      var par = (this || _global).assetData.pr || (this || _global).globalData.renderConfig.imagePreserveAspectRatio;\n\n      if (imgRel > canvasRel && par === \"xMidYMid slice\" || imgRel < canvasRel && par !== \"xMidYMid slice\") {\n        heightCrop = imgH;\n        widthCrop = heightCrop * canvasRel;\n      } else {\n        widthCrop = imgW;\n        heightCrop = widthCrop / canvasRel;\n      }\n\n      ctx.drawImage((this || _global).img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, (this || _global).assetData.w, (this || _global).assetData.h);\n      (this || _global).img = canvas;\n    }\n  };\n\n  CVImageElement.prototype.renderInnerContent = function () {\n    (this || _global).canvasContext.drawImage((this || _global).img, 0, 0);\n  };\n\n  CVImageElement.prototype.destroy = function () {\n    (this || _global).img = null;\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, CanvasRenderer, ICompElement, CVBaseElement */\n\n\n  function CVCompElement(data, globalData, comp) {\n    (this || _global).completeLayers = false;\n    (this || _global).layers = data.layers;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = createSizedArray((this || _global).layers.length);\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement);\n\n  CVCompElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.beginPath();\n    ctx.moveTo(0, 0);\n    ctx.lineTo((this || _global).data.w, 0);\n    ctx.lineTo((this || _global).data.w, (this || _global).data.h);\n    ctx.lineTo(0, (this || _global).data.h);\n    ctx.lineTo(0, 0);\n    ctx.clip();\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].renderFrame();\n      }\n    }\n  };\n\n  CVCompElement.prototype.destroy = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).layers = null;\n    (this || _global).elements = null;\n  };\n  /* global createSizedArray, ShapePropertyFactory, MaskElement */\n\n\n  function CVMaskElement(data, element) {\n    (this || _global).data = data;\n    (this || _global).element = element;\n    (this || _global).masksProperties = (this || _global).data.masksProperties || [];\n    (this || _global).viewData = createSizedArray((this || _global).masksProperties.length);\n    var i;\n    var len = (this || _global).masksProperties.length;\n    var hasMasks = false;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        hasMasks = true;\n      }\n\n      (this || _global).viewData[i] = ShapePropertyFactory.getShapeProp((this || _global).element, (this || _global).masksProperties[i], 3);\n    }\n\n    (this || _global).hasMasks = hasMasks;\n\n    if (hasMasks) {\n      (this || _global).element.addRenderableComponent(this || _global);\n    }\n  }\n\n  CVMaskElement.prototype.renderFrame = function () {\n    if (!(this || _global).hasMasks) {\n      return;\n    }\n\n    var transform = (this || _global).element.finalTransform.mat;\n    var ctx = (this || _global).element.canvasContext;\n    var i;\n    var len = (this || _global).masksProperties.length;\n    var pt;\n    var pts;\n    var data;\n    ctx.beginPath();\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        if ((this || _global).masksProperties[i].inv) {\n          ctx.moveTo(0, 0);\n          ctx.lineTo((this || _global).element.globalData.compSize.w, 0);\n          ctx.lineTo((this || _global).element.globalData.compSize.w, (this || _global).element.globalData.compSize.h);\n          ctx.lineTo(0, (this || _global).element.globalData.compSize.h);\n          ctx.lineTo(0, 0);\n        }\n\n        data = (this || _global).viewData[i].v;\n        pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n        ctx.moveTo(pt[0], pt[1]);\n        var j;\n        var jLen = data._length;\n\n        for (j = 1; j < jLen; j += 1) {\n          pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n          ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n        }\n\n        pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n        ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n      }\n    }\n\n    (this || _global).element.globalData.renderer.save(true);\n\n    ctx.clip();\n  };\n\n  CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n  CVMaskElement.prototype.destroy = function () {\n    (this || _global).element = null;\n  };\n  /* global ShapeTransformManager, extendPrototype, BaseElement, TransformElement, CVBaseElement, IShapeElement,\r\n  HierarchyElement, FrameElement, RenderableElement, RenderableDOMElement, PropertyFactory, degToRads, GradientProperty,\r\n  DashProperty, TransformPropertyFactory, CVShapeData, ShapeModifiers, bmFloor */\n\n\n  function CVShapeElement(data, globalData, comp) {\n    (this || _global).shapes = [];\n    (this || _global).shapesData = data.shapes;\n    (this || _global).stylesList = [];\n    (this || _global).itemsData = [];\n    (this || _global).prevViewData = [];\n    (this || _global).shapeModifiers = [];\n    (this || _global).processedElements = [];\n    (this || _global).transformsManager = new ShapeTransformManager();\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n  CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n  CVShapeElement.prototype.transformHelper = {\n    opacity: 1,\n    _opMdf: false\n  };\n  CVShapeElement.prototype.dashResetter = [];\n\n  CVShapeElement.prototype.createContent = function () {\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, true, []);\n  };\n\n  CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n    var styleElem = {\n      data: data,\n      type: data.ty,\n      preTransforms: (this || _global).transformsManager.addTransformSequence(transforms),\n      transforms: [],\n      elements: [],\n      closed: data.hd === true\n    };\n    var elementData = {};\n\n    if (data.ty === \"fl\" || data.ty === \"st\") {\n      elementData.c = PropertyFactory.getProp(this || _global, data.c, 1, 255, this || _global);\n\n      if (!elementData.c.k) {\n        styleElem.co = \"rgb(\" + bmFloor(elementData.c.v[0]) + \",\" + bmFloor(elementData.c.v[1]) + \",\" + bmFloor(elementData.c.v[2]) + \")\";\n      }\n    } else if (data.ty === \"gf\" || data.ty === \"gs\") {\n      elementData.s = PropertyFactory.getProp(this || _global, data.s, 1, null, this || _global);\n      elementData.e = PropertyFactory.getProp(this || _global, data.e, 1, null, this || _global);\n      elementData.h = PropertyFactory.getProp(this || _global, data.h || {\n        k: 0\n      }, 0, 0.01, this || _global);\n      elementData.a = PropertyFactory.getProp(this || _global, data.a || {\n        k: 0\n      }, 0, degToRads, this || _global);\n      elementData.g = new GradientProperty(this || _global, data.g, this || _global);\n    }\n\n    elementData.o = PropertyFactory.getProp(this || _global, data.o, 0, 0.01, this || _global);\n\n    if (data.ty === \"st\" || data.ty === \"gs\") {\n      styleElem.lc = (this || _global).lcEnum[data.lc] || \"round\";\n      styleElem.lj = (this || _global).ljEnum[data.lj] || \"round\";\n\n      if (data.lj == 1) {\n        // eslint-disable-line eqeqeq\n        styleElem.ml = data.ml;\n      }\n\n      elementData.w = PropertyFactory.getProp(this || _global, data.w, 0, null, this || _global);\n\n      if (!elementData.w.k) {\n        styleElem.wi = elementData.w.v;\n      }\n\n      if (data.d) {\n        var d = new DashProperty(this || _global, data.d, \"canvas\", this || _global);\n        elementData.d = d;\n\n        if (!elementData.d.k) {\n          styleElem.da = elementData.d.dashArray;\n          styleElem.do = elementData.d.dashoffset[0];\n        }\n      }\n    } else {\n      styleElem.r = data.r === 2 ? \"evenodd\" : \"nonzero\";\n    }\n\n    (this || _global).stylesList.push(styleElem);\n\n    elementData.style = styleElem;\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createGroupElement = function () {\n    var elementData = {\n      it: [],\n      prevViewData: []\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createTransformElement = function (data) {\n    var elementData = {\n      transform: {\n        opacity: 1,\n        _opMdf: false,\n        key: (this || _global).transformsManager.getNewKey(),\n        op: PropertyFactory.getProp(this || _global, data.o, 0, 0.01, this || _global),\n        mProps: TransformPropertyFactory.getTransformProperty(this || _global, data, this || _global)\n      }\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createShapeElement = function (data) {\n    var elementData = new CVShapeData(this || _global, data, (this || _global).stylesList, (this || _global).transformsManager);\n\n    (this || _global).shapes.push(elementData);\n\n    this.addShapeToModifiers(elementData);\n    return elementData;\n  };\n\n  CVShapeElement.prototype.reloadShapes = function () {\n    (this || _global)._isFirstFrame = true;\n    var i;\n    var len = (this || _global).itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).prevViewData[i] = (this || _global).itemsData[i];\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, true, []);\n    len = (this || _global).dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n\n    (this || _global).transformsManager.processSequences((this || _global)._isFirstFrame);\n  };\n\n  CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!(this || _global).stylesList[i].closed) {\n        (this || _global).stylesList[i].transforms.push(transform);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.removeTransformFromStyleList = function () {\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!(this || _global).stylesList[i].closed) {\n        (this || _global).stylesList[i].transforms.pop();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.closeStyles = function (styles) {\n    var i;\n    var len = styles.length;\n\n    for (i = 0; i < len; i += 1) {\n      styles[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var processedPos;\n    var modifier;\n    var currentTransform;\n    var ownTransforms = [].concat(transforms);\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._shouldRender = shouldRender;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === \"fl\" || arr[i].ty === \"st\" || arr[i].ty === \"gf\" || arr[i].ty === \"gs\") {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === \"gr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n      } else if (arr[i].ty === \"tr\") {\n        if (!processedPos) {\n          currentTransform = this.createTransformElement(arr[i]);\n          itemsData[i] = currentTransform;\n        }\n\n        ownTransforms.push(itemsData[i]);\n        this.addTransformToStyleList(itemsData[i]);\n      } else if (arr[i].ty === \"sh\" || arr[i].ty === \"rc\" || arr[i].ty === \"el\" || arr[i].ty === \"sr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i]);\n        }\n      } else if (arr[i].ty === \"tm\" || arr[i].ty === \"rd\" || arr[i].ty === \"pb\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this || _global, arr[i]);\n          itemsData[i] = modifier;\n\n          (this || _global).shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === \"rp\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this || _global, arr, i, itemsData);\n\n          (this || _global).shapeModifiers.push(modifier);\n\n          shouldRender = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    this.removeTransformFromStyleList();\n    this.closeStyles(ownStyles);\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.renderInnerContent = function () {\n    (this || _global).transformHelper.opacity = 1;\n    (this || _global).transformHelper._opMdf = false;\n    this.renderModifiers();\n\n    (this || _global).transformsManager.processSequences((this || _global)._isFirstFrame);\n\n    this.renderShape((this || _global).transformHelper, (this || _global).shapesData, (this || _global).itemsData, true);\n  };\n\n  CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n    if (parentTransform._opMdf || groupTransform.op._mdf || (this || _global)._isFirstFrame) {\n      groupTransform.opacity = parentTransform.opacity;\n      groupTransform.opacity *= groupTransform.op.v;\n      groupTransform._opMdf = true;\n    }\n  };\n\n  CVShapeElement.prototype.drawLayer = function () {\n    var i;\n    var len = (this || _global).stylesList.length;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var elems;\n    var nodes;\n    var renderer = (this || _global).globalData.renderer;\n    var ctx = (this || _global).globalData.canvasContext;\n    var type;\n    var currentStyle;\n\n    for (i = 0; i < len; i += 1) {\n      currentStyle = (this || _global).stylesList[i];\n      type = currentStyle.type; // Skipping style when\n      // Stroke width equals 0\n      // style should not be rendered (extra unused repeaters)\n      // current opacity equals 0\n      // global opacity equals 0\n\n      if (!((type === \"st\" || type === \"gs\") && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || (this || _global).globalData.currentGlobalAlpha === 0)) {\n        renderer.save();\n        elems = currentStyle.elements;\n\n        if (type === \"st\" || type === \"gs\") {\n          ctx.strokeStyle = type === \"st\" ? currentStyle.co : currentStyle.grd;\n          ctx.lineWidth = currentStyle.wi;\n          ctx.lineCap = currentStyle.lc;\n          ctx.lineJoin = currentStyle.lj;\n          ctx.miterLimit = currentStyle.ml || 0;\n        } else {\n          ctx.fillStyle = type === \"fl\" ? currentStyle.co : currentStyle.grd;\n        }\n\n        renderer.ctxOpacity(currentStyle.coOp);\n\n        if (type !== \"st\" && type !== \"gs\") {\n          ctx.beginPath();\n        }\n\n        renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n        jLen = elems.length;\n\n        for (j = 0; j < jLen; j += 1) {\n          if (type === \"st\" || type === \"gs\") {\n            ctx.beginPath();\n\n            if (currentStyle.da) {\n              ctx.setLineDash(currentStyle.da);\n              ctx.lineDashOffset = currentStyle.do;\n            }\n          }\n\n          nodes = elems[j].trNodes;\n          kLen = nodes.length;\n\n          for (k = 0; k < kLen; k += 1) {\n            if (nodes[k].t === \"m\") {\n              ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n            } else if (nodes[k].t === \"c\") {\n              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]);\n            } else {\n              ctx.closePath();\n            }\n          }\n\n          if (type === \"st\" || type === \"gs\") {\n            ctx.stroke();\n\n            if (currentStyle.da) {\n              ctx.setLineDash((this || _global).dashResetter);\n            }\n          }\n        }\n\n        if (type !== \"st\" && type !== \"gs\") {\n          ctx.fill(currentStyle.r);\n        }\n\n        renderer.restore();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n    var i;\n    var len = items.length - 1;\n    var groupTransform;\n    groupTransform = parentTransform;\n\n    for (i = len; i >= 0; i -= 1) {\n      if (items[i].ty === \"tr\") {\n        groupTransform = data[i].transform;\n        this.renderShapeTransform(parentTransform, groupTransform);\n      } else if (items[i].ty === \"sh\" || items[i].ty === \"el\" || items[i].ty === \"rc\" || items[i].ty === \"sr\") {\n        this.renderPath(items[i], data[i]);\n      } else if (items[i].ty === \"fl\") {\n        this.renderFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"st\") {\n        this.renderStroke(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"gf\" || items[i].ty === \"gs\") {\n        this.renderGradientFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"gr\") {\n        this.renderShape(groupTransform, items[i].it, data[i].it);\n      } else if (items[i].ty === \"tm\") {//\n      }\n    }\n\n    if (isMain) {\n      this.drawLayer();\n    }\n  };\n\n  CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n    if ((this || _global)._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n      var shapeNodes = styledShape.trNodes;\n      var paths = shape.paths;\n      var i;\n      var len;\n      var j;\n      var jLen = paths._length;\n      shapeNodes.length = 0;\n      var groupTransformMat = styledShape.transforms.finalTransform;\n\n      for (j = 0; j < jLen; j += 1) {\n        var pathNodes = paths.shapes[j];\n\n        if (pathNodes && pathNodes.v) {\n          len = pathNodes._length;\n\n          for (i = 1; i < len; i += 1) {\n            if (i === 1) {\n              shapeNodes.push({\n                t: \"m\",\n                p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n              });\n            }\n\n            shapeNodes.push({\n              t: \"c\",\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n            });\n          }\n\n          if (len === 1) {\n            shapeNodes.push({\n              t: \"m\",\n              p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n            });\n          }\n\n          if (pathNodes.c && len) {\n            shapeNodes.push({\n              t: \"c\",\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n            });\n            shapeNodes.push({\n              t: \"z\"\n            });\n          }\n        }\n      }\n\n      styledShape.trNodes = shapeNodes;\n    }\n  };\n\n  CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n    if (pathData.hd !== true && pathData._shouldRender) {\n      var i;\n      var len = itemData.styledShapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n\n    if (itemData.c._mdf || (this || _global)._isFirstFrame) {\n      styleElem.co = \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\";\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || (this || _global)._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n  };\n\n  CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var grd;\n\n    if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n      var ctx = (this || _global).globalData.canvasContext;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (styleData.t === 1) {\n        grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n      } else {\n        var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n        var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n        var percent = itemData.h.v;\n\n        if (percent >= 1) {\n          percent = 0.99;\n        } else if (percent <= -1) {\n          percent = -0.99;\n        }\n\n        var dist = rad * percent;\n        var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n        var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n        grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n      }\n\n      var i;\n      var len = styleData.g.p;\n      var cValues = itemData.g.c;\n      var opacity = 1;\n\n      for (i = 0; i < len; i += 1) {\n        if (itemData.g._hasOpacity && itemData.g._collapsable) {\n          opacity = itemData.g.o[i * 2 + 1];\n        }\n\n        grd.addColorStop(cValues[i * 4] / 100, \"rgba(\" + cValues[i * 4 + 1] + \",\" + cValues[i * 4 + 2] + \",\" + cValues[i * 4 + 3] + \",\" + opacity + \")\");\n      }\n\n      styleElem.grd = grd;\n    }\n\n    styleElem.coOp = itemData.o.v * groupTransform.opacity;\n  };\n\n  CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var d = itemData.d;\n\n    if (d && (d._mdf || (this || _global)._isFirstFrame)) {\n      styleElem.da = d.dashArray;\n      styleElem.do = d.dashoffset[0];\n    }\n\n    if (itemData.c._mdf || (this || _global)._isFirstFrame) {\n      styleElem.co = \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\";\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || (this || _global)._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n\n    if (itemData.w._mdf || (this || _global)._isFirstFrame) {\n      styleElem.wi = itemData.w.v;\n    }\n  };\n\n  CVShapeElement.prototype.destroy = function () {\n    (this || _global).shapesData = null;\n    (this || _global).globalData = null;\n    (this || _global).canvasContext = null;\n    (this || _global).stylesList.length = 0;\n    (this || _global).itemsData.length = 0;\n  };\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement,\r\n  SVGShapeElement, IImageElement */\n\n\n  function CVSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n  CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVSolidElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.fillStyle = (this || _global).data.sc;\n    ctx.fillRect(0, 0, (this || _global).data.sw, (this || _global).data.sh); //\n  };\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement,\r\n  RenderableElement, ITextElement, createTag, createSizedArray */\n\n\n  function CVTextElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).yOffset = 0;\n    (this || _global).fillColorAnim = false;\n    (this || _global).strokeColorAnim = false;\n    (this || _global).strokeWidthAnim = false;\n    (this || _global).stroke = false;\n    (this || _global).fill = false;\n    (this || _global).justifyOffset = 0;\n    (this || _global).currentRender = null;\n    (this || _global).renderType = \"canvas\";\n    (this || _global).values = {\n      fill: \"rgba(0,0,0,0)\",\n      stroke: \"rgba(0,0,0,0)\",\n      sWidth: 0,\n      fValue: \"\"\n    };\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n  CVTextElement.prototype.tHelper = createTag(\"canvas\").getContext(\"2d\");\n\n  CVTextElement.prototype.buildNewText = function () {\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var hasFill = false;\n\n    if (documentData.fc) {\n      hasFill = true;\n      (this || _global).values.fill = this.buildColor(documentData.fc);\n    } else {\n      (this || _global).values.fill = \"rgba(0,0,0,0)\";\n    }\n\n    (this || _global).fill = hasFill;\n    var hasStroke = false;\n\n    if (documentData.sc) {\n      hasStroke = true;\n      (this || _global).values.stroke = this.buildColor(documentData.sc);\n      (this || _global).values.sWidth = documentData.sw;\n    }\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    var i;\n    var len;\n    var letters = documentData.l;\n    var matrixHelper = (this || _global).mHelper;\n    (this || _global).stroke = hasStroke;\n    (this || _global).values.fValue = documentData.finalSize + \"px \" + (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily;\n    len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n    var charData;\n    var shapeData;\n    var k;\n    var kLen;\n    var shapes;\n    var j;\n    var jLen;\n    var pathNodes;\n    var commands;\n    var pathArr;\n    var singleShape = (this || _global).data.singleShape;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n      shapeData = charData && charData.data || {};\n      matrixHelper.reset();\n\n      if (singleShape && letters[i].n) {\n        xPos = -trackingOffset;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        firstLine = false;\n      }\n\n      shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n      jLen = shapes.length;\n      matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n      if (singleShape) {\n        this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n      }\n\n      commands = createSizedArray(jLen);\n\n      for (j = 0; j < jLen; j += 1) {\n        kLen = shapes[j].ks.k.i.length;\n        pathNodes = shapes[j].ks.k;\n        pathArr = [];\n\n        for (k = 1; k < kLen; k += 1) {\n          if (k === 1) {\n            pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n          }\n\n          pathArr.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));\n        }\n\n        pathArr.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));\n        commands[j] = pathArr;\n      }\n\n      if (singleShape) {\n        xPos += letters[i].l;\n        xPos += trackingOffset;\n      }\n\n      if ((this || _global).textSpans[cnt]) {\n        (this || _global).textSpans[cnt].elem = commands;\n      } else {\n        (this || _global).textSpans[cnt] = {\n          elem: commands\n        };\n      }\n\n      cnt += 1;\n    }\n  };\n\n  CVTextElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.font = (this || _global).values.fValue;\n    ctx.lineCap = \"butt\";\n    ctx.lineJoin = \"miter\";\n    ctx.miterLimit = 4;\n\n    if (!(this || _global).data.singleShape) {\n      (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n    }\n\n    var i;\n    var len;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var renderedLetters = (this || _global).textAnimator.renderedLetters;\n    var letters = (this || _global).textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var lastFill = null;\n    var lastStroke = null;\n    var lastStrokeW = null;\n    var commands;\n    var pathArr;\n\n    for (i = 0; i < len; i += 1) {\n      if (!letters[i].n) {\n        renderedLetter = renderedLetters[i];\n\n        if (renderedLetter) {\n          (this || _global).globalData.renderer.save();\n\n          (this || _global).globalData.renderer.ctxTransform(renderedLetter.p);\n\n          (this || _global).globalData.renderer.ctxOpacity(renderedLetter.o);\n        }\n\n        if ((this || _global).fill) {\n          if (renderedLetter && renderedLetter.fc) {\n            if (lastFill !== renderedLetter.fc) {\n              lastFill = renderedLetter.fc;\n              ctx.fillStyle = renderedLetter.fc;\n            }\n          } else if (lastFill !== (this || _global).values.fill) {\n            lastFill = (this || _global).values.fill;\n            ctx.fillStyle = (this || _global).values.fill;\n          }\n\n          commands = (this || _global).textSpans[i].elem;\n          jLen = commands.length;\n\n          (this || _global).globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n\n            (this || _global).globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              (this || _global).globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          (this || _global).globalData.canvasContext.closePath();\n\n          (this || _global).globalData.canvasContext.fill(); /// ctx.fillText(this.textSpans[i].val,0,0);\n\n        }\n\n        if ((this || _global).stroke) {\n          if (renderedLetter && renderedLetter.sw) {\n            if (lastStrokeW !== renderedLetter.sw) {\n              lastStrokeW = renderedLetter.sw;\n              ctx.lineWidth = renderedLetter.sw;\n            }\n          } else if (lastStrokeW !== (this || _global).values.sWidth) {\n            lastStrokeW = (this || _global).values.sWidth;\n            ctx.lineWidth = (this || _global).values.sWidth;\n          }\n\n          if (renderedLetter && renderedLetter.sc) {\n            if (lastStroke !== renderedLetter.sc) {\n              lastStroke = renderedLetter.sc;\n              ctx.strokeStyle = renderedLetter.sc;\n            }\n          } else if (lastStroke !== (this || _global).values.stroke) {\n            lastStroke = (this || _global).values.stroke;\n            ctx.strokeStyle = (this || _global).values.stroke;\n          }\n\n          commands = (this || _global).textSpans[i].elem;\n          jLen = commands.length;\n\n          (this || _global).globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n\n            (this || _global).globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              (this || _global).globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          (this || _global).globalData.canvasContext.closePath();\n\n          (this || _global).globalData.canvasContext.stroke(); /// ctx.strokeText(letters[i].val,0,0);\n\n        }\n\n        if (renderedLetter) {\n          (this || _global).globalData.renderer.restore();\n        }\n      }\n    }\n  };\n\n  function CVEffects() {}\n\n  CVEffects.prototype.renderFrame = function () {};\n  /* global createTag, createNS, styleDiv, CVEffects, MaskElement, SVGBaseElement, HybridRenderer */\n\n\n  function HBaseElement() {}\n\n  HBaseElement.prototype = {\n    checkBlendMode: function () {},\n    initRendererElement: function () {\n      (this || _global).baseElement = createTag((this || _global).data.tg || \"div\");\n\n      if ((this || _global).data.hasMask) {\n        (this || _global).svgElement = createNS(\"svg\");\n        (this || _global).layerElement = createNS(\"g\");\n        (this || _global).maskedElement = (this || _global).layerElement;\n\n        (this || _global).svgElement.appendChild((this || _global).layerElement);\n\n        (this || _global).baseElement.appendChild((this || _global).svgElement);\n      } else {\n        (this || _global).layerElement = (this || _global).baseElement;\n      }\n\n      styleDiv((this || _global).baseElement);\n    },\n    createContainerElements: function () {\n      (this || _global).renderableEffectsManager = new CVEffects(this || _global);\n      (this || _global).transformedElement = (this || _global).baseElement;\n      (this || _global).maskedElement = (this || _global).layerElement;\n\n      if ((this || _global).data.ln) {\n        (this || _global).layerElement.setAttribute(\"id\", (this || _global).data.ln);\n      }\n\n      if ((this || _global).data.cl) {\n        (this || _global).layerElement.setAttribute(\"class\", (this || _global).data.cl);\n      }\n\n      if ((this || _global).data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function () {\n      var transformedElementStyle = (this || _global).transformedElement ? (this || _global).transformedElement.style : {};\n\n      if ((this || _global).finalTransform._matMdf) {\n        var matrixValue = (this || _global).finalTransform.mat.toCSS();\n\n        transformedElementStyle.transform = matrixValue;\n        transformedElementStyle.webkitTransform = matrixValue;\n      }\n\n      if ((this || _global).finalTransform._opMdf) {\n        transformedElementStyle.opacity = (this || _global).finalTransform.mProp.o.v;\n      }\n    },\n    renderFrame: function () {\n      // If it is exported as hidden (data.hd === true) no need to render\n      // If it is not visible no need to render\n      if ((this || _global).data.hd || (this || _global).hidden) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.renderElement();\n      this.renderInnerContent();\n\n      if ((this || _global)._isFirstFrame) {\n        (this || _global)._isFirstFrame = false;\n      }\n    },\n    destroy: function () {\n      (this || _global).layerElement = null;\n      (this || _global).transformedElement = null;\n\n      if ((this || _global).matteElement) {\n        (this || _global).matteElement = null;\n      }\n\n      if ((this || _global).maskManager) {\n        (this || _global).maskManager.destroy();\n\n        (this || _global).maskManager = null;\n      }\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new MaskElement((this || _global).data, this || _global, (this || _global).globalData);\n    },\n    addEffects: function () {},\n    setMatte: function () {}\n  };\n  HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n  HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n  HBaseElement.prototype.buildElementParenting = HybridRenderer.prototype.buildElementParenting;\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, createNS, createTag */\n\n  function HSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n  HSolidElement.prototype.createContent = function () {\n    var rect;\n\n    if ((this || _global).data.hasMask) {\n      rect = createNS(\"rect\");\n      rect.setAttribute(\"width\", (this || _global).data.sw);\n      rect.setAttribute(\"height\", (this || _global).data.sh);\n      rect.setAttribute(\"fill\", (this || _global).data.sc);\n\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).data.sw);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).data.sh);\n    } else {\n      rect = createTag(\"div\");\n      rect.style.width = (this || _global).data.sw + \"px\";\n      rect.style.height = (this || _global).data.sh + \"px\";\n      rect.style.backgroundColor = (this || _global).data.sc;\n    }\n\n    (this || _global).layerElement.appendChild(rect);\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, HybridRenderer, ICompElement, HBaseElement */\n\n\n  function HCompElement(data, globalData, comp) {\n    (this || _global).layers = data.layers;\n    (this || _global).supports3d = !data.hasMask;\n    (this || _global).completeLayers = false;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = (this || _global).layers ? createSizedArray((this || _global).layers.length) : [];\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([HybridRenderer, ICompElement, HBaseElement], HCompElement);\n  HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n  HCompElement.prototype.createContainerElements = function () {\n    this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).data.w);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).data.h);\n\n      (this || _global).transformedElement = (this || _global).baseElement;\n    } else {\n      (this || _global).transformedElement = (this || _global).layerElement;\n    }\n  };\n\n  HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n    var j = 0;\n    var nextElement;\n\n    while (j < pos) {\n      if ((this || _global).elements[j] && (this || _global).elements[j].getBaseElement) {\n        nextElement = (this || _global).elements[j].getBaseElement();\n      }\n\n      j += 1;\n    }\n\n    if (nextElement) {\n      (this || _global).layerElement.insertBefore(elem, nextElement);\n    } else {\n      (this || _global).layerElement.appendChild(elem);\n    }\n  };\n  /* global createNS, extendPrototype, BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement,\r\n  HierarchyElement, FrameElement, RenderableElement, createNS, bmMin, bmSqrt, bmMin, bmMax, bmPow */\n\n\n  function HShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    (this || _global).shapes = []; // Full shape data\n\n    (this || _global).shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    (this || _global).stylesList = []; // List of modifiers that will be applied to shapes\n\n    (this || _global).shapeModifiers = []; // List of items in shape tree\n\n    (this || _global).itemsData = []; // List of items in previous shape tree\n\n    (this || _global).processedElements = []; // List of animated components\n\n    (this || _global).animatedContents = [];\n    (this || _global).shapesContainer = createNS(\"g\");\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    (this || _global).prevViewData = [];\n    (this || _global).currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n  HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n  HShapeElement.prototype.createContent = function () {\n    var cont;\n    (this || _global).baseElement.style.fontSize = 0;\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).layerElement.appendChild((this || _global).shapesContainer);\n\n      cont = (this || _global).svgElement;\n    } else {\n      cont = createNS(\"svg\");\n      var size = (this || _global).comp.data ? (this || _global).comp.data : (this || _global).globalData.compSize;\n      cont.setAttribute(\"width\", size.w);\n      cont.setAttribute(\"height\", size.h);\n      cont.appendChild((this || _global).shapesContainer);\n\n      (this || _global).layerElement.appendChild(cont);\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).shapesContainer, 0, [], true);\n    this.filterUniqueShapes();\n    (this || _global).shapeCont = cont;\n  };\n\n  HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n    var i;\n    var len = transformers.length;\n\n    for (i = 0; i < len; i += 1) {\n      point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n    }\n\n    return point;\n  };\n\n  HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n    var shape = item.sh.v;\n    var transformers = item.transformers;\n    var i;\n    var len = shape._length;\n    var vPoint;\n    var oPoint;\n    var nextIPoint;\n    var nextVPoint;\n\n    if (len <= 1) {\n      return;\n    }\n\n    for (i = 0; i < len - 1; i += 1) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n\n    if (shape.c) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n  };\n\n  HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n    this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n    var bounds = (this || _global).shapeBoundingBox;\n    boundingBox.x = bmMin(bounds.left, boundingBox.x);\n    boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n    boundingBox.y = bmMin(bounds.top, boundingBox.y);\n    boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n  };\n\n  HShapeElement.prototype.shapeBoundingBox = {\n    left: 0,\n    right: 0,\n    top: 0,\n    bottom: 0\n  };\n  HShapeElement.prototype.tempBoundingBox = {\n    x: 0,\n    xMax: 0,\n    y: 0,\n    yMax: 0,\n    width: 0,\n    height: 0\n  };\n\n  HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n    var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n    for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n      // eslint-disable-line no-plusplus\n      b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n      a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n      c = 3 * p1[i] - 3 * p0[i];\n      b |= 0; // eslint-disable-line no-bitwise\n\n      a |= 0; // eslint-disable-line no-bitwise\n\n      c |= 0; // eslint-disable-line no-bitwise\n\n      if (a === 0 && b === 0) {//\n      } else if (a === 0) {\n        t = -c / b;\n\n        if (t > 0 && t < 1) {\n          bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n        }\n      } else {\n        b2ac = b * b - 4 * c * a;\n\n        if (b2ac >= 0) {\n          t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n          if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n          t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n          if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n        }\n      }\n    }\n\n    (this || _global).shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n    (this || _global).shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n    (this || _global).shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n    (this || _global).shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n  };\n\n  HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n    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];\n  };\n\n  HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n    var i;\n    var len = itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (itemsData[i] && itemsData[i].sh) {\n        this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n      } else if (itemsData[i] && itemsData[i].it) {\n        this.calculateBoundingBox(itemsData[i].it, boundingBox);\n      }\n    }\n  };\n\n  HShapeElement.prototype.currentBoxContains = function (box) {\n    return (this || _global).currentBBox.x <= box.x && (this || _global).currentBBox.y <= box.y && (this || _global).currentBBox.width + (this || _global).currentBBox.x >= box.x + box.width && (this || _global).currentBBox.height + (this || _global).currentBBox.y >= box.y + box.height;\n  };\n\n  HShapeElement.prototype.renderInnerContent = function () {\n    this._renderShapeFrame();\n\n    if (!(this || _global).hidden && ((this || _global)._isFirstFrame || (this || _global)._mdf)) {\n      var tempBoundingBox = (this || _global).tempBoundingBox;\n      var max = 999999;\n      tempBoundingBox.x = max;\n      tempBoundingBox.xMax = -max;\n      tempBoundingBox.y = max;\n      tempBoundingBox.yMax = -max;\n      this.calculateBoundingBox((this || _global).itemsData, tempBoundingBox);\n      tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n      tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n      if (this.currentBoxContains(tempBoundingBox)) {\n        return;\n      }\n\n      var changed = false;\n\n      if ((this || _global).currentBBox.w !== tempBoundingBox.width) {\n        (this || _global).currentBBox.w = tempBoundingBox.width;\n\n        (this || _global).shapeCont.setAttribute(\"width\", tempBoundingBox.width);\n\n        changed = true;\n      }\n\n      if ((this || _global).currentBBox.h !== tempBoundingBox.height) {\n        (this || _global).currentBBox.h = tempBoundingBox.height;\n\n        (this || _global).shapeCont.setAttribute(\"height\", tempBoundingBox.height);\n\n        changed = true;\n      }\n\n      if (changed || (this || _global).currentBBox.x !== tempBoundingBox.x || (this || _global).currentBBox.y !== tempBoundingBox.y) {\n        (this || _global).currentBBox.w = tempBoundingBox.width;\n        (this || _global).currentBBox.h = tempBoundingBox.height;\n        (this || _global).currentBBox.x = tempBoundingBox.x;\n        (this || _global).currentBBox.y = tempBoundingBox.y;\n\n        (this || _global).shapeCont.setAttribute(\"viewBox\", (this || _global).currentBBox.x + \" \" + (this || _global).currentBBox.y + \" \" + (this || _global).currentBBox.w + \" \" + (this || _global).currentBBox.h);\n\n        var shapeStyle = (this || _global).shapeCont.style;\n        var shapeTransform = \"translate(\" + (this || _global).currentBBox.x + \"px,\" + (this || _global).currentBBox.y + \"px)\";\n        shapeStyle.transform = shapeTransform;\n        shapeStyle.webkitTransform = shapeTransform;\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, ITextElement, createSizedArray, createTag, styleDiv, createNS */\n\n\n  function HTextElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).textPaths = [];\n    (this || _global).currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n    (this || _global).renderType = \"svg\";\n    (this || _global).isMasked = false;\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n  HTextElement.prototype.createContent = function () {\n    (this || _global).isMasked = this.checkMasks();\n\n    if ((this || _global).isMasked) {\n      (this || _global).renderType = \"svg\";\n      (this || _global).compW = (this || _global).comp.data.w;\n      (this || _global).compH = (this || _global).comp.data.h;\n\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).compW);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).compH);\n\n      var g = createNS(\"g\");\n\n      (this || _global).maskedElement.appendChild(g);\n\n      (this || _global).innerElem = g;\n    } else {\n      (this || _global).renderType = \"html\";\n      (this || _global).innerElem = (this || _global).layerElement;\n    }\n\n    this.checkParenting();\n  };\n\n  HTextElement.prototype.buildNewText = function () {\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var innerElemStyle = (this || _global).innerElem.style;\n    var textColor = documentData.fc ? this.buildColor(documentData.fc) : \"rgba(0,0,0,0)\";\n    innerElemStyle.fill = textColor;\n    innerElemStyle.color = textColor;\n\n    if (documentData.sc) {\n      innerElemStyle.stroke = this.buildColor(documentData.sc);\n      innerElemStyle.strokeWidth = documentData.sw + \"px\";\n    }\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    if (!(this || _global).globalData.fontManager.chars) {\n      innerElemStyle.fontSize = documentData.finalSize + \"px\";\n      innerElemStyle.lineHeight = documentData.finalSize + \"px\";\n\n      if (fontData.fClass) {\n        (this || _global).innerElem.className = fontData.fClass;\n      } else {\n        innerElemStyle.fontFamily = fontData.fFamily;\n        var fWeight = documentData.fWeight;\n        var fStyle = documentData.fStyle;\n        innerElemStyle.fontStyle = fStyle;\n        innerElemStyle.fontWeight = fWeight;\n      }\n    }\n\n    var i;\n    var len;\n    var letters = documentData.l;\n    len = letters.length;\n    var tSpan;\n    var tParent;\n    var tCont;\n    var matrixHelper = (this || _global).mHelper;\n    var shapes;\n    var shapeStr = \"\";\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).globalData.fontManager.chars) {\n        if (!(this || _global).textPaths[cnt]) {\n          tSpan = createNS(\"path\");\n          tSpan.setAttribute(\"stroke-linecap\", \"butt\");\n          tSpan.setAttribute(\"stroke-linejoin\", \"round\");\n          tSpan.setAttribute(\"stroke-miterlimit\", \"4\");\n        } else {\n          tSpan = (this || _global).textPaths[cnt];\n        }\n\n        if (!(this || _global).isMasked) {\n          if ((this || _global).textSpans[cnt]) {\n            tParent = (this || _global).textSpans[cnt];\n            tCont = tParent.children[0];\n          } else {\n            tParent = createTag(\"div\");\n            tParent.style.lineHeight = 0;\n            tCont = createNS(\"svg\");\n            tCont.appendChild(tSpan);\n            styleDiv(tParent);\n          }\n        }\n      } else if (!(this || _global).isMasked) {\n        if ((this || _global).textSpans[cnt]) {\n          tParent = (this || _global).textSpans[cnt];\n          tSpan = (this || _global).textPaths[cnt];\n        } else {\n          tParent = createTag(\"span\");\n          styleDiv(tParent);\n          tSpan = createTag(\"span\");\n          styleDiv(tSpan);\n          tParent.appendChild(tSpan);\n        }\n      } else {\n        tSpan = (this || _global).textPaths[cnt] ? (this || _global).textPaths[cnt] : createNS(\"text\");\n      } // tSpan.setAttribute('visibility', 'hidden');\n\n\n      if ((this || _global).globalData.fontManager.chars) {\n        var charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n\n        var shapeData;\n\n        if (charData) {\n          shapeData = charData.data;\n        } else {\n          shapeData = null;\n        }\n\n        matrixHelper.reset();\n\n        if (shapeData && shapeData.shapes) {\n          shapes = shapeData.shapes[0].it;\n          matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n          shapeStr = this.createPathShape(matrixHelper, shapes);\n          tSpan.setAttribute(\"d\", shapeStr);\n        }\n\n        if (!(this || _global).isMasked) {\n          (this || _global).innerElem.appendChild(tParent);\n\n          if (shapeData && shapeData.shapes) {\n            // document.body.appendChild is needed to get exact measure of shape\n            document.body.appendChild(tCont);\n            var boundingBox = tCont.getBBox();\n            tCont.setAttribute(\"width\", boundingBox.width + 2);\n            tCont.setAttribute(\"height\", boundingBox.height + 2);\n            tCont.setAttribute(\"viewBox\", boundingBox.x - 1 + \" \" + (boundingBox.y - 1) + \" \" + (boundingBox.width + 2) + \" \" + (boundingBox.height + 2));\n            var tContStyle = tCont.style;\n            var tContTranslation = \"translate(\" + (boundingBox.x - 1) + \"px,\" + (boundingBox.y - 1) + \"px)\";\n            tContStyle.transform = tContTranslation;\n            tContStyle.webkitTransform = tContTranslation;\n            letters[i].yOffset = boundingBox.y - 1;\n          } else {\n            tCont.setAttribute(\"width\", 1);\n            tCont.setAttribute(\"height\", 1);\n          }\n\n          tParent.appendChild(tCont);\n        } else {\n          (this || _global).innerElem.appendChild(tSpan);\n        }\n      } else {\n        tSpan.textContent = letters[i].val;\n        tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n\n        if (!(this || _global).isMasked) {\n          (this || _global).innerElem.appendChild(tParent); //\n\n\n          var tStyle = tSpan.style;\n          var tSpanTranslation = \"translate3d(0,\" + -documentData.finalSize / 1.2 + \"px,0)\";\n          tStyle.transform = tSpanTranslation;\n          tStyle.webkitTransform = tSpanTranslation;\n        } else {\n          (this || _global).innerElem.appendChild(tSpan);\n        }\n      } //\n\n\n      if (!(this || _global).isMasked) {\n        (this || _global).textSpans[cnt] = tParent;\n      } else {\n        (this || _global).textSpans[cnt] = tSpan;\n      }\n\n      (this || _global).textSpans[cnt].style.display = \"block\";\n      (this || _global).textPaths[cnt] = tSpan;\n      cnt += 1;\n    }\n\n    while (cnt < (this || _global).textSpans.length) {\n      (this || _global).textSpans[cnt].style.display = \"none\";\n      cnt += 1;\n    }\n  };\n\n  HTextElement.prototype.renderInnerContent = function () {\n    var svgStyle;\n\n    if ((this || _global).data.singleShape) {\n      if (!(this || _global)._isFirstFrame && !(this || _global).lettersChangedFlag) {\n        return;\n      }\n\n      if ((this || _global).isMasked && (this || _global).finalTransform._matMdf) {\n        // Todo Benchmark if using this is better than getBBox\n        (this || _global).svgElement.setAttribute(\"viewBox\", -(this || _global).finalTransform.mProp.p.v[0] + \" \" + -(this || _global).finalTransform.mProp.p.v[1] + \" \" + (this || _global).compW + \" \" + (this || _global).compH);\n\n        svgStyle = (this || _global).svgElement.style;\n        var translation = \"translate(\" + -(this || _global).finalTransform.mProp.p.v[0] + \"px,\" + -(this || _global).finalTransform.mProp.p.v[1] + \"px)\";\n        svgStyle.transform = translation;\n        svgStyle.webkitTransform = translation;\n      }\n    }\n\n    (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n\n    if (!(this || _global).lettersChangedFlag && !(this || _global).textAnimator.lettersChangedFlag) {\n      return;\n    }\n\n    var i;\n    var len;\n    var count = 0;\n    var renderedLetters = (this || _global).textAnimator.renderedLetters;\n    var letters = (this || _global).textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var textSpan;\n    var textPath;\n\n    for (i = 0; i < len; i += 1) {\n      if (letters[i].n) {\n        count += 1;\n      } else {\n        textSpan = (this || _global).textSpans[i];\n        textPath = (this || _global).textPaths[i];\n        renderedLetter = renderedLetters[count];\n        count += 1;\n\n        if (renderedLetter._mdf.m) {\n          if (!(this || _global).isMasked) {\n            textSpan.style.webkitTransform = renderedLetter.m;\n            textSpan.style.transform = renderedLetter.m;\n          } else {\n            textSpan.setAttribute(\"transform\", renderedLetter.m);\n          }\n        } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n        textSpan.style.opacity = renderedLetter.o;\n\n        if (renderedLetter.sw && renderedLetter._mdf.sw) {\n          textPath.setAttribute(\"stroke-width\", renderedLetter.sw);\n        }\n\n        if (renderedLetter.sc && renderedLetter._mdf.sc) {\n          textPath.setAttribute(\"stroke\", renderedLetter.sc);\n        }\n\n        if (renderedLetter.fc && renderedLetter._mdf.fc) {\n          textPath.setAttribute(\"fill\", renderedLetter.fc);\n          textPath.style.color = renderedLetter.fc;\n        }\n      }\n    }\n\n    if ((this || _global).innerElem.getBBox && !(this || _global).hidden && ((this || _global)._isFirstFrame || (this || _global)._mdf)) {\n      var boundingBox = (this || _global).innerElem.getBBox();\n\n      if ((this || _global).currentBBox.w !== boundingBox.width) {\n        (this || _global).currentBBox.w = boundingBox.width;\n\n        (this || _global).svgElement.setAttribute(\"width\", boundingBox.width);\n      }\n\n      if ((this || _global).currentBBox.h !== boundingBox.height) {\n        (this || _global).currentBBox.h = boundingBox.height;\n\n        (this || _global).svgElement.setAttribute(\"height\", boundingBox.height);\n      }\n\n      var margin = 1;\n\n      if ((this || _global).currentBBox.w !== boundingBox.width + margin * 2 || (this || _global).currentBBox.h !== boundingBox.height + margin * 2 || (this || _global).currentBBox.x !== boundingBox.x - margin || (this || _global).currentBBox.y !== boundingBox.y - margin) {\n        (this || _global).currentBBox.w = boundingBox.width + margin * 2;\n        (this || _global).currentBBox.h = boundingBox.height + margin * 2;\n        (this || _global).currentBBox.x = boundingBox.x - margin;\n        (this || _global).currentBBox.y = boundingBox.y - margin;\n\n        (this || _global).svgElement.setAttribute(\"viewBox\", (this || _global).currentBBox.x + \" \" + (this || _global).currentBBox.y + \" \" + (this || _global).currentBBox.w + \" \" + (this || _global).currentBBox.h);\n\n        svgStyle = (this || _global).svgElement.style;\n        var svgTransform = \"translate(\" + (this || _global).currentBBox.x + \"px,\" + (this || _global).currentBBox.y + \"px)\";\n        svgStyle.transform = svgTransform;\n        svgStyle.webkitTransform = svgTransform;\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement,\r\n  FrameElement, RenderableElement, createNS */\n\n\n  function HImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n  HImageElement.prototype.createContent = function () {\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    var img = new Image();\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).imageElem = createNS(\"image\");\n\n      (this || _global).imageElem.setAttribute(\"width\", (this || _global).assetData.w + \"px\");\n\n      (this || _global).imageElem.setAttribute(\"height\", (this || _global).assetData.h + \"px\");\n\n      (this || _global).imageElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", assetPath);\n\n      (this || _global).layerElement.appendChild((this || _global).imageElem);\n\n      (this || _global).baseElement.setAttribute(\"width\", (this || _global).assetData.w);\n\n      (this || _global).baseElement.setAttribute(\"height\", (this || _global).assetData.h);\n    } else {\n      (this || _global).layerElement.appendChild(img);\n    }\n\n    img.crossOrigin = \"anonymous\";\n    img.src = assetPath;\n\n    if ((this || _global).data.ln) {\n      (this || _global).baseElement.setAttribute(\"id\", (this || _global).data.ln);\n    }\n  };\n  /* global PropertyFactory, degToRads, Matrix, extendPrototype, BaseElement, FrameElement, HierarchyElement */\n\n\n  function HCameraElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initHierarchy();\n    var getProp = PropertyFactory.getProp;\n    (this || _global).pe = getProp(this || _global, data.pe, 0, 0, this || _global);\n\n    if (data.ks.p.s) {\n      (this || _global).px = getProp(this || _global, data.ks.p.x, 1, 0, this || _global);\n      (this || _global).py = getProp(this || _global, data.ks.p.y, 1, 0, this || _global);\n      (this || _global).pz = getProp(this || _global, data.ks.p.z, 1, 0, this || _global);\n    } else {\n      (this || _global).p = getProp(this || _global, data.ks.p, 1, 0, this || _global);\n    }\n\n    if (data.ks.a) {\n      (this || _global).a = getProp(this || _global, data.ks.a, 1, 0, this || _global);\n    }\n\n    if (data.ks.or.k.length && data.ks.or.k[0].to) {\n      var i;\n      var len = data.ks.or.k.length;\n\n      for (i = 0; i < len; i += 1) {\n        data.ks.or.k[i].to = null;\n        data.ks.or.k[i].ti = null;\n      }\n    }\n\n    (this || _global).or = getProp(this || _global, data.ks.or, 1, degToRads, this || _global);\n    (this || _global).or.sh = true;\n    (this || _global).rx = getProp(this || _global, data.ks.rx, 0, degToRads, this || _global);\n    (this || _global).ry = getProp(this || _global, data.ks.ry, 0, degToRads, this || _global);\n    (this || _global).rz = getProp(this || _global, data.ks.rz, 0, degToRads, this || _global);\n    (this || _global).mat = new Matrix();\n    (this || _global)._prevMat = new Matrix();\n    (this || _global)._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n    (this || _global).finalTransform = {\n      mProp: this || _global\n    };\n  }\n\n  extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n  HCameraElement.prototype.setup = function () {\n    var i;\n    var len = (this || _global).comp.threeDElements.length;\n    var comp;\n    var perspectiveStyle;\n    var containerStyle;\n\n    for (i = 0; i < len; i += 1) {\n      // [perspectiveElem,container]\n      comp = (this || _global).comp.threeDElements[i];\n\n      if (comp.type === \"3d\") {\n        perspectiveStyle = comp.perspectiveElem.style;\n        containerStyle = comp.container.style;\n        var perspective = (this || _global).pe.v + \"px\";\n        var origin = \"0px 0px 0px\";\n        var matrix = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n        perspectiveStyle.perspective = perspective;\n        perspectiveStyle.webkitPerspective = perspective;\n        containerStyle.transformOrigin = origin;\n        containerStyle.mozTransformOrigin = origin;\n        containerStyle.webkitTransformOrigin = origin;\n        perspectiveStyle.transform = matrix;\n        perspectiveStyle.webkitTransform = matrix;\n      }\n    }\n  };\n\n  HCameraElement.prototype.createElements = function () {};\n\n  HCameraElement.prototype.hide = function () {};\n\n  HCameraElement.prototype.renderFrame = function () {\n    var _mdf = (this || _global)._isFirstFrame;\n    var i;\n    var len;\n\n    if ((this || _global).hierarchy) {\n      len = (this || _global).hierarchy.length;\n\n      for (i = 0; i < len; i += 1) {\n        _mdf = (this || _global).hierarchy[i].finalTransform.mProp._mdf || _mdf;\n      }\n    }\n\n    if (_mdf || (this || _global).pe._mdf || (this || _global).p && (this || _global).p._mdf || (this || _global).px && ((this || _global).px._mdf || (this || _global).py._mdf || (this || _global).pz._mdf) || (this || _global).rx._mdf || (this || _global).ry._mdf || (this || _global).rz._mdf || (this || _global).or._mdf || (this || _global).a && (this || _global).a._mdf) {\n      (this || _global).mat.reset();\n\n      if ((this || _global).hierarchy) {\n        len = (this || _global).hierarchy.length - 1;\n\n        for (i = len; i >= 0; i -= 1) {\n          var mTransf = (this || _global).hierarchy[i].finalTransform.mProp;\n\n          (this || _global).mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n\n          (this || _global).mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n\n          (this || _global).mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n\n          (this || _global).mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n\n          (this || _global).mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n        }\n      }\n\n      if ((this || _global).p) {\n        (this || _global).mat.translate(-(this || _global).p.v[0], -(this || _global).p.v[1], (this || _global).p.v[2]);\n      } else {\n        (this || _global).mat.translate(-(this || _global).px.v, -(this || _global).py.v, (this || _global).pz.v);\n      }\n\n      if ((this || _global).a) {\n        var diffVector;\n\n        if ((this || _global).p) {\n          diffVector = [(this || _global).p.v[0] - (this || _global).a.v[0], (this || _global).p.v[1] - (this || _global).a.v[1], (this || _global).p.v[2] - (this || _global).a.v[2]];\n        } else {\n          diffVector = [(this || _global).px.v - (this || _global).a.v[0], (this || _global).py.v - (this || _global).a.v[1], (this || _global).pz.v - (this || _global).a.v[2]];\n        }\n\n        var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n        var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n        var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n        var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n        var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n\n        (this || _global).mat.rotateY(mRotationY).rotateX(-mRotationX);\n      }\n\n      (this || _global).mat.rotateX(-(this || _global).rx.v).rotateY(-(this || _global).ry.v).rotateZ((this || _global).rz.v);\n\n      (this || _global).mat.rotateX(-(this || _global).or.v[0]).rotateY(-(this || _global).or.v[1]).rotateZ((this || _global).or.v[2]);\n\n      (this || _global).mat.translate((this || _global).globalData.compSize.w / 2, (this || _global).globalData.compSize.h / 2, 0);\n\n      (this || _global).mat.translate(0, 0, (this || _global).pe.v);\n\n      var hasMatrixChanged = !(this || _global)._prevMat.equals((this || _global).mat);\n\n      if ((hasMatrixChanged || (this || _global).pe._mdf) && (this || _global).comp.threeDElements) {\n        len = (this || _global).comp.threeDElements.length;\n        var comp;\n        var perspectiveStyle;\n        var containerStyle;\n\n        for (i = 0; i < len; i += 1) {\n          comp = (this || _global).comp.threeDElements[i];\n\n          if (comp.type === \"3d\") {\n            if (hasMatrixChanged) {\n              var matValue = (this || _global).mat.toCSS();\n\n              containerStyle = comp.container.style;\n              containerStyle.transform = matValue;\n              containerStyle.webkitTransform = matValue;\n            }\n\n            if ((this || _global).pe._mdf) {\n              perspectiveStyle = comp.perspectiveElem.style;\n              perspectiveStyle.perspective = (this || _global).pe.v + \"px\";\n              perspectiveStyle.webkitPerspective = (this || _global).pe.v + \"px\";\n            }\n          }\n        }\n\n        (this || _global).mat.clone((this || _global)._prevMat);\n      }\n    }\n\n    (this || _global)._isFirstFrame = false;\n  };\n\n  HCameraElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  HCameraElement.prototype.destroy = function () {};\n\n  HCameraElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  function HEffects() {}\n\n  HEffects.prototype.renderFrame = function () {};\n  /* global createTag, AnimationItem */\n\n  /* exported animationManager */\n\n\n  var animationManager = function () {\n    var moduleOb = {};\n    var registeredAnimations = [];\n    var initTime = 0;\n    var len = 0;\n    var playingAnimationsNum = 0;\n    var _stopped = true;\n    var _isFrozen = false;\n\n    function removeElement(ev) {\n      var i = 0;\n      var animItem = ev.target;\n\n      while (i < len) {\n        if (registeredAnimations[i].animation === animItem) {\n          registeredAnimations.splice(i, 1);\n          i -= 1;\n          len -= 1;\n\n          if (!animItem.isPaused) {\n            subtractPlayingCount();\n          }\n        }\n\n        i += 1;\n      }\n    }\n\n    function registerAnimation(element, animationData) {\n      if (!element) {\n        return null;\n      }\n\n      var i = 0;\n\n      while (i < len) {\n        if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n          return registeredAnimations[i].animation;\n        }\n\n        i += 1;\n      }\n\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, element);\n      animItem.setData(element, animationData);\n      return animItem;\n    }\n\n    function getRegisteredAnimations() {\n      var i;\n      var lenAnims = registeredAnimations.length;\n      var animations = [];\n\n      for (i = 0; i < lenAnims; i += 1) {\n        animations.push(registeredAnimations[i].animation);\n      }\n\n      return animations;\n    }\n\n    function addPlayingCount() {\n      playingAnimationsNum += 1;\n      activate();\n    }\n\n    function subtractPlayingCount() {\n      playingAnimationsNum -= 1;\n    }\n\n    function setupAnimation(animItem, element) {\n      animItem.addEventListener(\"destroy\", removeElement);\n      animItem.addEventListener(\"_active\", addPlayingCount);\n      animItem.addEventListener(\"_idle\", subtractPlayingCount);\n      registeredAnimations.push({\n        elem: element,\n        animation: animItem\n      });\n      len += 1;\n    }\n\n    function loadAnimation(params) {\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, null);\n      animItem.setParams(params);\n      return animItem;\n    }\n\n    function setSpeed(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setSpeed(val, animation);\n      }\n    }\n\n    function setDirection(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setDirection(val, animation);\n      }\n    }\n\n    function play(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.play(animation);\n      }\n    }\n\n    function resume(nowTime) {\n      var elapsedTime = nowTime - initTime;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.advanceTime(elapsedTime);\n      }\n\n      initTime = nowTime;\n\n      if (playingAnimationsNum && !_isFrozen) {\n        window.requestAnimationFrame(resume);\n      } else {\n        _stopped = true;\n      }\n    }\n\n    function first(nowTime) {\n      initTime = nowTime;\n      window.requestAnimationFrame(resume);\n    }\n\n    function pause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.pause(animation);\n      }\n    }\n\n    function goToAndStop(value, isFrame, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n      }\n    }\n\n    function stop(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.stop(animation);\n      }\n    }\n\n    function togglePause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.togglePause(animation);\n      }\n    }\n\n    function destroy(animation) {\n      var i;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        registeredAnimations[i].animation.destroy(animation);\n      }\n    }\n\n    function searchAnimations(animationData, standalone, renderer) {\n      var animElements = [].concat([].slice.call(document.getElementsByClassName(\"lottie\")), [].slice.call(document.getElementsByClassName(\"bodymovin\")));\n      var i;\n      var lenAnims = animElements.length;\n\n      for (i = 0; i < lenAnims; i += 1) {\n        if (renderer) {\n          animElements[i].setAttribute(\"data-bm-type\", renderer);\n        }\n\n        registerAnimation(animElements[i], animationData);\n      }\n\n      if (standalone && lenAnims === 0) {\n        if (!renderer) {\n          renderer = \"svg\";\n        }\n\n        var body = document.getElementsByTagName(\"body\")[0];\n        body.innerText = \"\";\n        var div = createTag(\"div\");\n        div.style.width = \"100%\";\n        div.style.height = \"100%\";\n        div.setAttribute(\"data-bm-type\", renderer);\n        body.appendChild(div);\n        registerAnimation(div, animationData);\n      }\n    }\n\n    function resize() {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.resize();\n      }\n    }\n\n    function activate() {\n      if (!_isFrozen && playingAnimationsNum) {\n        if (_stopped) {\n          window.requestAnimationFrame(first);\n          _stopped = false;\n        }\n      }\n    }\n\n    function freeze() {\n      _isFrozen = true;\n    }\n\n    function unfreeze() {\n      _isFrozen = false;\n      activate();\n    }\n\n    function setVolume(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setVolume(val, animation);\n      }\n    }\n\n    function mute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.mute(animation);\n      }\n    }\n\n    function unmute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.unmute(animation);\n      }\n    }\n\n    moduleOb.registerAnimation = registerAnimation;\n    moduleOb.loadAnimation = loadAnimation;\n    moduleOb.setSpeed = setSpeed;\n    moduleOb.setDirection = setDirection;\n    moduleOb.play = play;\n    moduleOb.pause = pause;\n    moduleOb.stop = stop;\n    moduleOb.togglePause = togglePause;\n    moduleOb.searchAnimations = searchAnimations;\n    moduleOb.resize = resize; // moduleOb.start = start;\n\n    moduleOb.goToAndStop = goToAndStop;\n    moduleOb.destroy = destroy;\n    moduleOb.freeze = freeze;\n    moduleOb.unfreeze = unfreeze;\n    moduleOb.setVolume = setVolume;\n    moduleOb.mute = mute;\n    moduleOb.unmute = unmute;\n    moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n    return moduleOb;\n  }();\n  /* global createElementID, subframeEnabled, ProjectInterface, ImagePreloader, audioControllerFactory, extendPrototype, BaseEvent,\r\n  CanvasRenderer, SVGRenderer, HybridRenderer, assetLoader, dataManager, expressionsPlugin, BMEnterFrameEvent, BMCompleteLoopEvent,\r\n  BMCompleteEvent, BMSegmentStartEvent, BMDestroyEvent, BMEnterFrameEvent, BMCompleteLoopEvent, BMCompleteEvent, BMSegmentStartEvent,\r\n  BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, markerParser */\n\n\n  var AnimationItem = function () {\n    (this || _global)._cbs = [];\n    (this || _global).name = \"\";\n    (this || _global).path = \"\";\n    (this || _global).isLoaded = false;\n    (this || _global).currentFrame = 0;\n    (this || _global).currentRawFrame = 0;\n    (this || _global).firstFrame = 0;\n    (this || _global).totalFrames = 0;\n    (this || _global).frameRate = 0;\n    (this || _global).frameMult = 0;\n    (this || _global).playSpeed = 1;\n    (this || _global).playDirection = 1;\n    (this || _global).playCount = 0;\n    (this || _global).animationData = {};\n    (this || _global).assets = [];\n    (this || _global).isPaused = true;\n    (this || _global).autoplay = false;\n    (this || _global).loop = true;\n    (this || _global).renderer = null;\n    (this || _global).animationID = createElementID();\n    (this || _global).assetsPath = \"\";\n    (this || _global).timeCompleted = 0;\n    (this || _global).segmentPos = 0;\n    (this || _global).isSubframeEnabled = subframeEnabled;\n    (this || _global).segments = [];\n    (this || _global)._idle = true;\n    (this || _global)._completedLoop = false;\n    (this || _global).projectInterface = ProjectInterface();\n    (this || _global).imagePreloader = new ImagePreloader();\n    (this || _global).audioController = audioControllerFactory();\n    (this || _global).markers = [];\n  };\n\n  extendPrototype([BaseEvent], AnimationItem);\n\n  AnimationItem.prototype.setParams = function (params) {\n    if (params.wrapper || params.container) {\n      (this || _global).wrapper = params.wrapper || params.container;\n    }\n\n    var animType = \"svg\";\n\n    if (params.animType) {\n      animType = params.animType;\n    } else if (params.renderer) {\n      animType = params.renderer;\n    }\n\n    switch (animType) {\n      case \"canvas\":\n        (this || _global).renderer = new CanvasRenderer(this || _global, params.rendererSettings);\n        break;\n\n      case \"svg\":\n        (this || _global).renderer = new SVGRenderer(this || _global, params.rendererSettings);\n        break;\n\n      default:\n        (this || _global).renderer = new HybridRenderer(this || _global, params.rendererSettings);\n        break;\n    }\n\n    (this || _global).imagePreloader.setCacheType(animType, (this || _global).renderer.globalData.defs);\n\n    (this || _global).renderer.setProjectInterface((this || _global).projectInterface);\n\n    (this || _global).animType = animType;\n\n    if (params.loop === \"\" || params.loop === null || params.loop === undefined || params.loop === true) {\n      (this || _global).loop = true;\n    } else if (params.loop === false) {\n      (this || _global).loop = false;\n    } else {\n      (this || _global).loop = parseInt(params.loop, 10);\n    }\n\n    (this || _global).autoplay = \"autoplay\" in params ? params.autoplay : true;\n    (this || _global).name = params.name ? params.name : \"\";\n    (this || _global).autoloadSegments = Object.prototype.hasOwnProperty.call(params, \"autoloadSegments\") ? params.autoloadSegments : true;\n    (this || _global).assetsPath = params.assetsPath;\n    (this || _global).initialSegment = params.initialSegment;\n\n    if (params.audioFactory) {\n      (this || _global).audioController.setAudioFactory(params.audioFactory);\n    }\n\n    if (params.animationData) {\n      this.configAnimation(params.animationData);\n    } else if (params.path) {\n      if (params.path.lastIndexOf(\"\\\\\") !== -1) {\n        (this || _global).path = params.path.substr(0, params.path.lastIndexOf(\"\\\\\") + 1);\n      } else {\n        (this || _global).path = params.path.substr(0, params.path.lastIndexOf(\"/\") + 1);\n      }\n\n      (this || _global).fileName = params.path.substr(params.path.lastIndexOf(\"/\") + 1);\n      (this || _global).fileName = (this || _global).fileName.substr(0, (this || _global).fileName.lastIndexOf(\".json\"));\n      assetLoader.load(params.path, (this || _global).configAnimation.bind(this || _global), function () {\n        this.trigger(\"data_failed\");\n      }.bind(this || _global));\n    }\n  };\n\n  AnimationItem.prototype.setData = function (wrapper, animationData) {\n    if (animationData) {\n      if (typeof animationData !== \"object\") {\n        animationData = JSON.parse(animationData);\n      }\n    }\n\n    var params = {\n      wrapper: wrapper,\n      animationData: animationData\n    };\n    var wrapperAttributes = wrapper.attributes;\n    params.path = wrapperAttributes.getNamedItem(\"data-animation-path\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-animation-path\").value : wrapperAttributes.getNamedItem(\"data-bm-path\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-path\").value : wrapperAttributes.getNamedItem(\"bm-path\") ? wrapperAttributes.getNamedItem(\"bm-path\").value : \"\";\n    params.animType = wrapperAttributes.getNamedItem(\"data-anim-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-type\").value : wrapperAttributes.getNamedItem(\"data-bm-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-type\").value : wrapperAttributes.getNamedItem(\"bm-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"bm-type\").value : wrapperAttributes.getNamedItem(\"data-bm-renderer\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-renderer\").value : wrapperAttributes.getNamedItem(\"bm-renderer\") ? wrapperAttributes.getNamedItem(\"bm-renderer\").value : \"canvas\";\n    var loop = wrapperAttributes.getNamedItem(\"data-anim-loop\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-loop\").value : wrapperAttributes.getNamedItem(\"data-bm-loop\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-loop\").value : wrapperAttributes.getNamedItem(\"bm-loop\") ? wrapperAttributes.getNamedItem(\"bm-loop\").value : \"\";\n\n    if (loop === \"false\") {\n      params.loop = false;\n    } else if (loop === \"true\") {\n      params.loop = true;\n    } else if (loop !== \"\") {\n      params.loop = parseInt(loop, 10);\n    }\n\n    var autoplay = wrapperAttributes.getNamedItem(\"data-anim-autoplay\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-autoplay\").value : wrapperAttributes.getNamedItem(\"data-bm-autoplay\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-autoplay\").value : wrapperAttributes.getNamedItem(\"bm-autoplay\") ? wrapperAttributes.getNamedItem(\"bm-autoplay\").value : true;\n    params.autoplay = autoplay !== \"false\";\n    params.name = wrapperAttributes.getNamedItem(\"data-name\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-name\").value : wrapperAttributes.getNamedItem(\"data-bm-name\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-name\").value : wrapperAttributes.getNamedItem(\"bm-name\") ? wrapperAttributes.getNamedItem(\"bm-name\").value : \"\";\n    var prerender = wrapperAttributes.getNamedItem(\"data-anim-prerender\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-prerender\").value : wrapperAttributes.getNamedItem(\"data-bm-prerender\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-prerender\").value : wrapperAttributes.getNamedItem(\"bm-prerender\") ? wrapperAttributes.getNamedItem(\"bm-prerender\").value : \"\";\n\n    if (prerender === \"false\") {\n      params.prerender = false;\n    }\n\n    this.setParams(params);\n  };\n\n  AnimationItem.prototype.includeLayers = function (data) {\n    if (data.op > (this || _global).animationData.op) {\n      (this || _global).animationData.op = data.op;\n      (this || _global).totalFrames = Math.floor(data.op - (this || _global).animationData.ip);\n    }\n\n    var layers = (this || _global).animationData.layers;\n    var i;\n    var len = layers.length;\n    var newLayers = data.layers;\n    var j;\n    var jLen = newLayers.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      i = 0;\n\n      while (i < len) {\n        if (layers[i].id === newLayers[j].id) {\n          layers[i] = newLayers[j];\n          break;\n        }\n\n        i += 1;\n      }\n    }\n\n    if (data.chars || data.fonts) {\n      (this || _global).renderer.globalData.fontManager.addChars(data.chars);\n\n      (this || _global).renderer.globalData.fontManager.addFonts(data.fonts, (this || _global).renderer.globalData.defs);\n    }\n\n    if (data.assets) {\n      len = data.assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).animationData.assets.push(data.assets[i]);\n      }\n    }\n\n    (this || _global).animationData.__complete = false;\n    dataManager.completeData((this || _global).animationData, (this || _global).renderer.globalData.fontManager);\n\n    (this || _global).renderer.includeLayers(data.layers);\n\n    if (expressionsPlugin) {\n      expressionsPlugin.initExpressions(this || _global);\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.loadNextSegment = function () {\n    var segments = (this || _global).animationData.segments;\n\n    if (!segments || segments.length === 0 || !(this || _global).autoloadSegments) {\n      this.trigger(\"data_ready\");\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      return;\n    }\n\n    var segment = segments.shift();\n    (this || _global).timeCompleted = segment.time * (this || _global).frameRate;\n    var segmentPath = (this || _global).path + (this || _global).fileName + \"_\" + (this || _global).segmentPos + \".json\";\n    (this || _global).segmentPos += 1;\n    assetLoader.load(segmentPath, (this || _global).includeLayers.bind(this || _global), function () {\n      this.trigger(\"data_failed\");\n    }.bind(this || _global));\n  };\n\n  AnimationItem.prototype.loadSegments = function () {\n    var segments = (this || _global).animationData.segments;\n\n    if (!segments) {\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.imagesLoaded = function () {\n    this.trigger(\"loaded_images\");\n    this.checkLoaded();\n  };\n\n  AnimationItem.prototype.preloadImages = function () {\n    (this || _global).imagePreloader.setAssetsPath((this || _global).assetsPath);\n\n    (this || _global).imagePreloader.setPath((this || _global).path);\n\n    (this || _global).imagePreloader.loadAssets((this || _global).animationData.assets, (this || _global).imagesLoaded.bind(this || _global));\n  };\n\n  AnimationItem.prototype.configAnimation = function (animData) {\n    if (!(this || _global).renderer) {\n      return;\n    }\n\n    try {\n      (this || _global).animationData = animData;\n\n      if ((this || _global).initialSegment) {\n        (this || _global).totalFrames = Math.floor((this || _global).initialSegment[1] - (this || _global).initialSegment[0]);\n        (this || _global).firstFrame = Math.round((this || _global).initialSegment[0]);\n      } else {\n        (this || _global).totalFrames = Math.floor((this || _global).animationData.op - (this || _global).animationData.ip);\n        (this || _global).firstFrame = Math.round((this || _global).animationData.ip);\n      }\n\n      (this || _global).renderer.configAnimation(animData);\n\n      if (!animData.assets) {\n        animData.assets = [];\n      }\n\n      (this || _global).assets = (this || _global).animationData.assets;\n      (this || _global).frameRate = (this || _global).animationData.fr;\n      (this || _global).frameMult = (this || _global).animationData.fr / 1000;\n\n      (this || _global).renderer.searchExtraCompositions(animData.assets);\n\n      (this || _global).markers = markerParser(animData.markers || []);\n      this.trigger(\"config_ready\");\n      this.preloadImages();\n      this.loadSegments();\n      this.updaFrameModifier();\n      this.waitForFontsLoaded();\n\n      if ((this || _global).isPaused) {\n        (this || _global).audioController.pause();\n      }\n    } catch (error) {\n      this.triggerConfigError(error);\n    }\n  };\n\n  AnimationItem.prototype.waitForFontsLoaded = function () {\n    if (!(this || _global).renderer) {\n      return;\n    }\n\n    if ((this || _global).renderer.globalData.fontManager.isLoaded) {\n      this.checkLoaded();\n    } else {\n      setTimeout((this || _global).waitForFontsLoaded.bind(this || _global), 20);\n    }\n  };\n\n  AnimationItem.prototype.checkLoaded = function () {\n    if (!(this || _global).isLoaded && (this || _global).renderer.globalData.fontManager.isLoaded && ((this || _global).imagePreloader.loadedImages() || (this || _global).renderer.rendererType !== \"canvas\") && (this || _global).imagePreloader.loadedFootages()) {\n      (this || _global).isLoaded = true;\n      dataManager.completeData((this || _global).animationData, (this || _global).renderer.globalData.fontManager);\n\n      if (expressionsPlugin) {\n        expressionsPlugin.initExpressions(this || _global);\n      }\n\n      (this || _global).renderer.initItems();\n\n      setTimeout(function () {\n        this.trigger(\"DOMLoaded\");\n      }.bind(this || _global), 0);\n      this.gotoFrame();\n\n      if ((this || _global).autoplay) {\n        this.play();\n      }\n    }\n  };\n\n  AnimationItem.prototype.resize = function () {\n    (this || _global).renderer.updateContainerSize();\n  };\n\n  AnimationItem.prototype.setSubframe = function (flag) {\n    (this || _global).isSubframeEnabled = !!flag;\n  };\n\n  AnimationItem.prototype.gotoFrame = function () {\n    (this || _global).currentFrame = (this || _global).isSubframeEnabled ? (this || _global).currentRawFrame : ~~(this || _global).currentRawFrame; // eslint-disable-line no-bitwise\n\n    if ((this || _global).timeCompleted !== (this || _global).totalFrames && (this || _global).currentFrame > (this || _global).timeCompleted) {\n      (this || _global).currentFrame = (this || _global).timeCompleted;\n    }\n\n    this.trigger(\"enterFrame\");\n    this.renderFrame();\n  };\n\n  AnimationItem.prototype.renderFrame = function () {\n    if ((this || _global).isLoaded === false || !(this || _global).renderer) {\n      return;\n    }\n\n    try {\n      (this || _global).renderer.renderFrame((this || _global).currentFrame + (this || _global).firstFrame);\n    } catch (error) {\n      this.triggerRenderFrameError(error);\n    }\n  };\n\n  AnimationItem.prototype.play = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === true) {\n      (this || _global).isPaused = false;\n\n      (this || _global).audioController.resume();\n\n      if ((this || _global)._idle) {\n        (this || _global)._idle = false;\n        this.trigger(\"_active\");\n      }\n    }\n  };\n\n  AnimationItem.prototype.pause = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === false) {\n      (this || _global).isPaused = true;\n      (this || _global)._idle = true;\n      this.trigger(\"_idle\");\n\n      (this || _global).audioController.pause();\n    }\n  };\n\n  AnimationItem.prototype.togglePause = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === true) {\n      this.play();\n    } else {\n      this.pause();\n    }\n  };\n\n  AnimationItem.prototype.stop = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    this.pause();\n    (this || _global).playCount = 0;\n    (this || _global)._completedLoop = false;\n    this.setCurrentRawFrameValue(0);\n  };\n\n  AnimationItem.prototype.getMarkerData = function (markerName) {\n    var marker;\n\n    for (var i = 0; i < (this || _global).markers.length; i += 1) {\n      marker = (this || _global).markers[i];\n\n      if (marker.payload && marker.payload.name === markerName) {\n        return marker;\n      }\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        this.goToAndStop(marker.time, true);\n      }\n    } else if (isFrame) {\n      this.setCurrentRawFrameValue(value);\n    } else {\n      this.setCurrentRawFrameValue(value * (this || _global).frameModifier);\n    }\n\n    this.pause();\n  };\n\n  AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        if (!marker.duration) {\n          this.goToAndStop(marker.time, true);\n        } else {\n          this.playSegments([marker.time, marker.time + marker.duration], true);\n        }\n      }\n    } else {\n      this.goToAndStop(numValue, isFrame, name);\n    }\n\n    this.play();\n  };\n\n  AnimationItem.prototype.advanceTime = function (value) {\n    if ((this || _global).isPaused === true || (this || _global).isLoaded === false) {\n      return;\n    }\n\n    var nextValue = (this || _global).currentRawFrame + value * (this || _global).frameModifier;\n    var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n    // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n    if (nextValue >= (this || _global).totalFrames - 1 && (this || _global).frameModifier > 0) {\n      if (!(this || _global).loop || (this || _global).playCount === (this || _global).loop) {\n        if (!this.checkSegments(nextValue > (this || _global).totalFrames ? nextValue % (this || _global).totalFrames : 0)) {\n          _isComplete = true;\n          nextValue = (this || _global).totalFrames - 1;\n        }\n      } else if (nextValue >= (this || _global).totalFrames) {\n        (this || _global).playCount += 1;\n\n        if (!this.checkSegments(nextValue % (this || _global).totalFrames)) {\n          this.setCurrentRawFrameValue(nextValue % (this || _global).totalFrames);\n          (this || _global)._completedLoop = true;\n          this.trigger(\"loopComplete\");\n        }\n      } else {\n        this.setCurrentRawFrameValue(nextValue);\n      }\n    } else if (nextValue < 0) {\n      if (!this.checkSegments(nextValue % (this || _global).totalFrames)) {\n        if ((this || _global).loop && !((this || _global).playCount-- <= 0 && (this || _global).loop !== true)) {\n          // eslint-disable-line no-plusplus\n          this.setCurrentRawFrameValue((this || _global).totalFrames + nextValue % (this || _global).totalFrames);\n\n          if (!(this || _global)._completedLoop) {\n            (this || _global)._completedLoop = true;\n          } else {\n            this.trigger(\"loopComplete\");\n          }\n        } else {\n          _isComplete = true;\n          nextValue = 0;\n        }\n      }\n    } else {\n      this.setCurrentRawFrameValue(nextValue);\n    }\n\n    if (_isComplete) {\n      this.setCurrentRawFrameValue(nextValue);\n      this.pause();\n      this.trigger(\"complete\");\n    }\n  };\n\n  AnimationItem.prototype.adjustSegment = function (arr, offset) {\n    (this || _global).playCount = 0;\n\n    if (arr[1] < arr[0]) {\n      if ((this || _global).frameModifier > 0) {\n        if ((this || _global).playSpeed < 0) {\n          this.setSpeed(-(this || _global).playSpeed);\n        } else {\n          this.setDirection(-1);\n        }\n      }\n\n      (this || _global).totalFrames = arr[0] - arr[1];\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      (this || _global).firstFrame = arr[1];\n      this.setCurrentRawFrameValue((this || _global).totalFrames - 0.001 - offset);\n    } else if (arr[1] > arr[0]) {\n      if ((this || _global).frameModifier < 0) {\n        if ((this || _global).playSpeed < 0) {\n          this.setSpeed(-(this || _global).playSpeed);\n        } else {\n          this.setDirection(1);\n        }\n      }\n\n      (this || _global).totalFrames = arr[1] - arr[0];\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      (this || _global).firstFrame = arr[0];\n      this.setCurrentRawFrameValue(0.001 + offset);\n    }\n\n    this.trigger(\"segmentStart\");\n  };\n\n  AnimationItem.prototype.setSegment = function (init, end) {\n    var pendingFrame = -1;\n\n    if ((this || _global).isPaused) {\n      if ((this || _global).currentRawFrame + (this || _global).firstFrame < init) {\n        pendingFrame = init;\n      } else if ((this || _global).currentRawFrame + (this || _global).firstFrame > end) {\n        pendingFrame = end - init;\n      }\n    }\n\n    (this || _global).firstFrame = init;\n    (this || _global).totalFrames = end - init;\n    (this || _global).timeCompleted = (this || _global).totalFrames;\n\n    if (pendingFrame !== -1) {\n      this.goToAndStop(pendingFrame, true);\n    }\n  };\n\n  AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n    if (forceFlag) {\n      (this || _global).segments.length = 0;\n    }\n\n    if (typeof arr[0] === \"object\") {\n      var i;\n      var len = arr.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).segments.push(arr[i]);\n      }\n    } else {\n      (this || _global).segments.push(arr);\n    }\n\n    if ((this || _global).segments.length && forceFlag) {\n      this.adjustSegment((this || _global).segments.shift(), 0);\n    }\n\n    if ((this || _global).isPaused) {\n      this.play();\n    }\n  };\n\n  AnimationItem.prototype.resetSegments = function (forceFlag) {\n    (this || _global).segments.length = 0;\n\n    (this || _global).segments.push([(this || _global).animationData.ip, (this || _global).animationData.op]); // this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op - this.animationData.ip+this.animationData.ip*this.frameRate)]);\n\n\n    if (forceFlag) {\n      this.checkSegments(0);\n    }\n  };\n\n  AnimationItem.prototype.checkSegments = function (offset) {\n    if ((this || _global).segments.length) {\n      this.adjustSegment((this || _global).segments.shift(), offset);\n      return true;\n    }\n\n    return false;\n  };\n\n  AnimationItem.prototype.destroy = function (name) {\n    if (name && (this || _global).name !== name || !(this || _global).renderer) {\n      return;\n    }\n\n    (this || _global).renderer.destroy();\n\n    (this || _global).imagePreloader.destroy();\n\n    this.trigger(\"destroy\");\n    (this || _global)._cbs = null;\n    (this || _global).onEnterFrame = null;\n    (this || _global).onLoopComplete = null;\n    (this || _global).onComplete = null;\n    (this || _global).onSegmentStart = null;\n    (this || _global).onDestroy = null;\n    (this || _global).renderer = null;\n    (this || _global).renderer = null;\n    (this || _global).imagePreloader = null;\n    (this || _global).projectInterface = null;\n  };\n\n  AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n    (this || _global).currentRawFrame = value;\n    this.gotoFrame();\n  };\n\n  AnimationItem.prototype.setSpeed = function (val) {\n    (this || _global).playSpeed = val;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setDirection = function (val) {\n    (this || _global).playDirection = val < 0 ? -1 : 1;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setVolume = function (val, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.setVolume(val);\n  };\n\n  AnimationItem.prototype.getVolume = function () {\n    return (this || _global).audioController.getVolume();\n  };\n\n  AnimationItem.prototype.mute = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.mute();\n  };\n\n  AnimationItem.prototype.unmute = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.unmute();\n  };\n\n  AnimationItem.prototype.updaFrameModifier = function () {\n    (this || _global).frameModifier = (this || _global).frameMult * (this || _global).playSpeed * (this || _global).playDirection;\n\n    (this || _global).audioController.setRate((this || _global).playSpeed * (this || _global).playDirection);\n  };\n\n  AnimationItem.prototype.getPath = function () {\n    return (this || _global).path;\n  };\n\n  AnimationItem.prototype.getAssetsPath = function (assetData) {\n    var path = \"\";\n\n    if (assetData.e) {\n      path = assetData.p;\n    } else if ((this || _global).assetsPath) {\n      var imagePath = assetData.p;\n\n      if (imagePath.indexOf(\"images/\") !== -1) {\n        imagePath = imagePath.split(\"/\")[1];\n      }\n\n      path = (this || _global).assetsPath + imagePath;\n    } else {\n      path = (this || _global).path;\n      path += assetData.u ? assetData.u : \"\";\n      path += assetData.p;\n    }\n\n    return path;\n  };\n\n  AnimationItem.prototype.getAssetData = function (id) {\n    var i = 0;\n    var len = (this || _global).assets.length;\n\n    while (i < len) {\n      if (id === (this || _global).assets[i].id) {\n        return (this || _global).assets[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.hide = function () {\n    (this || _global).renderer.hide();\n  };\n\n  AnimationItem.prototype.show = function () {\n    (this || _global).renderer.show();\n  };\n\n  AnimationItem.prototype.getDuration = function (isFrame) {\n    return isFrame ? (this || _global).totalFrames : (this || _global).totalFrames / (this || _global).frameRate;\n  };\n\n  AnimationItem.prototype.trigger = function (name) {\n    if ((this || _global)._cbs && (this || _global)._cbs[name]) {\n      switch (name) {\n        case \"enterFrame\":\n          this.triggerEvent(name, new BMEnterFrameEvent(name, (this || _global).currentFrame, (this || _global).totalFrames, (this || _global).frameModifier));\n          break;\n\n        case \"loopComplete\":\n          this.triggerEvent(name, new BMCompleteLoopEvent(name, (this || _global).loop, (this || _global).playCount, (this || _global).frameMult));\n          break;\n\n        case \"complete\":\n          this.triggerEvent(name, new BMCompleteEvent(name, (this || _global).frameMult));\n          break;\n\n        case \"segmentStart\":\n          this.triggerEvent(name, new BMSegmentStartEvent(name, (this || _global).firstFrame, (this || _global).totalFrames));\n          break;\n\n        case \"destroy\":\n          this.triggerEvent(name, new BMDestroyEvent(name, this || _global));\n          break;\n\n        default:\n          this.triggerEvent(name);\n      }\n    }\n\n    if (name === \"enterFrame\" && (this || _global).onEnterFrame) {\n      (this || _global).onEnterFrame.call(this || _global, new BMEnterFrameEvent(name, (this || _global).currentFrame, (this || _global).totalFrames, (this || _global).frameMult));\n    }\n\n    if (name === \"loopComplete\" && (this || _global).onLoopComplete) {\n      (this || _global).onLoopComplete.call(this || _global, new BMCompleteLoopEvent(name, (this || _global).loop, (this || _global).playCount, (this || _global).frameMult));\n    }\n\n    if (name === \"complete\" && (this || _global).onComplete) {\n      (this || _global).onComplete.call(this || _global, new BMCompleteEvent(name, (this || _global).frameMult));\n    }\n\n    if (name === \"segmentStart\" && (this || _global).onSegmentStart) {\n      (this || _global).onSegmentStart.call(this || _global, new BMSegmentStartEvent(name, (this || _global).firstFrame, (this || _global).totalFrames));\n    }\n\n    if (name === \"destroy\" && (this || _global).onDestroy) {\n      (this || _global).onDestroy.call(this || _global, new BMDestroyEvent(name, this || _global));\n    }\n  };\n\n  AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n    var error = new BMRenderFrameErrorEvent(nativeError, (this || _global).currentFrame);\n    this.triggerEvent(\"error\", error);\n\n    if ((this || _global).onError) {\n      (this || _global).onError.call(this || _global, error);\n    }\n  };\n\n  AnimationItem.prototype.triggerConfigError = function (nativeError) {\n    var error = new BMConfigErrorEvent(nativeError, (this || _global).currentFrame);\n    this.triggerEvent(\"error\", error);\n\n    if ((this || _global).onError) {\n      (this || _global).onError.call(this || _global, error);\n    }\n  };\n  /* global CompExpressionInterface, expressionsPlugin: writable */\n\n  /* exported expressionsPlugin */\n\n\n  var Expressions = function () {\n    var ob = {};\n    ob.initExpressions = initExpressions;\n\n    function initExpressions(animation) {\n      var stackCount = 0;\n      var registers = [];\n\n      function pushExpression() {\n        stackCount += 1;\n      }\n\n      function popExpression() {\n        stackCount -= 1;\n\n        if (stackCount === 0) {\n          releaseInstances();\n        }\n      }\n\n      function registerExpressionProperty(expression) {\n        if (registers.indexOf(expression) === -1) {\n          registers.push(expression);\n        }\n      }\n\n      function releaseInstances() {\n        var i;\n        var len = registers.length;\n\n        for (i = 0; i < len; i += 1) {\n          registers[i].release();\n        }\n\n        registers.length = 0;\n      }\n\n      animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n      animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n      animation.renderer.globalData.pushExpression = pushExpression;\n      animation.renderer.globalData.popExpression = popExpression;\n      animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n    }\n\n    return ob;\n  }();\n\n  expressionsPlugin = Expressions;\n  /* eslint-disable camelcase, no-unused-vars */\n\n  /* global BMMath, BezierFactory, createTypedArray, degToRads, shapePool */\n\n  var ExpressionManager = function () {\n    'use strict';\n\n    var ob = {};\n    var Math = BMMath;\n    var window = null;\n    var document = null;\n\n    function $bm_isInstanceOfArray(arr) {\n      return arr.constructor === Array || arr.constructor === Float32Array;\n    }\n\n    function isNumerable(tOfV, v) {\n      return tOfV === \"number\" || tOfV === \"boolean\" || tOfV === \"string\" || v instanceof Number;\n    }\n\n    function $bm_neg(a) {\n      var tOfA = typeof a;\n\n      if (tOfA === \"number\" || tOfA === \"boolean\" || a instanceof Number) {\n        return -a;\n      }\n\n      if ($bm_isInstanceOfArray(a)) {\n        var i;\n        var lenA = a.length;\n        var retArr = [];\n\n        for (i = 0; i < lenA; i += 1) {\n          retArr[i] = -a[i];\n        }\n\n        return retArr;\n      }\n\n      if (a.propType) {\n        return a.v;\n      }\n\n      return -a;\n    }\n\n    var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, \"easeIn\").get;\n    var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, \"easeOut\").get;\n    var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, \"easeInOut\").get;\n\n    function sum(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n\n      if (tOfA === \"string\" || tOfB === \"string\") {\n        return a + b;\n      }\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a + b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] += b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a + b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === \"number\" || a[i] instanceof Number) && (typeof b[i] === \"number\" || b[i] instanceof Number)) {\n            retArr[i] = a[i] + b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    var add = sum;\n\n    function sub(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        if (tOfA === \"string\") {\n          a = parseInt(a, 10);\n        }\n\n        if (tOfB === \"string\") {\n          b = parseInt(b, 10);\n        }\n\n        return a - b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] -= b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a - b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === \"number\" || a[i] instanceof Number) && (typeof b[i] === \"number\" || b[i] instanceof Number)) {\n            retArr[i] = a[i] - b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    function mul(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a * b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] * b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a * b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function div(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a / b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] / b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a / b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function mod(a, b) {\n      if (typeof a === \"string\") {\n        a = parseInt(a, 10);\n      }\n\n      if (typeof b === \"string\") {\n        b = parseInt(b, 10);\n      }\n\n      return a % b;\n    }\n\n    var $bm_sum = sum;\n    var $bm_sub = sub;\n    var $bm_mul = mul;\n    var $bm_div = div;\n    var $bm_mod = mod;\n\n    function clamp(num, min, max) {\n      if (min > max) {\n        var mm = max;\n        max = min;\n        min = mm;\n      }\n\n      return Math.min(Math.max(num, min), max);\n    }\n\n    function radiansToDegrees(val) {\n      return val / degToRads;\n    }\n\n    var radians_to_degrees = radiansToDegrees;\n\n    function degreesToRadians(val) {\n      return val * degToRads;\n    }\n\n    var degrees_to_radians = radiansToDegrees;\n    var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n    function length(arr1, arr2) {\n      if (typeof arr1 === \"number\" || arr1 instanceof Number) {\n        arr2 = arr2 || 0;\n        return Math.abs(arr1 - arr2);\n      }\n\n      if (!arr2) {\n        arr2 = helperLengthArray;\n      }\n\n      var i;\n      var len = Math.min(arr1.length, arr2.length);\n      var addedLength = 0;\n\n      for (i = 0; i < len; i += 1) {\n        addedLength += Math.pow(arr2[i] - arr1[i], 2);\n      }\n\n      return Math.sqrt(addedLength);\n    }\n\n    function normalize(vec) {\n      return div(vec, length(vec));\n    }\n\n    function rgbToHsl(val) {\n      var r = val[0];\n      var g = val[1];\n      var b = val[2];\n      var max = Math.max(r, g, b);\n      var min = Math.min(r, g, b);\n      var h;\n      var s;\n      var l = (max + min) / 2;\n\n      if (max === min) {\n        h = 0; // achromatic\n\n        s = 0; // achromatic\n      } else {\n        var d = max - min;\n        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n        switch (max) {\n          case r:\n            h = (g - b) / d + (g < b ? 6 : 0);\n            break;\n\n          case g:\n            h = (b - r) / d + 2;\n            break;\n\n          case b:\n            h = (r - g) / d + 4;\n            break;\n\n          default:\n            break;\n        }\n\n        h /= 6;\n      }\n\n      return [h, s, l, val[3]];\n    }\n\n    function hue2rgb(p, q, t) {\n      if (t < 0) t += 1;\n      if (t > 1) t -= 1;\n      if (t < 1 / 6) return p + (q - p) * 6 * t;\n      if (t < 1 / 2) return q;\n      if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n      return p;\n    }\n\n    function hslToRgb(val) {\n      var h = val[0];\n      var s = val[1];\n      var l = val[2];\n      var r;\n      var g;\n      var b;\n\n      if (s === 0) {\n        r = l; // achromatic\n\n        b = l; // achromatic\n\n        g = l; // achromatic\n      } else {\n        var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n        var p = 2 * l - q;\n        r = hue2rgb(p, q, h + 1 / 3);\n        g = hue2rgb(p, q, h);\n        b = hue2rgb(p, q, h - 1 / 3);\n      }\n\n      return [r, g, b, val[3]];\n    }\n\n    function linear(t, tMin, tMax, value1, value2) {\n      if (value1 === undefined || value2 === undefined) {\n        value1 = tMin;\n        value2 = tMax;\n        tMin = 0;\n        tMax = 1;\n      }\n\n      if (tMax < tMin) {\n        var _tMin = tMax;\n        tMax = tMin;\n        tMin = _tMin;\n      }\n\n      if (t <= tMin) {\n        return value1;\n      }\n\n      if (t >= tMax) {\n        return value2;\n      }\n\n      var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n      if (!value1.length) {\n        return value1 + (value2 - value1) * perc;\n      }\n\n      var i;\n      var len = value1.length;\n      var arr = createTypedArray(\"float32\", len);\n\n      for (i = 0; i < len; i += 1) {\n        arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n      }\n\n      return arr;\n    }\n\n    function random(min, max) {\n      if (max === undefined) {\n        if (min === undefined) {\n          min = 0;\n          max = 1;\n        } else {\n          max = min;\n          min = undefined;\n        }\n      }\n\n      if (max.length) {\n        var i;\n        var len = max.length;\n\n        if (!min) {\n          min = createTypedArray(\"float32\", len);\n        }\n\n        var arr = createTypedArray(\"float32\", len);\n        var rnd = BMMath.random();\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = min[i] + rnd * (max[i] - min[i]);\n        }\n\n        return arr;\n      }\n\n      if (min === undefined) {\n        min = 0;\n      }\n\n      var rndm = BMMath.random();\n      return min + rndm * (max - min);\n    }\n\n    function createPath(points, inTangents, outTangents, closed) {\n      var i;\n      var len = points.length;\n      var path = shapePool.newElement();\n      path.setPathData(!!closed, len);\n      var arrPlaceholder = [0, 0];\n      var inVertexPoint;\n      var outVertexPoint;\n\n      for (i = 0; i < len; i += 1) {\n        inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n        outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n        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);\n      }\n\n      return path;\n    }\n\n    function initiateExpression(elem, data, property) {\n      var val = data.x;\n      var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n      var _needsRandom = val.indexOf(\"random\") !== -1;\n\n      var elemType = elem.data.ty;\n      var transform;\n      var $bm_transform;\n      var content;\n      var effect;\n      var thisProperty = property;\n      thisProperty.valueAtTime = thisProperty.getValueAtTime;\n      Object.defineProperty(thisProperty, \"value\", {\n        get: function () {\n          return thisProperty.v;\n        }\n      });\n      elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n      elem.comp.displayStartTime = 0;\n      var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      var width = elem.data.sw ? elem.data.sw : 0;\n      var height = elem.data.sh ? elem.data.sh : 0;\n      var name = elem.data.nm;\n      var loopIn;\n      var loop_in;\n      var loopOut;\n      var loop_out;\n      var smooth;\n      var toWorld;\n      var fromWorld;\n      var fromComp;\n      var toComp;\n      var fromCompToSurface;\n      var position;\n      var rotation;\n      var anchorPoint;\n      var scale;\n      var thisLayer;\n      var thisComp;\n      var mask;\n      var valueAtTime;\n      var velocityAtTime;\n      var scoped_bm_rt;\n      var expression_function = eval(\"[function _expression_function(){\" + val + \";scoped_bm_rt=$bm_rt}]\")[0]; // eslint-disable-line no-eval\n\n      var numKeys = property.kf ? data.k.length : 0;\n      var active = !(this || _global).data || (this || _global).data.hd !== true;\n\n      var wiggle = function wiggle(freq, amp) {\n        var iWiggle;\n        var j;\n        var lenWiggle = (this || _global).pv.length ? (this || _global).pv.length : 1;\n        var addedAmps = createTypedArray(\"float32\", lenWiggle);\n        freq = 5;\n        var iterations = Math.floor(time * freq);\n        iWiggle = 0;\n        j = 0;\n\n        while (iWiggle < iterations) {\n          // var rnd = BMMath.random();\n          for (j = 0; j < lenWiggle; j += 1) {\n            addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n          }\n\n          iWiggle += 1;\n        } // var rnd2 = BMMath.random();\n\n\n        var periods = time * freq;\n        var perc = periods - Math.floor(periods);\n        var arr = createTypedArray(\"float32\", lenWiggle);\n\n        if (lenWiggle > 1) {\n          for (j = 0; j < lenWiggle; j += 1) {\n            arr[j] = (this || _global).pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n            // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n          }\n\n          return arr;\n        }\n\n        return (this || _global).pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n      }.bind(this || _global);\n\n      if (thisProperty.loopIn) {\n        loopIn = thisProperty.loopIn.bind(thisProperty);\n        loop_in = loopIn;\n      }\n\n      if (thisProperty.loopOut) {\n        loopOut = thisProperty.loopOut.bind(thisProperty);\n        loop_out = loopOut;\n      }\n\n      if (thisProperty.smooth) {\n        smooth = thisProperty.smooth.bind(thisProperty);\n      }\n\n      function loopInDuration(type, duration) {\n        return loopIn(type, duration, true);\n      }\n\n      function loopOutDuration(type, duration) {\n        return loopOut(type, duration, true);\n      }\n\n      if ((this || _global).getValueAtTime) {\n        valueAtTime = (this || _global).getValueAtTime.bind(this || _global);\n      }\n\n      if ((this || _global).getVelocityAtTime) {\n        velocityAtTime = (this || _global).getVelocityAtTime.bind(this || _global);\n      }\n\n      var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n      function lookAt(elem1, elem2) {\n        var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n        var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n        var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n        return [yaw, pitch, 0];\n      }\n\n      function easeOut(t, tMin, tMax, val1, val2) {\n        return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function easeIn(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n      }\n\n      function ease(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function applyEase(fn, t, tMin, tMax, val1, val2) {\n        if (val1 === undefined) {\n          val1 = tMin;\n          val2 = tMax;\n        } else {\n          t = (t - tMin) / (tMax - tMin);\n        }\n\n        if (t > 1) {\n          t = 1;\n        } else if (t < 0) {\n          t = 0;\n        }\n\n        var mult = fn(t);\n\n        if ($bm_isInstanceOfArray(val1)) {\n          var iKey;\n          var lenKey = val1.length;\n          var arr = createTypedArray(\"float32\", lenKey);\n\n          for (iKey = 0; iKey < lenKey; iKey += 1) {\n            arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n          }\n\n          return arr;\n        }\n\n        return (val2 - val1) * mult + val1;\n      }\n\n      function nearestKey(time) {\n        var iKey;\n        var lenKey = data.k.length;\n        var index;\n        var keyTime;\n\n        if (!data.k.length || typeof data.k[0] === \"number\") {\n          index = 0;\n          keyTime = 0;\n        } else {\n          index = -1;\n          time *= elem.comp.globalData.frameRate;\n\n          if (time < data.k[0].t) {\n            index = 1;\n            keyTime = data.k[0].t;\n          } else {\n            for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n              if (time === data.k[iKey].t) {\n                index = iKey + 1;\n                keyTime = data.k[iKey].t;\n                break;\n              } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n                if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n                  index = iKey + 2;\n                  keyTime = data.k[iKey + 1].t;\n                } else {\n                  index = iKey + 1;\n                  keyTime = data.k[iKey].t;\n                }\n\n                break;\n              }\n            }\n\n            if (index === -1) {\n              index = iKey + 1;\n              keyTime = data.k[iKey].t;\n            }\n          }\n        }\n\n        var obKey = {};\n        obKey.index = index;\n        obKey.time = keyTime / elem.comp.globalData.frameRate;\n        return obKey;\n      }\n\n      function key(ind) {\n        var obKey;\n        var iKey;\n        var lenKey;\n\n        if (!data.k.length || typeof data.k[0] === \"number\") {\n          throw new Error(\"The property has no keyframe at index \" + ind);\n        }\n\n        ind -= 1;\n        obKey = {\n          time: data.k[ind].t / elem.comp.globalData.frameRate,\n          value: []\n        };\n        var arr = Object.prototype.hasOwnProperty.call(data.k[ind], \"s\") ? data.k[ind].s : data.k[ind - 1].e;\n        lenKey = arr.length;\n\n        for (iKey = 0; iKey < lenKey; iKey += 1) {\n          obKey[iKey] = arr[iKey];\n          obKey.value[iKey] = arr[iKey];\n        }\n\n        return obKey;\n      }\n\n      function framesToTime(frames, fps) {\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return frames / fps;\n      }\n\n      function timeToFrames(t, fps) {\n        if (!t && t !== 0) {\n          t = time;\n        }\n\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return t * fps;\n      }\n\n      function seedRandom(seed) {\n        BMMath.seedrandom(randSeed + seed);\n      }\n\n      function sourceRectAtTime() {\n        return elem.sourceRectAtTime();\n      }\n\n      function substring(init, end) {\n        if (typeof value === \"string\") {\n          if (end === undefined) {\n            return value.substring(init);\n          }\n\n          return value.substring(init, end);\n        }\n\n        return \"\";\n      }\n\n      function substr(init, end) {\n        if (typeof value === \"string\") {\n          if (end === undefined) {\n            return value.substr(init);\n          }\n\n          return value.substr(init, end);\n        }\n\n        return \"\";\n      }\n\n      function posterizeTime(framesPerSecond) {\n        time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n        value = valueAtTime(time);\n      }\n\n      var time;\n      var velocity;\n      var value;\n      var text;\n      var textIndex;\n      var textTotal;\n      var selectorValue;\n      var index = elem.data.ind;\n      var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n      var parent;\n      var randSeed = Math.floor(Math.random() * 1000000);\n      var globalData = elem.globalData;\n\n      function executeExpression(_value) {\n        // globalData.pushExpression();\n        value = _value;\n\n        if (_needsRandom) {\n          seedRandom(randSeed);\n        }\n\n        if ((this || _global).frameExpressionId === elem.globalData.frameId && (this || _global).propType !== \"textSelector\") {\n          return value;\n        }\n\n        if ((this || _global).propType === \"textSelector\") {\n          textIndex = (this || _global).textIndex;\n          textTotal = (this || _global).textTotal;\n          selectorValue = (this || _global).selectorValue;\n        }\n\n        if (!thisLayer) {\n          text = elem.layerInterface.text;\n          thisLayer = elem.layerInterface;\n          thisComp = elem.comp.compInterface;\n          toWorld = thisLayer.toWorld.bind(thisLayer);\n          fromWorld = thisLayer.fromWorld.bind(thisLayer);\n          fromComp = thisLayer.fromComp.bind(thisLayer);\n          toComp = thisLayer.toComp.bind(thisLayer);\n          mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n          fromCompToSurface = fromComp;\n        }\n\n        if (!transform) {\n          transform = elem.layerInterface(\"ADBE Transform Group\");\n          $bm_transform = transform;\n\n          if (transform) {\n            anchorPoint = transform.anchorPoint;\n            /* position = transform.position;\r\n                      rotation = transform.rotation;\r\n                      scale = transform.scale; */\n          }\n        }\n\n        if (elemType === 4 && !content) {\n          content = thisLayer(\"ADBE Root Vectors Group\");\n        }\n\n        if (!effect) {\n          effect = thisLayer(4);\n        }\n\n        hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n        if (hasParent && !parent) {\n          parent = elem.hierarchy[0].layerInterface;\n        }\n\n        time = (this || _global).comp.renderedFrame / (this || _global).comp.globalData.frameRate;\n\n        if (needsVelocity) {\n          velocity = velocityAtTime(time);\n        }\n\n        expression_function();\n        (this || _global).frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n\n        if (scoped_bm_rt.propType === \"shape\") {\n          scoped_bm_rt = scoped_bm_rt.v;\n        } // globalData.popExpression();\n\n\n        return scoped_bm_rt;\n      }\n\n      return executeExpression;\n    }\n\n    ob.initiateExpression = initiateExpression;\n    return ob;\n  }();\n  /* global ExpressionManager, createTypedArray */\n\n  /* exported expressionHelpers */\n\n\n  var expressionHelpers = function () {\n    function searchExpressions(elem, data, prop) {\n      if (data.x) {\n        prop.k = true;\n        prop.x = true;\n        prop.initiateExpression = ExpressionManager.initiateExpression;\n        prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n      }\n    }\n\n    function getValueAtTime(frameNum) {\n      frameNum *= (this || _global).elem.globalData.frameRate;\n      frameNum -= (this || _global).offsetTime;\n\n      if (frameNum !== (this || _global)._cachingAtTime.lastFrame) {\n        (this || _global)._cachingAtTime.lastIndex = (this || _global)._cachingAtTime.lastFrame < frameNum ? (this || _global)._cachingAtTime.lastIndex : 0;\n        (this || _global)._cachingAtTime.value = this.interpolateValue(frameNum, (this || _global)._cachingAtTime);\n        (this || _global)._cachingAtTime.lastFrame = frameNum;\n      }\n\n      return (this || _global)._cachingAtTime.value;\n    }\n\n    function getSpeedAtTime(frameNum) {\n      var delta = -0.01;\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var speed = 0;\n\n      if (v1.length) {\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          speed += Math.pow(v2[i] - v1[i], 2);\n        }\n\n        speed = Math.sqrt(speed) * 100;\n      } else {\n        speed = 0;\n      }\n\n      return speed;\n    }\n\n    function getVelocityAtTime(frameNum) {\n      if ((this || _global).vel !== undefined) {\n        return (this || _global).vel;\n      }\n\n      var delta = -0.001; // frameNum += this.elem.data.st;\n\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var velocity;\n\n      if (v1.length) {\n        velocity = createTypedArray(\"float32\", v1.length);\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          // removing frameRate\n          // if needed, don't add it here\n          // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n          velocity[i] = (v2[i] - v1[i]) / delta;\n        }\n      } else {\n        velocity = (v2 - v1) / delta;\n      }\n\n      return velocity;\n    }\n\n    function getStaticValueAtTime() {\n      return (this || _global).pv;\n    }\n\n    function setGroupProperty(propertyGroup) {\n      (this || _global).propertyGroup = propertyGroup;\n    }\n\n    return {\n      searchExpressions: searchExpressions,\n      getSpeedAtTime: getSpeedAtTime,\n      getVelocityAtTime: getVelocityAtTime,\n      getValueAtTime: getValueAtTime,\n      getStaticValueAtTime: getStaticValueAtTime,\n      setGroupProperty: setGroupProperty\n    };\n  }();\n  /* global createTypedArray, Matrix, TransformPropertyFactory, expressionHelpers, PropertyFactory, expressionHelpers,\r\n  initialDefaultFrame, shapePool, ShapePropertyFactory, bez, extendPrototype, ExpressionManager, createSizedArray */\n\n\n  (function addPropertyDecorator() {\n    function loopOut(type, duration, durationFlag) {\n      if (!(this || _global).k || !(this || _global).keyframes) {\n        return (this || _global).pv;\n      }\n\n      type = type ? type.toLowerCase() : \"\";\n      var currentFrame = (this || _global).comp.renderedFrame;\n      var keyframes = (this || _global).keyframes;\n      var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n      if (currentFrame <= lastKeyFrame) {\n        return (this || _global).pv;\n      }\n\n      var cycleDuration;\n      var firstKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, lastKeyFrame - (this || _global).elem.data.ip);\n        } else {\n          cycleDuration = Math.abs(lastKeyFrame - (this || _global).elem.comp.globalData.frameRate * duration);\n        }\n\n        firstKeyFrame = lastKeyFrame - cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === \"pingpong\") {\n        var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if (iterations % 2 !== 0) {\n          return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === \"offset\") {\n        var initV = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n\n        var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n          }\n\n          return ret;\n        }\n\n        return (endV - initV) * repeats + current;\n      } else if (type === \"continue\") {\n        var lastValue = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / (this || _global).comp.globalData.frameRate, 0);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(lastValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / (this || _global).comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n          }\n\n          return ret;\n        }\n\n        return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n      }\n\n      return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function loopIn(type, duration, durationFlag) {\n      if (!(this || _global).k) {\n        return (this || _global).pv;\n      }\n\n      type = type ? type.toLowerCase() : \"\";\n      var currentFrame = (this || _global).comp.renderedFrame;\n      var keyframes = (this || _global).keyframes;\n      var firstKeyFrame = keyframes[0].t;\n\n      if (currentFrame >= firstKeyFrame) {\n        return (this || _global).pv;\n      }\n\n      var cycleDuration;\n      var lastKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        lastKeyFrame = keyframes[duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, (this || _global).elem.data.op - firstKeyFrame);\n        } else {\n          cycleDuration = Math.abs((this || _global).elem.comp.globalData.frameRate * duration);\n        }\n\n        lastKeyFrame = firstKeyFrame + cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === \"pingpong\") {\n        var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n        if (iterations % 2 === 0) {\n          return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === \"offset\") {\n        var initV = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0);\n        var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n        if ((this || _global).pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n          }\n\n          return ret;\n        }\n\n        return current - (endV - initV) * repeats;\n      } else if (type === \"continue\") {\n        var firstValue = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / (this || _global).comp.globalData.frameRate, 0);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(firstValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n          }\n\n          return ret;\n        }\n\n        return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n      }\n\n      return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function smooth(width, samples) {\n      if (!(this || _global).k) {\n        return (this || _global).pv;\n      }\n\n      width = (width || 0.4) * 0.5;\n      samples = Math.floor(samples || 5);\n\n      if (samples <= 1) {\n        return (this || _global).pv;\n      }\n\n      var currentTime = (this || _global).comp.renderedFrame / (this || _global).comp.globalData.frameRate;\n      var initFrame = currentTime - width;\n      var endFrame = currentTime + width;\n      var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n      var i = 0;\n      var j = 0;\n      var value;\n\n      if ((this || _global).pv.length) {\n        value = createTypedArray(\"float32\", (this || _global).pv.length);\n      } else {\n        value = 0;\n      }\n\n      var sampleValue;\n\n      while (i < samples) {\n        sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n        if ((this || _global).pv.length) {\n          for (j = 0; j < (this || _global).pv.length; j += 1) {\n            value[j] += sampleValue[j];\n          }\n        } else {\n          value += sampleValue;\n        }\n\n        i += 1;\n      }\n\n      if ((this || _global).pv.length) {\n        for (j = 0; j < (this || _global).pv.length; j += 1) {\n          value[j] /= samples;\n        }\n      } else {\n        value /= samples;\n      }\n\n      return value;\n    }\n\n    function getTransformValueAtTime(time) {\n      if (!(this || _global)._transformCachingAtTime) {\n        (this || _global)._transformCachingAtTime = {\n          v: new Matrix()\n        };\n      } /// /\n\n\n      var matrix = (this || _global)._transformCachingAtTime.v;\n      matrix.cloneFromProps((this || _global).pre.props);\n\n      if ((this || _global).appliedTransformations < 1) {\n        var anchor = (this || _global).a.getValueAtTime(time);\n\n        matrix.translate(-anchor[0] * (this || _global).a.mult, -anchor[1] * (this || _global).a.mult, anchor[2] * (this || _global).a.mult);\n      }\n\n      if ((this || _global).appliedTransformations < 2) {\n        var scale = (this || _global).s.getValueAtTime(time);\n\n        matrix.scale(scale[0] * (this || _global).s.mult, scale[1] * (this || _global).s.mult, scale[2] * (this || _global).s.mult);\n      }\n\n      if ((this || _global).sk && (this || _global).appliedTransformations < 3) {\n        var skew = (this || _global).sk.getValueAtTime(time);\n\n        var skewAxis = (this || _global).sa.getValueAtTime(time);\n\n        matrix.skewFromAxis(-skew * (this || _global).sk.mult, skewAxis * (this || _global).sa.mult);\n      }\n\n      if ((this || _global).r && (this || _global).appliedTransformations < 4) {\n        var rotation = (this || _global).r.getValueAtTime(time);\n\n        matrix.rotate(-rotation * (this || _global).r.mult);\n      } else if (!(this || _global).r && (this || _global).appliedTransformations < 4) {\n        var rotationZ = (this || _global).rz.getValueAtTime(time);\n\n        var rotationY = (this || _global).ry.getValueAtTime(time);\n\n        var rotationX = (this || _global).rx.getValueAtTime(time);\n\n        var orientation = (this || _global).or.getValueAtTime(time);\n\n        matrix.rotateZ(-rotationZ * (this || _global).rz.mult).rotateY(rotationY * (this || _global).ry.mult).rotateX(rotationX * (this || _global).rx.mult).rotateZ(-orientation[2] * (this || _global).or.mult).rotateY(orientation[1] * (this || _global).or.mult).rotateX(orientation[0] * (this || _global).or.mult);\n      }\n\n      if ((this || _global).data.p && (this || _global).data.p.s) {\n        var positionX = (this || _global).px.getValueAtTime(time);\n\n        var positionY = (this || _global).py.getValueAtTime(time);\n\n        if ((this || _global).data.p.z) {\n          var positionZ = (this || _global).pz.getValueAtTime(time);\n\n          matrix.translate(positionX * (this || _global).px.mult, positionY * (this || _global).py.mult, -positionZ * (this || _global).pz.mult);\n        } else {\n          matrix.translate(positionX * (this || _global).px.mult, positionY * (this || _global).py.mult, 0);\n        }\n      } else {\n        var position = (this || _global).p.getValueAtTime(time);\n\n        matrix.translate(position[0] * (this || _global).p.mult, position[1] * (this || _global).p.mult, -position[2] * (this || _global).p.mult);\n      }\n\n      return matrix; /// /\n    }\n\n    function getTransformStaticValueAtTime() {\n      return (this || _global).v.clone(new Matrix());\n    }\n\n    var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n    TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n      var prop = getTransformProperty(elem, data, container);\n\n      if (prop.dynamicProperties.length) {\n        prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      return prop;\n    };\n\n    var propertyGetProp = PropertyFactory.getProp;\n\n    PropertyFactory.getProp = function (elem, data, type, mult, container) {\n      var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n      // prop.loopOut = loopOut;\n      // prop.loopIn = loopIn;\n\n      if (prop.kf) {\n        prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      prop.loopOut = loopOut;\n      prop.loopIn = loopIn;\n      prop.smooth = smooth;\n      prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n      prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n      prop.numKeys = data.a === 1 ? data.k.length : 0;\n      prop.propertyIndex = data.ix;\n      var value = 0;\n\n      if (type !== 0) {\n        value = createTypedArray(\"float32\", data.a === 1 ? data.k[0].s.length : data.k.length);\n      }\n\n      prop._cachingAtTime = {\n        lastFrame: initialDefaultFrame,\n        lastIndex: 0,\n        value: value\n      };\n      expressionHelpers.searchExpressions(elem, data, prop);\n\n      if (prop.k) {\n        container.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n\n    function getShapeValueAtTime(frameNum) {\n      // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n      if (!(this || _global)._cachingAtTime) {\n        (this || _global)._cachingAtTime = {\n          shapeValue: shapePool.clone((this || _global).pv),\n          lastIndex: 0,\n          lastTime: initialDefaultFrame\n        };\n      }\n\n      frameNum *= (this || _global).elem.globalData.frameRate;\n      frameNum -= (this || _global).offsetTime;\n\n      if (frameNum !== (this || _global)._cachingAtTime.lastTime) {\n        (this || _global)._cachingAtTime.lastIndex = (this || _global)._cachingAtTime.lastTime < frameNum ? (this || _global)._caching.lastIndex : 0;\n        (this || _global)._cachingAtTime.lastTime = frameNum;\n        this.interpolateShape(frameNum, (this || _global)._cachingAtTime.shapeValue, (this || _global)._cachingAtTime);\n      }\n\n      return (this || _global)._cachingAtTime.shapeValue;\n    }\n\n    var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n    var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n    function ShapeExpressions() {}\n\n    ShapeExpressions.prototype = {\n      vertices: function (prop, time) {\n        if ((this || _global).k) {\n          this.getValue();\n        }\n\n        var shapePath = (this || _global).v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        var i;\n        var len = shapePath._length;\n        var vertices = shapePath[prop];\n        var points = shapePath.v;\n        var arr = createSizedArray(len);\n\n        for (i = 0; i < len; i += 1) {\n          if (prop === \"i\" || prop === \"o\") {\n            arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n          } else {\n            arr[i] = [vertices[i][0], vertices[i][1]];\n          }\n        }\n\n        return arr;\n      },\n      points: function (time) {\n        return this.vertices(\"v\", time);\n      },\n      inTangents: function (time) {\n        return this.vertices(\"i\", time);\n      },\n      outTangents: function (time) {\n        return this.vertices(\"o\", time);\n      },\n      isClosed: function () {\n        return (this || _global).v.c;\n      },\n      pointOnPath: function (perc, time) {\n        var shapePath = (this || _global).v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        if (!(this || _global)._segmentsLength) {\n          (this || _global)._segmentsLength = bez.getSegmentsLength(shapePath);\n        }\n\n        var segmentsLength = (this || _global)._segmentsLength;\n        var lengths = segmentsLength.lengths;\n        var lengthPos = segmentsLength.totalLength * perc;\n        var i = 0;\n        var len = lengths.length;\n        var accumulatedLength = 0;\n        var pt;\n\n        while (i < len) {\n          if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n            var initIndex = i;\n            var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n            var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n            pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n            break;\n          } else {\n            accumulatedLength += lengths[i].addedLength;\n          }\n\n          i += 1;\n        }\n\n        if (!pt) {\n          pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n        }\n\n        return pt;\n      },\n      vectorOnPath: function (perc, time, vectorType) {\n        // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n        if (perc == 1) {\n          // eslint-disable-line eqeqeq\n          perc = (this || _global).v.c;\n        } else if (perc == 0) {\n          // eslint-disable-line eqeqeq\n          perc = 0.999;\n        }\n\n        var pt1 = this.pointOnPath(perc, time);\n        var pt2 = this.pointOnPath(perc + 0.001, time);\n        var xLength = pt2[0] - pt1[0];\n        var yLength = pt2[1] - pt1[1];\n        var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n        if (magnitude === 0) {\n          return [0, 0];\n        }\n\n        var unitVector = vectorType === \"tangent\" ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n        return unitVector;\n      },\n      tangentOnPath: function (perc, time) {\n        return this.vectorOnPath(perc, time, \"tangent\");\n      },\n      normalOnPath: function (perc, time) {\n        return this.vectorOnPath(perc, time, \"normal\");\n      },\n      setGroupProperty: expressionHelpers.setGroupProperty,\n      getValueAtTime: expressionHelpers.getStaticValueAtTime\n    };\n    extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n    extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n    KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n    KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n    var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n    ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n      var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n      prop.propertyIndex = data.ix;\n      prop.lock = false;\n\n      if (type === 3) {\n        expressionHelpers.searchExpressions(elem, data.pt, prop);\n      } else if (type === 4) {\n        expressionHelpers.searchExpressions(elem, data.ks, prop);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n  })();\n  /* global ExpressionManager, TextProperty */\n\n\n  (function addDecorator() {\n    function searchExpressions() {\n      if ((this || _global).data.d.x) {\n        (this || _global).calculateExpression = ExpressionManager.initiateExpression.bind(this || _global)((this || _global).elem, (this || _global).data.d, this || _global);\n        this.addEffect((this || _global).getExpressionValue.bind(this || _global));\n        return true;\n      }\n\n      return null;\n    }\n\n    TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n      var newValue = this.calculateExpression(text);\n\n      if (currentValue.t !== newValue) {\n        var newData = {};\n        this.copyData(newData, currentValue);\n        newData.t = newValue.toString();\n        newData.__complete = false;\n        return newData;\n      }\n\n      return currentValue;\n    };\n\n    TextProperty.prototype.searchProperty = function () {\n      var isKeyframed = this.searchKeyframes();\n      var hasExpressions = this.searchExpressions();\n      (this || _global).kf = isKeyframed || hasExpressions;\n      return (this || _global).kf;\n    };\n\n    TextProperty.prototype.searchExpressions = searchExpressions;\n  })();\n  /* global propertyGroupFactory, PropertyInterface */\n\n  /* exported ShapePathInterface */\n\n\n  var ShapePathInterface = function () {\n    return function pathInterfaceFactory(shape, view, propertyGroup) {\n      var prop = view.sh;\n\n      function interfaceFunction(val) {\n        if (val === \"Shape\" || val === \"shape\" || val === \"Path\" || val === \"path\" || val === \"ADBE Vector Shape\" || val === 2) {\n          return interfaceFunction.path;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      prop.setGroupProperty(PropertyInterface(\"Path\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        path: {\n          get: function () {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        shape: {\n          get: function () {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        ix: {\n          value: shape.ix\n        },\n        propertyIndex: {\n          value: shape.ix\n        },\n        mn: {\n          value: shape.mn\n        },\n        propertyGroup: {\n          value: propertyGroup\n        }\n      });\n      return interfaceFunction;\n    };\n  }();\n  /* exported propertyGroupFactory */\n\n\n  var propertyGroupFactory = function () {\n    return function (interfaceFunction, parentPropertyGroup) {\n      return function (val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return parentPropertyGroup(val - 1);\n      };\n    };\n  }();\n  /* exported PropertyInterface */\n\n\n  var PropertyInterface = function () {\n    return function (propertyName, propertyGroup) {\n      var interfaceFunction = {\n        _name: propertyName\n      };\n\n      function _propertyGroup(val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return propertyGroup(val - 1);\n      }\n\n      return _propertyGroup;\n    };\n  }();\n  /* global ExpressionPropertyInterface, PropertyInterface, propertyGroupFactory, ShapePathInterface */\n\n  /* exported ShapeExpressionInterface */\n\n\n  var ShapeExpressionInterface = function () {\n    function iterateElements(shapes, view, propertyGroup) {\n      var arr = [];\n      var i;\n      var len = shapes ? shapes.length : 0;\n\n      for (i = 0; i < len; i += 1) {\n        if (shapes[i].ty === \"gr\") {\n          arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"fl\") {\n          arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"st\") {\n          arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"tm\") {\n          arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"tr\") {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n        } else if (shapes[i].ty === \"el\") {\n          arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"sr\") {\n          arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"sh\") {\n          arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rc\") {\n          arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rd\") {\n          arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rp\") {\n          arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n        }\n      }\n\n      return arr;\n    }\n\n    function contentsInterfaceFactory(shape, view, propertyGroup) {\n      var interfaces;\n\n      var interfaceFunction = function _interfaceFunction(value) {\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        if (typeof value === \"number\") {\n          return interfaces[value - 1];\n        }\n\n        return null;\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n      interfaceFunction.numProperties = interfaces.length;\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.transform = transformInterface;\n      interfaceFunction.propertyIndex = shape.cix;\n      interfaceFunction._name = shape.nm;\n      return interfaceFunction;\n    }\n\n    function groupInterfaceFactory(shape, view, propertyGroup) {\n      var interfaceFunction = function _interfaceFunction(value) {\n        switch (value) {\n          case \"ADBE Vectors Group\":\n          case \"Contents\":\n          case 2:\n            return interfaceFunction.content;\n          // Not necessary for now. Keeping them here in case a new case appears\n          // case 'ADBE Vector Transform Group':\n          // case 3:\n\n          default:\n            return interfaceFunction.transform;\n        }\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.content = content;\n      interfaceFunction.transform = transformInterface;\n      Object.defineProperty(interfaceFunction, \"_name\", {\n        get: function () {\n          return shape.nm;\n        }\n      }); // interfaceFunction.content = interfaceFunction;\n\n      interfaceFunction.numProperties = shape.np;\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.nm = shape.nm;\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function fillInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === \"Color\" || val === \"color\") {\n          return interfaceFunction.color;\n        }\n\n        if (val === \"Opacity\" || val === \"opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface(\"Color\", propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Opacity\", propertyGroup));\n      return interfaceFunction;\n    }\n\n    function strokeInterfaceFactory(shape, view, propertyGroup) {\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n      function addPropertyToDashOb(i) {\n        Object.defineProperty(dashOb, shape.d[i].nm, {\n          get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n        });\n      }\n\n      var i;\n      var len = shape.d ? shape.d.length : 0;\n      var dashOb = {};\n\n      for (i = 0; i < len; i += 1) {\n        addPropertyToDashOb(i);\n        view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n      }\n\n      function interfaceFunction(val) {\n        if (val === \"Color\" || val === \"color\") {\n          return interfaceFunction.color;\n        }\n\n        if (val === \"Opacity\" || val === \"opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        if (val === \"Stroke Width\" || val === \"stroke width\") {\n          return interfaceFunction.strokeWidth;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        strokeWidth: {\n          get: ExpressionPropertyInterface(view.w)\n        },\n        dash: {\n          get: function () {\n            return dashOb;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface(\"Color\", _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      view.w.setGroupProperty(PropertyInterface(\"Stroke Width\", _propertyGroup));\n      return interfaceFunction;\n    }\n\n    function trimInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === shape.e.ix || val === \"End\" || val === \"end\") {\n          return interfaceFunction.end;\n        }\n\n        if (val === shape.s.ix) {\n          return interfaceFunction.start;\n        }\n\n        if (val === shape.o.ix) {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      view.s.setGroupProperty(PropertyInterface(\"Start\", _propertyGroup));\n      view.e.setGroupProperty(PropertyInterface(\"End\", _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Offset\", _propertyGroup));\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.propertyGroup = propertyGroup;\n      Object.defineProperties(interfaceFunction, {\n        start: {\n          get: ExpressionPropertyInterface(view.s)\n        },\n        end: {\n          get: ExpressionPropertyInterface(view.e)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function transformInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.a.ix === value || value === \"Anchor Point\") {\n          return interfaceFunction.anchorPoint;\n        }\n\n        if (shape.o.ix === value || value === \"Opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        if (shape.p.ix === value || value === \"Position\") {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value || value === \"Rotation\" || value === \"ADBE Vector Rotation\") {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.s.ix === value || value === \"Scale\") {\n          return interfaceFunction.scale;\n        }\n\n        if (shape.sk && shape.sk.ix === value || value === \"Skew\") {\n          return interfaceFunction.skew;\n        }\n\n        if (shape.sa && shape.sa.ix === value || value === \"Skew Axis\") {\n          return interfaceFunction.skewAxis;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      view.transform.mProps.o.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      view.transform.mProps.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      view.transform.mProps.a.setGroupProperty(PropertyInterface(\"Anchor Point\", _propertyGroup));\n      view.transform.mProps.s.setGroupProperty(PropertyInterface(\"Scale\", _propertyGroup));\n      view.transform.mProps.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n\n      if (view.transform.mProps.sk) {\n        view.transform.mProps.sk.setGroupProperty(PropertyInterface(\"Skew\", _propertyGroup));\n        view.transform.mProps.sa.setGroupProperty(PropertyInterface(\"Skew Angle\", _propertyGroup));\n      }\n\n      view.transform.op.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        opacity: {\n          get: ExpressionPropertyInterface(view.transform.mProps.o)\n        },\n        position: {\n          get: ExpressionPropertyInterface(view.transform.mProps.p)\n        },\n        anchorPoint: {\n          get: ExpressionPropertyInterface(view.transform.mProps.a)\n        },\n        scale: {\n          get: ExpressionPropertyInterface(view.transform.mProps.s)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(view.transform.mProps.r)\n        },\n        skew: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sk)\n        },\n        skewAxis: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sa)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.ty = \"tr\";\n      interfaceFunction.mn = shape.mn;\n      interfaceFunction.propertyGroup = propertyGroup;\n      return interfaceFunction;\n    }\n\n    function ellipseInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.s.ix === value) {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      prop.s.setGroupProperty(PropertyInterface(\"Size\", _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function starInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.pt.ix === value) {\n          return interfaceFunction.points;\n        }\n\n        if (shape.or.ix === value || value === \"ADBE Vector Star Outer Radius\") {\n          return interfaceFunction.outerRadius;\n        }\n\n        if (shape.os.ix === value) {\n          return interfaceFunction.outerRoundness;\n        }\n\n        if (shape.ir && (shape.ir.ix === value || value === \"ADBE Vector Star Inner Radius\")) {\n          return interfaceFunction.innerRadius;\n        }\n\n        if (shape.is && shape.is.ix === value) {\n          return interfaceFunction.innerRoundness;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.or.setGroupProperty(PropertyInterface(\"Outer Radius\", _propertyGroup));\n      prop.os.setGroupProperty(PropertyInterface(\"Outer Roundness\", _propertyGroup));\n      prop.pt.setGroupProperty(PropertyInterface(\"Points\", _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n\n      if (shape.ir) {\n        prop.ir.setGroupProperty(PropertyInterface(\"Inner Radius\", _propertyGroup));\n        prop.is.setGroupProperty(PropertyInterface(\"Inner Roundness\", _propertyGroup));\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        points: {\n          get: ExpressionPropertyInterface(prop.pt)\n        },\n        outerRadius: {\n          get: ExpressionPropertyInterface(prop.or)\n        },\n        outerRoundness: {\n          get: ExpressionPropertyInterface(prop.os)\n        },\n        innerRadius: {\n          get: ExpressionPropertyInterface(prop.ir)\n        },\n        innerRoundness: {\n          get: ExpressionPropertyInterface(prop.is)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function rectInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.roundness;\n        }\n\n        if (shape.s.ix === value || value === \"Size\" || value === \"ADBE Vector Rect Size\") {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      prop.s.setGroupProperty(PropertyInterface(\"Size\", _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        roundness: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function roundedInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.r.ix === value || value === \"Round Corners 1\") {\n          return interfaceFunction.radius;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.rd.setGroupProperty(PropertyInterface(\"Radius\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        radius: {\n          get: ExpressionPropertyInterface(prop.rd)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function repeaterInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.c.ix === value || value === \"Copies\") {\n          return interfaceFunction.copies;\n        }\n\n        if (shape.o.ix === value || value === \"Offset\") {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.c.setGroupProperty(PropertyInterface(\"Copies\", _propertyGroup));\n      prop.o.setGroupProperty(PropertyInterface(\"Offset\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        copies: {\n          get: ExpressionPropertyInterface(prop.c)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(prop.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    return function (shapes, view, propertyGroup) {\n      var interfaces;\n\n      function _interfaceFunction(value) {\n        if (typeof value === \"number\") {\n          value = value === undefined ? 1 : value;\n\n          if (value === 0) {\n            return propertyGroup;\n          }\n\n          return interfaces[value - 1];\n        }\n\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      function parentGroupWrapper() {\n        return propertyGroup;\n      }\n\n      _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n      interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n      _interfaceFunction.numProperties = interfaces.length;\n      _interfaceFunction._name = \"Contents\";\n      return _interfaceFunction;\n    };\n  }();\n  /* exported TextExpressionInterface */\n\n\n  var TextExpressionInterface = function () {\n    return function (elem) {\n      var _prevValue;\n\n      var _sourceText;\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case \"ADBE Text Document\":\n            return _thisLayerFunction.sourceText;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisLayerFunction, \"sourceText\", {\n        get: function () {\n          elem.textProperty.getValue();\n          var stringValue = elem.textProperty.currentData.t;\n\n          if (stringValue !== _prevValue) {\n            elem.textProperty.currentData.t = _prevValue;\n            _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n            // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n            _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n          }\n\n          return _sourceText;\n        }\n      });\n      return _thisLayerFunction;\n    };\n  }();\n  /* global Matrix, MaskManagerInterface, TransformExpressionInterface, getDescriptor */\n\n  /* exported LayerExpressionInterface */\n\n\n  var LayerExpressionInterface = function () {\n    function getMatrix(time) {\n      var toWorldMat = new Matrix();\n\n      if (time !== undefined) {\n        var propMatrix = (this || _global)._elem.finalTransform.mProp.getValueAtTime(time);\n\n        propMatrix.clone(toWorldMat);\n      } else {\n        var transformMat = (this || _global)._elem.finalTransform.mProp;\n        transformMat.applyToMatrix(toWorldMat);\n      }\n\n      return toWorldMat;\n    }\n\n    function toWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function toWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function fromWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function fromWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function applyPoint(matrix, arr) {\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n    }\n\n    function invertPoint(matrix, arr) {\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.inversePoint(arr);\n    }\n\n    function fromComp(arr) {\n      var toWorldMat = new Matrix();\n      toWorldMat.reset();\n\n      (this || _global)._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n        }\n\n        return toWorldMat.inversePoint(arr);\n      }\n\n      return toWorldMat.inversePoint(arr);\n    }\n\n    function sampleImage() {\n      return [1, 1, 1, 1];\n    }\n\n    return function (elem) {\n      var transformInterface;\n\n      function _registerMaskInterface(maskManager) {\n        _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n      }\n\n      function _registerEffectsInterface(effects) {\n        _thisLayerFunction.effect = effects;\n      }\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case \"ADBE Root Vectors Group\":\n          case \"Contents\":\n          case 2:\n            return _thisLayerFunction.shapeInterface;\n\n          case 1:\n          case 6:\n          case \"Transform\":\n          case \"transform\":\n          case \"ADBE Transform Group\":\n            return transformInterface;\n\n          case 4:\n          case \"ADBE Effect Parade\":\n          case \"effects\":\n          case \"Effects\":\n            return _thisLayerFunction.effect;\n\n          case \"ADBE Text Properties\":\n            return _thisLayerFunction.textInterface;\n\n          default:\n            return null;\n        }\n      }\n\n      _thisLayerFunction.getMatrix = getMatrix;\n      _thisLayerFunction.invertPoint = invertPoint;\n      _thisLayerFunction.applyPoint = applyPoint;\n      _thisLayerFunction.toWorld = toWorld;\n      _thisLayerFunction.toWorldVec = toWorldVec;\n      _thisLayerFunction.fromWorld = fromWorld;\n      _thisLayerFunction.fromWorldVec = fromWorldVec;\n      _thisLayerFunction.toComp = toWorld;\n      _thisLayerFunction.fromComp = fromComp;\n      _thisLayerFunction.sampleImage = sampleImage;\n      _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n      _thisLayerFunction._elem = elem;\n      transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n      var anchorPointDescriptor = getDescriptor(transformInterface, \"anchorPoint\");\n      Object.defineProperties(_thisLayerFunction, {\n        hasParent: {\n          get: function () {\n            return elem.hierarchy.length;\n          }\n        },\n        parent: {\n          get: function () {\n            return elem.hierarchy[0].layerInterface;\n          }\n        },\n        rotation: getDescriptor(transformInterface, \"rotation\"),\n        scale: getDescriptor(transformInterface, \"scale\"),\n        position: getDescriptor(transformInterface, \"position\"),\n        opacity: getDescriptor(transformInterface, \"opacity\"),\n        anchorPoint: anchorPointDescriptor,\n        anchor_point: anchorPointDescriptor,\n        transform: {\n          get: function () {\n            return transformInterface;\n          }\n        },\n        active: {\n          get: function () {\n            return elem.isInRange;\n          }\n        }\n      });\n      _thisLayerFunction.startTime = elem.data.st;\n      _thisLayerFunction.index = elem.data.ind;\n      _thisLayerFunction.source = elem.data.refId;\n      _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n      _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n      _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      _thisLayerFunction._name = elem.data.nm;\n      _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n      _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n      return _thisLayerFunction;\n    };\n  }();\n  /* global */\n\n  /* exported FootageInterface */\n\n\n  var FootageInterface = function () {\n    var outlineInterfaceFactory = function (elem) {\n      var currentPropertyName = \"\";\n      var currentProperty = elem.getFootageData();\n\n      function init() {\n        currentPropertyName = \"\";\n        currentProperty = elem.getFootageData();\n        return searchProperty;\n      }\n\n      function searchProperty(value) {\n        if (currentProperty[value]) {\n          currentPropertyName = value;\n          currentProperty = currentProperty[value];\n\n          if (typeof currentProperty === \"object\") {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        var propertyNameIndex = value.indexOf(currentPropertyName);\n\n        if (propertyNameIndex !== -1) {\n          var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n          currentProperty = currentProperty[index];\n\n          if (typeof currentProperty === \"object\") {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        return \"\";\n      }\n\n      return init;\n    };\n\n    var dataInterfaceFactory = function (elem) {\n      function interfaceFunction(value) {\n        if (value === \"Outline\") {\n          return interfaceFunction.outlineInterface();\n        }\n\n        return null;\n      }\n\n      interfaceFunction._name = \"Outline\";\n      interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n      return interfaceFunction;\n    };\n\n    return function (elem) {\n      function _interfaceFunction(value) {\n        if (value === \"Data\") {\n          return _interfaceFunction.dataInterface;\n        }\n\n        return null;\n      }\n\n      _interfaceFunction._name = \"Data\";\n      _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n      return _interfaceFunction;\n    };\n  }();\n  /* exported CompExpressionInterface */\n\n\n  var CompExpressionInterface = function () {\n    return function (comp) {\n      function _thisLayerFunction(name) {\n        var i = 0;\n        var len = comp.layers.length;\n\n        while (i < len) {\n          if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n            return comp.elements[i].layerInterface;\n          }\n\n          i += 1;\n        }\n\n        return null; // return {active:false};\n      }\n\n      Object.defineProperty(_thisLayerFunction, \"_name\", {\n        value: comp.data.nm\n      });\n      _thisLayerFunction.layer = _thisLayerFunction;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n      _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n      _thisLayerFunction.displayStartTime = 0;\n      _thisLayerFunction.numLayers = comp.layers.length;\n      return _thisLayerFunction;\n    };\n  }();\n  /* global ExpressionPropertyInterface */\n\n  /* exported TransformExpressionInterface */\n\n\n  var TransformExpressionInterface = function () {\n    return function (transform) {\n      function _thisFunction(name) {\n        switch (name) {\n          case \"scale\":\n          case \"Scale\":\n          case \"ADBE Scale\":\n          case 6:\n            return _thisFunction.scale;\n\n          case \"rotation\":\n          case \"Rotation\":\n          case \"ADBE Rotation\":\n          case \"ADBE Rotate Z\":\n          case 10:\n            return _thisFunction.rotation;\n\n          case \"ADBE Rotate X\":\n            return _thisFunction.xRotation;\n\n          case \"ADBE Rotate Y\":\n            return _thisFunction.yRotation;\n\n          case \"position\":\n          case \"Position\":\n          case \"ADBE Position\":\n          case 2:\n            return _thisFunction.position;\n\n          case \"ADBE Position_0\":\n            return _thisFunction.xPosition;\n\n          case \"ADBE Position_1\":\n            return _thisFunction.yPosition;\n\n          case \"ADBE Position_2\":\n            return _thisFunction.zPosition;\n\n          case \"anchorPoint\":\n          case \"AnchorPoint\":\n          case \"Anchor Point\":\n          case \"ADBE AnchorPoint\":\n          case 1:\n            return _thisFunction.anchorPoint;\n\n          case \"opacity\":\n          case \"Opacity\":\n          case 11:\n            return _thisFunction.opacity;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisFunction, \"rotation\", {\n        get: ExpressionPropertyInterface(transform.r || transform.rz)\n      });\n      Object.defineProperty(_thisFunction, \"zRotation\", {\n        get: ExpressionPropertyInterface(transform.rz || transform.r)\n      });\n      Object.defineProperty(_thisFunction, \"xRotation\", {\n        get: ExpressionPropertyInterface(transform.rx)\n      });\n      Object.defineProperty(_thisFunction, \"yRotation\", {\n        get: ExpressionPropertyInterface(transform.ry)\n      });\n      Object.defineProperty(_thisFunction, \"scale\", {\n        get: ExpressionPropertyInterface(transform.s)\n      });\n\n      var _px;\n\n      var _py;\n\n      var _pz;\n\n      var _transformFactory;\n\n      if (transform.p) {\n        _transformFactory = ExpressionPropertyInterface(transform.p);\n      } else {\n        _px = ExpressionPropertyInterface(transform.px);\n        _py = ExpressionPropertyInterface(transform.py);\n\n        if (transform.pz) {\n          _pz = ExpressionPropertyInterface(transform.pz);\n        }\n      }\n\n      Object.defineProperty(_thisFunction, \"position\", {\n        get: function () {\n          if (transform.p) {\n            return _transformFactory();\n          }\n\n          return [_px(), _py(), _pz ? _pz() : 0];\n        }\n      });\n      Object.defineProperty(_thisFunction, \"xPosition\", {\n        get: ExpressionPropertyInterface(transform.px)\n      });\n      Object.defineProperty(_thisFunction, \"yPosition\", {\n        get: ExpressionPropertyInterface(transform.py)\n      });\n      Object.defineProperty(_thisFunction, \"zPosition\", {\n        get: ExpressionPropertyInterface(transform.pz)\n      });\n      Object.defineProperty(_thisFunction, \"anchorPoint\", {\n        get: ExpressionPropertyInterface(transform.a)\n      });\n      Object.defineProperty(_thisFunction, \"opacity\", {\n        get: ExpressionPropertyInterface(transform.o)\n      });\n      Object.defineProperty(_thisFunction, \"skew\", {\n        get: ExpressionPropertyInterface(transform.sk)\n      });\n      Object.defineProperty(_thisFunction, \"skewAxis\", {\n        get: ExpressionPropertyInterface(transform.sa)\n      });\n      Object.defineProperty(_thisFunction, \"orientation\", {\n        get: ExpressionPropertyInterface(transform.or)\n      });\n      return _thisFunction;\n    };\n  }();\n  /* exported ProjectInterface */\n\n\n  ProjectInterface = function () {\n    function registerComposition(comp) {\n      (this || _global).compositions.push(comp);\n    }\n\n    return function () {\n      function _thisProjectFunction(name) {\n        var i = 0;\n        var len = (this || _global).compositions.length;\n\n        while (i < len) {\n          if ((this || _global).compositions[i].data && (this || _global).compositions[i].data.nm === name) {\n            if ((this || _global).compositions[i].prepareFrame && (this || _global).compositions[i].data.xt) {\n              (this || _global).compositions[i].prepareFrame((this || _global).currentFrame);\n            }\n\n            return (this || _global).compositions[i].compInterface;\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      _thisProjectFunction.compositions = [];\n      _thisProjectFunction.currentFrame = 0;\n      _thisProjectFunction.registerComposition = registerComposition;\n      return _thisProjectFunction;\n    };\n  }();\n  /* global propertyGroupFactory, ExpressionPropertyInterface, PropertyInterface */\n\n  /* exported EffectsExpressionInterface */\n\n\n  var EffectsExpressionInterface = function () {\n    var ob = {\n      createEffectsInterface: createEffectsInterface\n    };\n\n    function createEffectsInterface(elem, propertyGroup) {\n      if (elem.effectsManager) {\n        var effectElements = [];\n        var effectsData = elem.data.ef;\n        var i;\n        var len = elem.effectsManager.effectElements.length;\n\n        for (i = 0; i < len; i += 1) {\n          effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n        }\n\n        var effects = elem.data.ef || [];\n\n        var groupInterface = function (name) {\n          i = 0;\n          len = effects.length;\n\n          while (i < len) {\n            if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n              return effectElements[i];\n            }\n\n            i += 1;\n          }\n\n          return null;\n        };\n\n        Object.defineProperty(groupInterface, \"numProperties\", {\n          get: function () {\n            return effects.length;\n          }\n        });\n        return groupInterface;\n      }\n\n      return null;\n    }\n\n    function createGroupInterface(data, elements, propertyGroup, elem) {\n      function groupInterface(name) {\n        var effects = data.ef;\n        var i = 0;\n        var len = effects.length;\n\n        while (i < len) {\n          if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n            if (effects[i].ty === 5) {\n              return effectElements[i];\n            }\n\n            return effectElements[i]();\n          }\n\n          i += 1;\n        }\n\n        throw new Error();\n      }\n\n      var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n      var effectElements = [];\n      var i;\n      var len = data.ef.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (data.ef[i].ty === 5) {\n          effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n        } else {\n          effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n        }\n      }\n\n      if (data.mn === \"ADBE Color Control\") {\n        Object.defineProperty(groupInterface, \"color\", {\n          get: function () {\n            return effectElements[0]();\n          }\n        });\n      }\n\n      Object.defineProperties(groupInterface, {\n        numProperties: {\n          get: function () {\n            return data.np;\n          }\n        },\n        _name: {\n          value: data.nm\n        },\n        propertyGroup: {\n          value: _propertyGroup\n        }\n      });\n      groupInterface.enabled = data.en !== 0;\n      groupInterface.active = groupInterface.enabled;\n      return groupInterface;\n    }\n\n    function createValueInterface(element, type, elem, propertyGroup) {\n      var expressionProperty = ExpressionPropertyInterface(element.p);\n\n      function interfaceFunction() {\n        if (type === 10) {\n          return elem.comp.compInterface(element.p.v);\n        }\n\n        return expressionProperty();\n      }\n\n      if (element.p.setGroupProperty) {\n        element.p.setGroupProperty(PropertyInterface(\"\", propertyGroup));\n      }\n\n      return interfaceFunction;\n    }\n\n    return ob;\n  }();\n  /* global createSizedArray */\n\n  /* exported MaskManagerInterface */\n\n\n  var MaskManagerInterface = function () {\n    function MaskInterface(mask, data) {\n      (this || _global)._mask = mask;\n      (this || _global)._data = data;\n    }\n\n    Object.defineProperty(MaskInterface.prototype, \"maskPath\", {\n      get: function () {\n        if ((this || _global)._mask.prop.k) {\n          (this || _global)._mask.prop.getValue();\n        }\n\n        return (this || _global)._mask.prop;\n      }\n    });\n    Object.defineProperty(MaskInterface.prototype, \"maskOpacity\", {\n      get: function () {\n        if ((this || _global)._mask.op.k) {\n          (this || _global)._mask.op.getValue();\n        }\n\n        return (this || _global)._mask.op.v * 100;\n      }\n    });\n\n    var MaskManager = function (maskManager) {\n      var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n      var i;\n      var len = maskManager.viewData.length;\n\n      for (i = 0; i < len; i += 1) {\n        _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n      }\n\n      var maskFunction = function (name) {\n        i = 0;\n\n        while (i < len) {\n          if (maskManager.masksProperties[i].nm === name) {\n            return _masksInterfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      };\n\n      return maskFunction;\n    };\n\n    return MaskManager;\n  }();\n  /* global createTypedArray */\n\n  /* exported ExpressionPropertyInterface */\n\n\n  var ExpressionPropertyInterface = function () {\n    var defaultUnidimensionalValue = {\n      pv: 0,\n      v: 0,\n      mult: 1\n    };\n    var defaultMultidimensionalValue = {\n      pv: [0, 0, 0],\n      v: [0, 0, 0],\n      mult: 1\n    };\n\n    function completeProperty(expressionValue, property, type) {\n      Object.defineProperty(expressionValue, \"velocity\", {\n        get: function () {\n          return property.getVelocityAtTime(property.comp.currentFrame);\n        }\n      });\n      expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n      expressionValue.key = function (pos) {\n        if (!expressionValue.numKeys) {\n          return 0;\n        }\n\n        var value = \"\";\n\n        if (\"s\" in property.keyframes[pos - 1]) {\n          value = property.keyframes[pos - 1].s;\n        } else if (\"e\" in property.keyframes[pos - 2]) {\n          value = property.keyframes[pos - 2].e;\n        } else {\n          value = property.keyframes[pos - 2].s;\n        }\n\n        var valueProp = type === \"unidimensional\" ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n        valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n        valueProp.value = type === \"unidimensional\" ? value[0] : value;\n        return valueProp;\n      };\n\n      expressionValue.valueAtTime = property.getValueAtTime;\n      expressionValue.speedAtTime = property.getSpeedAtTime;\n      expressionValue.velocityAtTime = property.getVelocityAtTime;\n      expressionValue.propertyGroup = property.propertyGroup;\n    }\n\n    function UnidimensionalPropertyInterface(property) {\n      if (!property || !(\"pv\" in property)) {\n        property = defaultUnidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var val = property.pv * mult;\n      var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n      expressionValue.value = val;\n      completeProperty(expressionValue, property, \"unidimensional\");\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        val = property.v * mult;\n\n        if (expressionValue.value !== val) {\n          expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n          expressionValue.value = val;\n          completeProperty(expressionValue, property, \"unidimensional\");\n        }\n\n        return expressionValue;\n      };\n    }\n\n    function MultidimensionalPropertyInterface(property) {\n      if (!property || !(\"pv\" in property)) {\n        property = defaultMultidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var len = property.data && property.data.l || property.pv.length;\n      var expressionValue = createTypedArray(\"float32\", len);\n      var arrValue = createTypedArray(\"float32\", len);\n      expressionValue.value = arrValue;\n      completeProperty(expressionValue, property, \"multidimensional\");\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        for (var i = 0; i < len; i += 1) {\n          arrValue[i] = property.v[i] * mult;\n          expressionValue[i] = arrValue[i];\n        }\n\n        return expressionValue;\n      };\n    } // TODO: try to avoid using this getter\n\n\n    function defaultGetter() {\n      return defaultUnidimensionalValue;\n    }\n\n    return function (property) {\n      if (!property) {\n        return defaultGetter;\n      }\n\n      if (property.propType === \"unidimensional\") {\n        return UnidimensionalPropertyInterface(property);\n      }\n\n      return MultidimensionalPropertyInterface(property);\n    };\n  }();\n  /* global expressionHelpers, TextSelectorProp, ExpressionManager */\n\n  /* exported TextExpressionSelectorProp */\n\n\n  (function () {\n    var TextExpressionSelectorProp = function () {\n      // eslint-disable-line no-unused-vars\n      function getValueProxy(index, total) {\n        (this || _global).textIndex = index + 1;\n        (this || _global).textTotal = total;\n        (this || _global).v = this.getValue() * (this || _global).mult;\n        return (this || _global).v;\n      }\n\n      return function TextExpressionSelectorPropFactory(elem, data) {\n        (this || _global).pv = 1;\n        (this || _global).comp = elem.comp;\n        (this || _global).elem = elem;\n        (this || _global).mult = 0.01;\n        (this || _global).propType = \"textSelector\";\n        (this || _global).textTotal = data.totalChars;\n        (this || _global).selectorValue = 100;\n        (this || _global).lastValue = [1, 1, 1];\n        (this || _global).k = true;\n        (this || _global).x = true;\n        (this || _global).getValue = ExpressionManager.initiateExpression.bind(this || _global)(elem, data, this || _global);\n        (this || _global).getMult = getValueProxy;\n        (this || _global).getVelocityAtTime = expressionHelpers.getVelocityAtTime;\n\n        if ((this || _global).kf) {\n          (this || _global).getValueAtTime = expressionHelpers.getValueAtTime.bind(this || _global);\n        } else {\n          (this || _global).getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(this || _global);\n        }\n\n        (this || _global).setGroupProperty = expressionHelpers.setGroupProperty;\n      };\n    }();\n\n    var propertyGetTextProp = TextSelectorProp.getTextSelectorProp;\n\n    TextSelectorProp.getTextSelectorProp = function (elem, data, arr) {\n      if (data.t === 1) {\n        return new TextExpressionSelectorPropFactory(elem, data, arr); // eslint-disable-line no-undef\n      }\n\n      return propertyGetTextProp(elem, data, arr);\n    };\n  })();\n  /* global PropertyFactory */\n\n  /* exported SliderEffect, AngleEffect, ColorEffect, PointEffect, LayerIndexEffect, MaskIndexEffect, CheckboxEffect, NoValueEffect */\n\n\n  function SliderEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function AngleEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function ColorEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function PointEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function LayerIndexEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function MaskIndexEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function CheckboxEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function NoValueEffect() {\n    (this || _global).p = {};\n  }\n  /* global extendPrototype, SliderEffect, AngleEffect, ColorEffect, PointEffect, CheckboxEffect, LayerIndexEffect,\r\n  MaskIndexEffect, NoValueEffect, DynamicPropertyContainer */\n\n\n  function EffectsManager(data, element) {\n    var effects = data.ef || [];\n    (this || _global).effectElements = [];\n    var i;\n    var len = effects.length;\n    var effectItem;\n\n    for (i = 0; i < len; i += 1) {\n      effectItem = new GroupEffect(effects[i], element);\n\n      (this || _global).effectElements.push(effectItem);\n    }\n  }\n\n  function GroupEffect(data, element) {\n    this.init(data, element);\n  }\n\n  extendPrototype([DynamicPropertyContainer], GroupEffect);\n  GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n  GroupEffect.prototype.init = function (data, element) {\n    (this || _global).data = data;\n    (this || _global).effectElements = [];\n    this.initDynamicPropertyContainer(element);\n    var i;\n    var len = (this || _global).data.ef.length;\n    var eff;\n    var effects = (this || _global).data.ef;\n\n    for (i = 0; i < len; i += 1) {\n      eff = null;\n\n      switch (effects[i].ty) {\n        case 0:\n          eff = new SliderEffect(effects[i], element, this || _global);\n          break;\n\n        case 1:\n          eff = new AngleEffect(effects[i], element, this || _global);\n          break;\n\n        case 2:\n          eff = new ColorEffect(effects[i], element, this || _global);\n          break;\n\n        case 3:\n          eff = new PointEffect(effects[i], element, this || _global);\n          break;\n\n        case 4:\n        case 7:\n          eff = new CheckboxEffect(effects[i], element, this || _global);\n          break;\n\n        case 10:\n          eff = new LayerIndexEffect(effects[i], element, this || _global);\n          break;\n\n        case 11:\n          eff = new MaskIndexEffect(effects[i], element, this || _global);\n          break;\n\n        case 5:\n          eff = new EffectsManager(effects[i], element, this || _global);\n          break;\n        // case 6:\n\n        default:\n          eff = new NoValueEffect(effects[i], element, this || _global);\n          break;\n      }\n\n      if (eff) {\n        (this || _global).effectElements.push(eff);\n      }\n    }\n  };\n\n  var lottie = {};\n\n  function setLocationHref(href) {\n    locationHref = href;\n  }\n\n  function searchAnimations() {\n    if (standalone === true) {\n      animationManager.searchAnimations(animationData, standalone, renderer);\n    } else {\n      animationManager.searchAnimations();\n    }\n  }\n\n  function setSubframeRendering(flag) {\n    subframeEnabled = flag;\n  }\n\n  function loadAnimation(params) {\n    if (standalone === true) {\n      params.animationData = JSON.parse(animationData);\n    }\n\n    return animationManager.loadAnimation(params);\n  }\n\n  function setQuality(value) {\n    if (typeof value === \"string\") {\n      switch (value) {\n        case \"high\":\n          defaultCurveSegments = 200;\n          break;\n\n        default:\n        case \"medium\":\n          defaultCurveSegments = 50;\n          break;\n\n        case \"low\":\n          defaultCurveSegments = 10;\n          break;\n      }\n    } else if (!isNaN(value) && value > 1) {\n      defaultCurveSegments = value;\n    }\n\n    if (defaultCurveSegments >= 50) {\n      roundValues(false);\n    } else {\n      roundValues(true);\n    }\n  }\n\n  function inBrowser() {\n    return typeof navigator !== \"undefined\";\n  }\n\n  function installPlugin(type, plugin) {\n    if (type === \"expressions\") {\n      expressionsPlugin = plugin;\n    }\n  }\n\n  function getFactory(name) {\n    switch (name) {\n      case \"propertyFactory\":\n        return PropertyFactory;\n\n      case \"shapePropertyFactory\":\n        return ShapePropertyFactory;\n\n      case \"matrix\":\n        return Matrix;\n\n      default:\n        return null;\n    }\n  }\n\n  lottie.play = animationManager.play;\n  lottie.pause = animationManager.pause;\n  lottie.setLocationHref = setLocationHref;\n  lottie.togglePause = animationManager.togglePause;\n  lottie.setSpeed = animationManager.setSpeed;\n  lottie.setDirection = animationManager.setDirection;\n  lottie.stop = animationManager.stop;\n  lottie.searchAnimations = searchAnimations;\n  lottie.registerAnimation = animationManager.registerAnimation;\n  lottie.loadAnimation = loadAnimation;\n  lottie.setSubframeRendering = setSubframeRendering;\n  lottie.resize = animationManager.resize; // lottie.start = start;\n\n  lottie.goToAndStop = animationManager.goToAndStop;\n  lottie.destroy = animationManager.destroy;\n  lottie.setQuality = setQuality;\n  lottie.inBrowser = inBrowser;\n  lottie.installPlugin = installPlugin;\n  lottie.freeze = animationManager.freeze;\n  lottie.unfreeze = animationManager.unfreeze;\n  lottie.setVolume = animationManager.setVolume;\n  lottie.mute = animationManager.mute;\n  lottie.unmute = animationManager.unmute;\n  lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n  lottie.__getFactory = getFactory;\n  lottie.version = \"5.7.8\";\n\n  function checkReady() {\n    if (document.readyState === \"complete\") {\n      clearInterval(readyStateCheckInterval);\n      searchAnimations();\n    }\n  }\n\n  function getQueryVariable(variable) {\n    var vars = queryString.split(\"&\");\n\n    for (var i = 0; i < vars.length; i += 1) {\n      var pair = vars[i].split(\"=\");\n\n      if (decodeURIComponent(pair[0]) == variable) {\n        // eslint-disable-line eqeqeq\n        return decodeURIComponent(pair[1]);\n      }\n    }\n\n    return null;\n  }\n\n  var standalone = \"__[STANDALONE]__\";\n  var animationData = \"__[ANIMATIONDATA]__\";\n  var renderer = \"\";\n  var queryString;\n\n  if (standalone) {\n    var scripts = document.getElementsByTagName(\"script\");\n    var index = scripts.length - 1;\n    var myScript = scripts[index] || {\n      src: \"\"\n    };\n    queryString = myScript.src.replace(/^[^\\?]+\\??/, \"\"); // eslint-disable-line no-useless-escape\n\n    renderer = getQueryVariable(\"renderer\");\n  }\n\n  var readyStateCheckInterval = setInterval(checkReady, 100);\n  return lottie;\n});\nvar exports$1 = exports;\n\nexport default exports$1;\n\n//# sourceMappingURL=npm:lottie-web@5.7.8!cjs.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useCallback,useEffect}from\"react\";import{motion,addPropertyControls,ControlType,RenderTarget}from\"framer\";import{defaultEvents}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{useAutoMotionValue}from\"https://framer.com/m/framer/useAutoMotionValue.js@0.3.0\";import lottie from\"https://jspm.dev/lottie-web@5.7.8\";var SrcType;(function(SrcType){SrcType[\"File\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));var Poster;(function(Poster){Poster[\"Auto\"]=\"Auto\";Poster[\"Custom\"]=\"Custom\";})(Poster||(Poster={}));const placeholderUrl=\"https://misc.framerstatic.com/lottie/logo.json\";/**\n * LOTTIE\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 350\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Lottie(props){const{style,srcUrl,srcFile,srcType,poster,progress:progressRaw,playing,loop,posterProgress,pauseOnCanvas,isForwardsDirection,speed,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,onComplete}=props;const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const shouldPlay=(!pauseOnCanvas||!isOnCanvas)&&playing;const direction=isForwardsDirection?1:-1;const isCustomPoster=poster===\"Custom\";const el=useRef();const didInitialMount=useRef(false);const animationInfo=useRef({data:null,animation:null,duration:null});const progress=useAutoMotionValue(progressRaw,{transform:v=>v*.01});const play=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.play();};const pause=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.pause();};const destroy=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.destroy();};const scrubTo=useCallback((normalizedProgress,shouldPlayAfter)=>{if(!animationInfo.current.duration||!animationInfo.current.animation)return;// Lottie gets weird when scrubbing to the exact last frame\nconst frameNumberTarget=normalizedProgress===1?animationInfo.current.duration-1:normalizedProgress*animationInfo.current.duration;if(shouldPlayAfter)animationInfo.current.animation.goToAndPlay(frameNumberTarget,true);else animationInfo.current.animation.goToAndStop(frameNumberTarget,true);},[]);const fetchLottieData=useCallback(async url=>{if(!url)return null;const data=await fetch(url,{method:\"GET\",credentials:\"omit\",redirect:\"follow\"}).then(d=>d.json());return data;},[]);// Fetch lottie animation & start setup\nconst init=useCallback(async()=>{// Clear current animation\ndestroy();let dataUrl;if(srcType===\"URL\")dataUrl=srcUrl;if(srcType===\"Upload\")dataUrl=srcFile;if(!dataUrl){console.warn(\"No valid Lottie animation provided\");dataUrl=placeholderUrl;}const data=await fetchLottieData(dataUrl);animationInfo.current.data=data;return setup(didInitialMount.current);},[srcType,srcUrl,srcFile]);// Create Lottie animation\nconst setup=useCallback(shouldPlayAfter=>{if(!el.current)return;destroy();const options={container:el.current,renderer:\"svg\",loop:loop,autoplay:shouldPlay,animationData:animationInfo.current.data,rendererSettings:{preserveAspectRatio:\"xMidYMid slice\"}};const anim=animationInfo.current.animation=lottie.loadAnimation(options);animationInfo.current.duration=anim.getDuration(true);anim.setDirection(direction);anim.setSpeed(speed);didInitialMount.current=true;if(isOnCanvas&&isCustomPoster)scrubTo(posterProgress,false);else scrubTo(progress.get(),shouldPlay||shouldPlayAfter);return()=>{anim.destroy();};},[loop,shouldPlay,speed,direction,isOnCanvas,isCustomPoster,posterProgress]);// Initial setup or re-init when source changes\nuseEffect(()=>{let cleanup;init().then(c=>cleanup=c);return()=>{if(cleanup)cleanup();};},[srcType,srcFile,srcUrl]);// No run-time option for loop option, recreating anim\nuseEffect(()=>{if(!didInitialMount.current)return;return setup(false);},[loop]);// Perf hack lets see if anyone notices\nuseEffect(()=>lottie.setQuality(isOnCanvas?\"low\":\"medium\"),[]);// useEffect(() => {\n//     if (!isOnCanvas) return\n//     const normalizedProgress = progress.get() * 0.01\n//     if (shouldPlay) scrubTo(normalizedProgress, true)\n//     else scrubTo(normalizedProgress, false)\n// }, [progressRaw, shouldPlay])\nuseEffect(()=>progress.onChange(val=>{if(isOnCanvas)return;if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);}),[]);useEffect(()=>{const val=progress.get();if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);},[progressRaw]);useEffect(()=>{if(!isOnCanvas)return;const normalizedPosterProgress=posterProgress*.01;if(isCustomPoster)scrubTo(normalizedPosterProgress,false);else scrubTo(progress.get(),false);},[isCustomPoster,posterProgress]);useEffect(()=>{var _animationInfo_current;if(!((_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:_animationInfo_current.animation))return;animationInfo.current.animation.setSpeed(speed);scrubTo(progress.get(),true);},[speed]);useEffect(()=>{var _animationInfo_current;if(!((_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:_animationInfo_current.animation))return;animationInfo.current.animation.setDirection(direction);scrubTo(progress.get(),true);},[direction]);useEffect(()=>{if(shouldPlay)play();else pause();},[shouldPlay]);return /*#__PURE__*/_jsx(motion.div,{ref:el,style:style,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp});}Lottie.defaultProps={height:200,width:200,srcType:\"URL\",pauseOnCanvas:true,srcUrl:placeholderUrl,progress:0,poster:\"Auto\",posterProgress:0};addPropertyControls(Lottie,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",placeholder:\"../example.json\",hidden:props=>props.srcType===\"Upload\"},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"json\"],hidden:props=>props.srcType===\"URL\"},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},// Temporarily disabling for perf\npauseOnCanvas:{type:ControlType.Boolean,title:\"Canvas\",disabledTitle:\"Play\",enabledTitle:\"Pause\",hidden:props=>props.playing===false},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},isForwardsDirection:{title:\"Direction\",type:ControlType.Boolean,enabledTitle:\"Normal\",disabledTitle:\"Reverse\"},speed:{type:ControlType.Number,defaultValue:1,min:0,max:10,step:.5,displayStepper:true,unit:\"x\"},poster:{title:\"Poster\",type:ControlType.Enum,options:[\"Auto\",\"Custom\"],displaySegmentedControl:true},posterProgress:{title:\" \",type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({poster})=>poster===\"Auto\"},progress:{title:\"Progress\",type:ControlType.Number,max:100,min:0,unit:\"%\",description:\"This component is made for JSON files. [Learn more here](https://lottiefiles.com/what-is-lottie).\"},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Lottie\":{\"type\":\"reactComponent\",\"name\":\"Lottie\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"350\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lottie.map", "var t=typeof globalThis!==\"undefined\"?globalThis:typeof self!==\"undefined\"?self:global;var i={};(function webpackUniversalModuleDefinition(t,o){i=o()})(0,(()=>(()=>{var i=[,(i,o,s)=>{s.r(o);s.d(o,{default:()=>v});var h=(()=>{var i=typeof document!==\"undefined\"&&document.currentScript?document.currentScript.src:void 0;return function(o={}){var s,h,v=o;v.ready=new Promise(((t,i)=>{s=t;h=i}));function fa(){function a(t){const v=s;o=i=0;s=new Map;v.forEach((i=>{try{i(t)}catch(t){console.error(t)}}));this.ob();h&&h.Tb()}let i=0,o=0,s=new Map,h=null,v=null;(this||t).requestAnimationFrame=function(h){i||(i=requestAnimationFrame(a.bind(this||t)));const v=++o;s.set(v,h);return v};(this||t).cancelAnimationFrame=function(t){s.delete(t);i&&0==s.size&&(cancelAnimationFrame(i),i=0)};(this||t).Rb=function(i){v&&(document.body.remove(v),v=null);i||(v=document.createElement(\"div\"),v.style.backgroundColor=\"black\",v.style.position=\"fixed\",v.style.right=0,v.style.top=0,v.style.color=\"white\",v.style.padding=\"4px\",v.innerHTML=\"RIVE FPS\",i=function(t){v.innerHTML=\"RIVE FPS \"+t.toFixed(1)},document.body.appendChild(v));h=new function(){let o=0,s=0;(this||t).Tb=function(){var t=performance.now();s?(++o,t-=s,1e3<t&&(i(1e3*o/t),o=s=0)):(s=t,o=0)}}};(this||t).Ob=function(){v&&(document.body.remove(v),v=null);h=null};(this||t).ob=function(){}}function ha(i){console.assert(!0);const o=new Map;let s=-Infinity;(this||t).push=function(t){t=t+((1<<i)-1)>>i;o.has(t)&&clearTimeout(o.get(t));o.set(t,setTimeout((function(){o.delete(t);0==o.length?s=-Infinity:t==s&&(s=Math.max(...o.keys()),console.assert(s<t))}),1e3));s=Math.max(t,s);return s<<i}}const m=v.onRuntimeInitialized;v.onRuntimeInitialized=function(){m&&m();let i=v.decodeAudio;v.decodeAudio=function(t,o){t=i(t);o(t)};let o=v.decodeFont;v.decodeFont=function(t,i){t=o(t);i(t)};const s=v.FileAssetLoader;v.ptrToAsset=t=>{let i=v.ptrToFileAsset(t);return i.isImage?v.ptrToImageAsset(t):i.isFont?v.ptrToFontAsset(t):i.isAudio?v.ptrToAudioAsset(t):i};v.CustomFileAssetLoader=s.extend(\"CustomFileAssetLoader\",{__construct:function({loadContents:i}){(this||t).__parent.__construct.call(this||t);(this||t).Gb=i},loadContents:function(t,i){t=v.ptrToAsset(t);return this.Gb(t,i)}});v.CDNFileAssetLoader=s.extend(\"CDNFileAssetLoader\",{__construct:function(){(this||t).__parent.__construct.call(this||t)},loadContents:function(t){let i=v.ptrToAsset(t);t=i.cdnUuid;if(\"\"===t)return!1;(function(t,i){var o=new XMLHttpRequest;o.responseType=\"arraybuffer\";o.onreadystatechange=function(){4==o.readyState&&200==o.status&&i(o)};o.open(\"GET\",t,!0);o.send(null)})(i.cdnBaseUrl+\"/\"+t,(t=>{i.decode(new Uint8Array(t.response))}));return!0}});v.FallbackFileAssetLoader=s.extend(\"FallbackFileAssetLoader\",{__construct:function(){(this||t).__parent.__construct.call(this||t);(this||t).kb=[]},addLoader:function(i){(this||t).kb.push(i)},loadContents:function(i,o){for(let s of(this||t).kb)if(s.loadContents(i,o))return!0;return!1}});let h=v.computeAlignment;v.computeAlignment=function(i,o,s,v,m=1){return h.call(this||t,i,o,s,v,m)}};const y=\"createConicGradient createImageData createLinearGradient createPattern createRadialGradient getContextAttributes getImageData getLineDash getTransform isContextLost isPointInPath isPointInStroke measureText\".split(\" \"),w=new function(){function a(){if(!i){var t=document.createElement(\"canvas\"),m={alpha:1,depth:0,stencil:0,antialias:0,premultipliedAlpha:1,preserveDrawingBuffer:0,powerPreference:\"high-performance\",failIfMajorPerformanceCaveat:0,enableExtensionsByDefault:1,explicitSwapControl:1,renderViaOffscreenBackBuffer:1};let y;if(/iPhone|iPad|iPod/i.test(navigator.userAgent)){if(y=t.getContext(\"webgl\",m),o=1,!y)return console.log(\"No WebGL support. Image mesh will not be drawn.\"),!1}else if(y=t.getContext(\"webgl2\",m))o=2;else{if(!(y=t.getContext(\"webgl\",m)))return console.log(\"No WebGL support. Image mesh will not be drawn.\"),!1;o=1}y=new Proxy(y,{get(t,i){return t.isContextLost()?(w||(console.error(\"Cannot render the mesh because the GL Context was lost. Tried to invoke \",i),w=!0),\"function\"===typeof t[i]?function(){}:void 0):\"function\"===typeof t[i]?function(...o){return t[i].apply(t,o)}:t[i]},set(t,i,o){if(!t.isContextLost())return t[i]=o,!0;w||(console.error(\"Cannot render the mesh because the GL Context was lost. Tried to set property \"+i),w=!0)}});s=Math.min(y.getParameter(y.MAX_RENDERBUFFER_SIZE),y.getParameter(y.MAX_TEXTURE_SIZE));function B(t,i,o){i=y.createShader(i);y.shaderSource(i,o);y.compileShader(i);o=y.getShaderInfoLog(i);if(0<(o||\"\").length)throw o;y.attachShader(t,i)}t=y.createProgram();B(t,y.VERTEX_SHADER,\"attribute vec2 vertex;\\n                attribute vec2 uv;\\n                uniform vec4 mat;\\n                uniform vec2 translate;\\n                varying vec2 st;\\n                void main() {\\n                    st = uv;\\n                    gl_Position = vec4(mat2(mat) * vertex + translate, 0, 1);\\n                }\");B(t,y.FRAGMENT_SHADER,\"precision highp float;\\n                uniform sampler2D image;\\n                varying vec2 st;\\n                void main() {\\n                    gl_FragColor = texture2D(image, st);\\n                }\");y.bindAttribLocation(t,0,\"vertex\");y.bindAttribLocation(t,1,\"uv\");y.linkProgram(t);m=y.getProgramInfoLog(t);if(0<(m||\"\").trim().length)throw m;h=y.getUniformLocation(t,\"mat\");v=y.getUniformLocation(t,\"translate\");y.useProgram(t);y.bindBuffer(y.ARRAY_BUFFER,y.createBuffer());y.enableVertexAttribArray(0);y.enableVertexAttribArray(1);y.bindBuffer(y.ELEMENT_ARRAY_BUFFER,y.createBuffer());y.uniform1i(y.getUniformLocation(t,\"image\"),0);y.pixelStorei(y.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);i=y}return!0}let i=null,o=0,s=0,h=null,v=null,m=0,y=0,w=!1;a();(this||t).hc=function(){a();return s};(this||t).Mb=function(t){i.deleteTexture&&i.deleteTexture(t)};(this||t).Lb=function(t){if(!a())return null;const s=i.createTexture();if(!s)return null;i.bindTexture(i.TEXTURE_2D,s);i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,t);i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE);i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE);i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR);2==o?(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR_MIPMAP_LINEAR),i.generateMipmap(i.TEXTURE_2D)):i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR);return s};const _=new ha(8),A=new ha(8),R=new ha(10),C=new ha(10);(this||t).Qb=function(t,o,s,w,E){if(a()){var L=_.push(t),T=A.push(o);if(i.canvas){i.canvas.width==L&&i.canvas.height==T||(i.canvas.width=L,i.canvas.height=T);i.viewport(0,T-o,t,o);i.disable(i.SCISSOR_TEST);i.clearColor(0,0,0,0);i.clear(i.COLOR_BUFFER_BIT);i.enable(i.SCISSOR_TEST);s.sort(((t,i)=>i.wb-t.wb));L=R.push(w);m!=L&&(i.bufferData(i.ARRAY_BUFFER,8*L,i.DYNAMIC_DRAW),m=L);L=0;for(var P of s)i.bufferSubData(i.ARRAY_BUFFER,L,P.Ta),L+=4*P.Ta.length;console.assert(L==4*w);for(var M of s)i.bufferSubData(i.ARRAY_BUFFER,L,M.Db),L+=4*M.Db.length;console.assert(L==8*w);L=C.push(E);y!=L&&(i.bufferData(i.ELEMENT_ARRAY_BUFFER,2*L,i.DYNAMIC_DRAW),y=L);P=0;for(var F of s)i.bufferSubData(i.ELEMENT_ARRAY_BUFFER,P,F.indices),P+=2*F.indices.length;console.assert(P==2*E);F=0;M=!0;L=P=0;for(const m of s){m.image.Ka!=F&&(i.bindTexture(i.TEXTURE_2D,m.image.Ja||null),F=m.image.Ka);m.mc?(i.scissor(m.Ya,T-m.Za-m.jb,m.Ac,m.jb),M=!0):M&&(i.scissor(0,T-o,t,o),M=!1);s=2/t;const y=-2/o;i.uniform4f(h,m.ha[0]*s*m.Ba,m.ha[1]*y*m.Ca,m.ha[2]*s*m.Ba,m.ha[3]*y*m.Ca);i.uniform2f(v,m.ha[4]*s*m.Ba+s*(m.Ya-m.ic*m.Ba)-1,m.ha[5]*y*m.Ca+y*(m.Za-m.jc*m.Ca)+1);i.vertexAttribPointer(0,2,i.FLOAT,!1,0,L);i.vertexAttribPointer(1,2,i.FLOAT,!1,0,L+4*w);i.drawElements(i.TRIANGLES,m.indices.length,i.UNSIGNED_SHORT,P);L+=4*m.Ta.length;P+=2*m.indices.length}console.assert(L==4*w);console.assert(P==2*E)}}};(this||t).canvas=function(){return a()&&i.canvas}},_=v.onRuntimeInitialized;v.onRuntimeInitialized=function(){function a(t){switch(t){case R.srcOver:return\"source-over\";case R.screen:return\"screen\";case R.overlay:return\"overlay\";case R.darken:return\"darken\";case R.lighten:return\"lighten\";case R.colorDodge:return\"color-dodge\";case R.colorBurn:return\"color-burn\";case R.hardLight:return\"hard-light\";case R.softLight:return\"soft-light\";case R.difference:return\"difference\";case R.exclusion:return\"exclusion\";case R.multiply:return\"multiply\";case R.hue:return\"hue\";case R.saturation:return\"saturation\";case R.color:return\"color\";case R.luminosity:return\"luminosity\"}}function b(t){return\"rgba(\"+((16711680&t)>>>16)+\",\"+((65280&t)>>>8)+\",\"+((255&t)>>>0)+\",\"+((4278190080&t)>>>24)/255+\")\"}function c(){0<O.length&&(w.Qb(j.drawWidth(),j.drawHeight(),O,I,k),O=[],k=I=0,j.reset(512,512));for(const t of x){for(const i of t.H)i();t.H=[]}x.clear()}_&&_();var i=v.RenderPaintStyle;const o=v.RenderPath,s=v.RenderPaint,h=v.Renderer,m=v.StrokeCap,A=v.StrokeJoin,R=v.BlendMode,C=i.fill,E=i.stroke,L=v.FillRule.evenOdd;let T=1;var P=v.RenderImage.extend(\"CanvasRenderImage\",{__construct:function({la:i,xa:o}={}){(this||t).__parent.__construct.call(this||t);(this||t).Ka=T;T=T+1&2147483647||1;(this||t).la=i;(this||t).xa=o},__destruct:function(){(this||t).Ja&&(w.Mb((this||t).Ja),URL.revokeObjectURL((this||t).Wa));(this||t).__parent.__destruct.call(this||t)},decode:function(i){var o=this||t;o.xa&&o.xa(o);var s=new Image;o.Wa=URL.createObjectURL(new Blob([i],{type:\"image/png\"}));s.onload=function(){o.Fb=s;o.Ja=w.Lb(s);o.size(s.width,s.height);o.la&&o.la(o)};s.src=o.Wa}}),M=o.extend(\"CanvasRenderPath\",{__construct:function(){(this||t).__parent.__construct.call(this||t);(this||t).T=new Path2D},rewind:function(){(this||t).T=new Path2D},addPath:function(i,o,s,h,v,m,y){var w=(this||t).T,_=w.addPath;i=i.T;const A=new DOMMatrix;A.a=o;A.b=s;A.c=h;A.d=v;A.e=m;A.f=y;_.call(w,i,A)},fillRule:function(i){(this||t).Va=i},moveTo:function(i,o){(this||t).T.moveTo(i,o)},lineTo:function(i,o){(this||t).T.lineTo(i,o)},cubicTo:function(i,o,s,h,v,m){(this||t).T.bezierCurveTo(i,o,s,h,v,m)},close:function(){(this||t).T.closePath()}}),F=s.extend(\"CanvasRenderPaint\",{color:function(i){(this||t).Xa=b(i)},thickness:function(i){(this||t).Ib=i},join:function(i){switch(i){case A.miter:(this||t).Ia=\"miter\";break;case A.round:(this||t).Ia=\"round\";break;case A.bevel:(this||t).Ia=\"bevel\"}},cap:function(i){switch(i){case m.butt:(this||t).Ha=\"butt\";break;case m.round:(this||t).Ha=\"round\";break;case m.square:(this||t).Ha=\"square\"}},style:function(i){(this||t).Hb=i},blendMode:function(i){(this||t).Eb=a(i)},clearGradient:function(){(this||t).ja=null},linearGradient:function(i,o,s,h){(this||t).ja={yb:i,zb:o,bb:s,cb:h,Ra:[]}},radialGradient:function(i,o,s,h){(this||t).ja={yb:i,zb:o,bb:s,cb:h,Ra:[],ec:!0}},addStop:function(i,o){(this||t).ja.Ra.push({color:i,stop:o})},completeGradient:function(){},draw:function(i,o,s){let h=(this||t).Hb;var v=(this||t).Xa,m=(this||t).ja;i.globalCompositeOperation=(this||t).Eb;if(null!=m){v=m.yb;var y=m.zb;const o=m.bb;var w=m.cb;const s=m.Ra;m.ec?(m=o-v,w-=y,v=i.createRadialGradient(v,y,0,v,y,Math.sqrt(m*m+w*w))):v=i.createLinearGradient(v,y,o,w);for(let t=0,i=s.length;t<i;t++)y=s[t],v.addColorStop(y.stop,b(y.color));(this||t).Xa=v;(this||t).ja=null}switch(h){case E:i.strokeStyle=v;i.lineWidth=(this||t).Ib;i.lineCap=(this||t).Ha;i.lineJoin=(this||t).Ia;i.stroke(o);break;case C:i.fillStyle=v,i.fill(o,s)}}});const x=new Set;let j=null,O=[],I=0,k=0;var D=v.CanvasRenderer=h.extend(\"Renderer\",{__construct:function(i){(this||t).__parent.__construct.call(this||t);(this||t).S=[1,0,0,1,0,0];(this||t).C=i.getContext(\"2d\");(this||t).Ua=i;(this||t).H=[]},save:function(){(this||t).S.push(...(this||t).S.slice((this||t).S.length-6));(this||t).H.push((this||t).C.save.bind((this||t).C))},restore:function(){const i=(this||t).S.length-6;if(6>i)throw\"restore() called without matching save().\";(this||t).S.splice(i);(this||t).H.push((this||t).C.restore.bind((this||t).C))},transform:function(i,o,s,h,v,m){const y=(this||t).S,w=y.length-6;y.splice(w,6,y[w]*i+y[w+2]*o,y[w+1]*i+y[w+3]*o,y[w]*s+y[w+2]*h,y[w+1]*s+y[w+3]*h,y[w]*v+y[w+2]*m+y[w+4],y[w+1]*v+y[w+3]*m+y[w+5]);(this||t).H.push((this||t).C.transform.bind((this||t).C,i,o,s,h,v,m))},rotate:function(t){const i=Math.sin(t);t=Math.cos(t);this.transform(t,i,-i,t,0,0)},_drawPath:function(i,o){(this||t).H.push(o.draw.bind(o,(this||t).C,i.T,i.Va===L?\"evenodd\":\"nonzero\"))},_drawRiveImage:function(i,o,s){var h=i.Fb;if(h){var v=(this||t).C,m=a(o);(this||t).H.push((function(){v.globalCompositeOperation=m;v.globalAlpha=s;v.drawImage(h,0,0);v.globalAlpha=1}))}},_getMatrix:function(i){const o=(this||t).S,s=o.length-6;for(let t=0;6>t;++t)i[t]=o[s+t]},_drawImageMesh:function(i,o,s,h,m,y,_,A,R,C){var E=(this||t).C.canvas.width,L=(this||t).C.canvas.height;const T=R-_,P=C-A;_=Math.max(_,0);A=Math.max(A,0);R=Math.min(R,E);C=Math.min(C,L);const M=R-_,F=C-A;console.assert(M<=Math.min(T,E));console.assert(F<=Math.min(P,L));if(!(0>=M||0>=F)){R=M<T||F<P;E=C=1;var D=Math.ceil(M*C),U=Math.ceil(F*E);L=w.hc();D>L&&(C*=L/D,D=L);U>L&&(E*=L/U,U=L);j||(j=new v.DynamicRectanizer(L),j.reset(512,512));L=j.addRect(D,U);0>L&&(c(),x.add(this||t),L=j.addRect(D,U),console.assert(0<=L));var N=L&65535,$=L>>16;O.push({ha:(this||t).S.slice((this||t).S.length-6),image:i,Ya:N,Za:$,ic:_,jc:A,Ac:D,jb:U,Ba:C,Ca:E,Ta:new Float32Array(h),Db:new Float32Array(m),indices:new Uint16Array(y),mc:R,wb:i.Ka<<1|(R?1:0)});I+=h.length;k+=y.length;var z=(this||t).C,X=a(o);(this||t).H.push((function(){z.save();z.resetTransform();z.globalCompositeOperation=X;z.globalAlpha=s;const t=w.canvas();t&&z.drawImage(t,N,$,D,U,_,A,M,F);z.restore()}))}},_clipPath:function(i){(this||t).H.push((this||t).C.clip.bind((this||t).C,i.T,i.Va===L?\"evenodd\":\"nonzero\"))},clear:function(){x.add(this||t);(this||t).H.push((this||t).C.clearRect.bind((this||t).C,0,0,(this||t).Ua.width,(this||t).Ua.height))},flush:function(){},translate:function(t,i){this.transform(1,0,0,1,t,i)}});v.makeRenderer=function(t){const i=new D(t),o=i.C;return new Proxy(i,{get(t,s){if(\"function\"===typeof t[s])return function(...i){return t[s].apply(t,i)};if(\"function\"===typeof o[s]){if(-1<y.indexOf(s))throw Error(\"RiveException: Method call to '\"+s+\"()' is not allowed, as the renderer cannot immediately pass through the return                 values of any canvas 2d context methods.\");return function(...t){i.H.push(o[s].bind(o,...t))}}return t[s]},set(t,s,h){if(s in o)return i.H.push((()=>{o[s]=h})),!0}})};v.decodeImage=function(t,i){new P({la:i}).decode(t)};v.renderFactory={makeRenderPaint:function(){return new F},makeRenderPath:function(){return new M},makeRenderImage:function(){let t=N;return new P({xa:()=>{t.total++},la:()=>{t.loaded++;if(t.loaded===t.total){const i=t.ready;i&&(i(),t.ready=null)}}})}};let U=v.load,N=null;v.load=function(t,i,o=!0){const s=new v.FallbackFileAssetLoader;void 0!==i&&s.addLoader(i);o&&(i=new v.CDNFileAssetLoader,s.addLoader(i));return new Promise((function(i){let o=null;N={total:0,loaded:0,ready:function(){i(o)}};o=U(t,s);0==N.total&&i(o)}))};let $=v.RendererWrapper.prototype.align;v.RendererWrapper.prototype.align=function(i,o,s,h,v=1){$.call(this||t,i,o,s,h,v)};i=new fa;v.requestAnimationFrame=i.requestAnimationFrame.bind(i);v.cancelAnimationFrame=i.cancelAnimationFrame.bind(i);v.enableFPSCounter=i.Rb.bind(i);v.disableFPSCounter=i.Ob;i.ob=c;v.resolveAnimationFrame=c;v.cleanup=function(){j&&j.delete()}};var A,R,C=Object.assign({},v),E=\"./this.program\",L=\"object\"==typeof window,T=\"function\"==typeof importScripts,P=\"\";(L||T)&&(T?P=self.location.href:\"undefined\"!=typeof document&&document.currentScript&&(P=document.currentScript.src),i&&(P=i),P=0!==P.indexOf(\"blob:\")?P.substr(0,P.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):\"\",T&&(R=t=>{var i=new XMLHttpRequest;i.open(\"GET\",t,!1);i.responseType=\"arraybuffer\";i.send(null);return new Uint8Array(i.response)}),A=(t,i,o)=>{var s=new XMLHttpRequest;s.open(\"GET\",t,!0);s.responseType=\"arraybuffer\";s.onload=()=>{200==s.status||0==s.status&&s.response?i(s.response):o()};s.onerror=o;s.send(null)});var M=v.print||console.log.bind(console),F=v.printErr||console.error.bind(console);Object.assign(v,C);C=null;v.thisProgram&&(E=v.thisProgram);var x;v.wasmBinary&&(x=v.wasmBinary);v.noExitRuntime;\"object\"!=typeof WebAssembly&&Aa(\"no native wasm support detected\");var j,O,I,k,D,U,N,$,z,X,H=!1;function Ja(){var t=j.buffer;v.HEAP8=I=new Int8Array(t);v.HEAP16=D=new Int16Array(t);v.HEAP32=N=new Int32Array(t);v.HEAPU8=k=new Uint8Array(t);v.HEAPU16=U=new Uint16Array(t);v.HEAPU32=$=new Uint32Array(t);v.HEAPF32=z=new Float32Array(t);v.HEAPF64=X=new Float64Array(t)}var G,q=[],J=[],K=[];function Oa(){var t=v.preRun.shift();q.unshift(t)}var Q=0,ee=null,te=null;function Aa(t){v.onAbort&&v.onAbort(t);t=\"Aborted(\"+t+\")\";F(t);H=!0;t=new WebAssembly.RuntimeError(t+\". Build with -sASSERTIONS for more info.\");h(t);throw t}function Sa(t){return t.startsWith(\"data:application/octet-stream;base64,\")}var ne;ne=\"canvas_advanced.wasm\";if(!Sa(ne)){var re=ne;ne=v.locateFile?v.locateFile(re,P):P+re}function Va(t){if(t==ne&&x)return new Uint8Array(x);if(R)return R(t);throw\"both async and sync fetching of the wasm failed\"}function Wa(t){if(!x&&(L||T)){if(\"function\"==typeof fetch&&!t.startsWith(\"file://\"))return fetch(t,{credentials:\"same-origin\"}).then((i=>{if(!i.ok)throw\"failed to load wasm binary file at '\"+t+\"'\";return i.arrayBuffer()})).catch((()=>Va(t)));if(A)return new Promise(((i,o)=>{A(t,(t=>i(new Uint8Array(t))),o)}))}return Promise.resolve().then((()=>Va(t)))}function Xa(t,i,o){return Wa(t).then((t=>WebAssembly.instantiate(t,i))).then((t=>t)).then(o,(t=>{F(\"failed to asynchronously prepare wasm: \"+t);Aa(t)}))}function Ya(t,i){var o=ne;return x||\"function\"!=typeof WebAssembly.instantiateStreaming||Sa(o)||o.startsWith(\"file://\")||\"function\"!=typeof fetch?Xa(o,t,i):fetch(o,{credentials:\"same-origin\"}).then((s=>WebAssembly.instantiateStreaming(s,t).then(i,(function(s){F(\"wasm streaming compile failed: \"+s);F(\"falling back to ArrayBuffer instantiation\");return Xa(o,t,i)}))))}var ie,ae,oe={447260:(t,i,o,s,h)=>{if(\"undefined\"===typeof window||void 0===(window.AudioContext||window.webkitAudioContext))return 0;if(\"undefined\"===typeof window.h){window.h={Aa:0};window.h.I={};window.h.I.ya=t;window.h.I.capture=i;window.h.I.La=o;window.h.ga={};window.h.ga.stopped=s;window.h.ga.xb=h;let v=window.h;v.D=[];v.yc=function(t){for(var i=0;i<v.D.length;++i)if(null==v.D[i])return v.D[i]=t,i;v.D.push(t);return v.D.length-1};v.Cb=function(t){for(v.D[t]=null;0<v.D.length;){if(null!=v.D[v.D.length-1])break;v.D.pop()}};v.Sc=function(t){for(var i=0;i<v.D.length;++i)if(v.D[i]==t)return v.Cb(i)};v.ra=function(t){return v.D[t]};v.Bb=[\"touchend\",\"click\"];v.unlock=function(){for(var t=0;t<v.D.length;++t){var i=v.D[t];null!=i&&null!=i.J&&i.state===v.ga.xb&&i.J.resume().then((()=>{rt(i.pb)}),(t=>{console.error(\"Failed to resume audiocontext\",t)}))}v.Bb.map((function(t){document.removeEventListener(t,v.unlock,!0)}))};v.Bb.map((function(t){document.addEventListener(t,v.unlock,!0)}))}window.h.Aa+=1;return 1},449438:()=>{\"undefined\"!==typeof window.h&&(--window.h.Aa,0===window.h.Aa&&delete window.h)},449602:()=>void 0!==navigator.mediaDevices&&void 0!==navigator.mediaDevices.getUserMedia,449706:()=>{try{var t=new(window.AudioContext||window.webkitAudioContext),i=t.sampleRate;t.close();return i}catch(t){return 0}},449877:(t,i,o,s,h,v)=>{if(\"undefined\"===typeof window.h)return-1;var m={},y={};t==window.h.I.ya&&0!=o&&(y.sampleRate=o);m.J=new(window.AudioContext||window.webkitAudioContext)(y);m.J.suspend();m.state=window.h.ga.stopped;o=0;t!=window.h.I.ya&&(o=i);m.Z=m.J.createScriptProcessor(s,o,i);m.Z.onaudioprocess=function(o){null!=m.sa&&0!=m.sa.length||(m.sa=new Float32Array(z.buffer,h,s*i));if(t==window.h.I.capture||t==window.h.I.La){for(var y=0;y<i;y+=1)for(var w=o.inputBuffer.getChannelData(y),_=m.sa,A=0;A<s;A+=1)_[A*i+y]=w[A];it(v,s,h)}if(t==window.h.I.ya||t==window.h.I.La)for(at(v,s,h),y=0;y<o.outputBuffer.numberOfChannels;++y)for(w=o.outputBuffer.getChannelData(y),_=m.sa,A=0;A<s;A+=1)w[A]=_[A*i+y];else for(y=0;y<o.outputBuffer.numberOfChannels;++y)o.outputBuffer.getChannelData(y).fill(0)};t!=window.h.I.capture&&t!=window.h.I.La||navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then((function(t){m.Da=m.J.createMediaStreamSource(t);m.Da.connect(m.Z);m.Z.connect(m.J.destination)})).catch((function(t){console.log(\"Failed to get user media: \"+t)}));t==window.h.I.ya&&m.Z.connect(m.J.destination);m.pb=v;return window.h.yc(m)},452754:t=>window.h.ra(t).J.sampleRate,452827:t=>{t=window.h.ra(t);void 0!==t.Z&&(t.Z.onaudioprocess=function(){},t.Z.disconnect(),t.Z=void 0);void 0!==t.Da&&(t.Da.disconnect(),t.Da=void 0);t.J.close();t.J=void 0;t.pb=void 0},453227:t=>{window.h.Cb(t)},453277:t=>{t=window.h.ra(t);t.J.resume();t.state=window.h.ga.xb},453416:t=>{t=window.h.ra(t);t.J.suspend();t.state=window.h.ga.stopped}},eb=t=>{for(;0<t.length;)t.shift()(v)},fb=(t,i)=>{for(var o=0,s=t.length-1;0<=s;s--){var h=t[s];\".\"===h?t.splice(s,1):\"..\"===h?(t.splice(s,1),o++):o&&(t.splice(s,1),o--)}if(i)for(;o;o--)t.unshift(\"..\");return t},gb=t=>{var i=\"/\"===t.charAt(0),o=\"/\"===t.substr(-1);(t=fb(t.split(\"/\").filter((t=>!!t)),!i).join(\"/\"))||i||(t=\".\");t&&o&&(t+=\"/\");return(i?\"/\":\"\")+t},hb=t=>{var i=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(t).slice(1);t=i[0];i=i[1];if(!t&&!i)return\".\";i&&(i=i.substr(0,i.length-1));return t+i},ib=t=>{if(\"/\"===t)return\"/\";t=gb(t);t=t.replace(/\\/$/,\"\");var i=t.lastIndexOf(\"/\");return-1===i?t:t.substr(i+1)},jb=()=>{if(\"object\"==typeof crypto&&\"function\"==typeof crypto.getRandomValues)return t=>crypto.getRandomValues(t);Aa(\"initRandomDevice\")},kb=t=>(kb=jb())(t);function lb(){for(var t=\"\",i=!1,o=arguments.length-1;-1<=o&&!i;o--){i=0<=o?arguments[o]:\"/\";if(\"string\"!=typeof i)throw new TypeError(\"Arguments to path.resolve must be strings\");if(!i)return\"\";t=i+\"/\"+t;i=\"/\"===i.charAt(0)}t=fb(t.split(\"/\").filter((t=>!!t)),!i).join(\"/\");return(i?\"/\":\"\")+t||\".\"}var se=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf8\"):void 0,nb=(t,i,o)=>{var s=i+o;for(o=i;t[o]&&!(o>=s);)++o;if(16<o-i&&t.buffer&&se)return se.decode(t.subarray(i,o));for(s=\"\";i<o;){var h=t[i++];if(h&128){var v=t[i++]&63;if(192==(h&224))s+=String.fromCharCode((h&31)<<6|v);else{var m=t[i++]&63;h=224==(h&240)?(h&15)<<12|v<<6|m:(h&7)<<18|v<<12|m<<6|t[i++]&63;65536>h?s+=String.fromCharCode(h):(h-=65536,s+=String.fromCharCode(55296|h>>10,56320|h&1023))}}else s+=String.fromCharCode(h)}return s},ue=[],pb=t=>{for(var i=0,o=0;o<t.length;++o){var s=t.charCodeAt(o);127>=s?i++:2047>=s?i+=2:55296<=s&&57343>=s?(i+=4,++o):i+=3}return i},qb=(t,i,o,s)=>{if(!(0<s))return 0;var h=o;s=o+s-1;for(var v=0;v<t.length;++v){var m=t.charCodeAt(v);if(55296<=m&&57343>=m){var y=t.charCodeAt(++v);m=65536+((m&1023)<<10)|y&1023}if(127>=m){if(o>=s)break;i[o++]=m}else{if(2047>=m){if(o+1>=s)break;i[o++]=192|m>>6}else{if(65535>=m){if(o+2>=s)break;i[o++]=224|m>>12}else{if(o+3>=s)break;i[o++]=240|m>>18;i[o++]=128|m>>12&63}i[o++]=128|m>>6&63}i[o++]=128|m&63}}i[o]=0;return o-h};function rb(t,i){var o=Array(pb(t)+1);t=qb(t,o,0,o.length);i&&(o.length=t);return o}var ce=[];function tb(t,i){ce[t]={input:[],F:[],V:i};ub(t,le)}var le={open:function(t){var i=ce[t.node.za];if(!i)throw new Ce(43);t.s=i;t.seekable=!1},close:function(t){t.s.V.qa(t.s)},qa:function(t){t.s.V.qa(t.s)},read:function(t,i,o,s){if(!t.s||!t.s.V.ib)throw new Ce(60);for(var h=0,v=0;v<s;v++){try{var m=t.s.V.ib(t.s)}catch(t){throw new Ce(29)}if(void 0===m&&0===h)throw new Ce(6);if(null===m||void 0===m)break;h++;i[o+v]=m}h&&(t.node.timestamp=Date.now());return h},write:function(t,i,o,s){if(!t.s||!t.s.V.Oa)throw new Ce(60);try{for(var h=0;h<s;h++)t.s.V.Oa(t.s,i[o+h])}catch(t){throw new Ce(29)}s&&(t.node.timestamp=Date.now());return h}},he={ib:function(){e:{if(!ue.length){var t=null;\"undefined\"!=typeof window&&\"function\"==typeof window.prompt?(t=window.prompt(\"Input: \"),null!==t&&(t+=\"\\n\")):\"function\"==typeof readline&&(t=readline(),null!==t&&(t+=\"\\n\"));if(!t){t=null;break e}ue=rb(t,!0)}t=ue.shift()}return t},Oa:function(t,i){null===i||10===i?(M(nb(t.F,0)),t.F=[]):0!=i&&t.F.push(i)},qa:function(t){t.F&&0<t.F.length&&(M(nb(t.F,0)),t.F=[])},bc:function(){return{Fc:25856,Hc:5,Ec:191,Gc:35387,Dc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},cc:function(){return 0},dc:function(){return[24,80]}},de={Oa:function(t,i){null===i||10===i?(F(nb(t.F,0)),t.F=[]):0!=i&&t.F.push(i)},qa:function(t){t.F&&0<t.F.length&&(F(nb(t.F,0)),t.F=[])}};function yb(t,i){var o=t.j?t.j.length:0;o>=i||(i=Math.max(i,o*(1048576>o?2:1.125)>>>0),0!=o&&(i=Math.max(i,256)),o=t.j,t.j=new Uint8Array(i),0<t.v&&t.j.set(o.subarray(0,t.v),0))}var fe={O:null,U(){return fe.createNode(null,\"/\",16895,0)},createNode(t,i,o,s){if(24576===(o&61440)||4096===(o&61440))throw new Ce(63);fe.O||(fe.O={dir:{node:{Y:fe.l.Y,P:fe.l.P,ka:fe.l.ka,va:fe.l.va,ub:fe.l.ub,Ab:fe.l.Ab,vb:fe.l.vb,sb:fe.l.sb,Ea:fe.l.Ea},stream:{ba:fe.m.ba}},file:{node:{Y:fe.l.Y,P:fe.l.P},stream:{ba:fe.m.ba,read:fe.m.read,write:fe.m.write,pa:fe.m.pa,lb:fe.m.lb,nb:fe.m.nb}},link:{node:{Y:fe.l.Y,P:fe.l.P,ma:fe.l.ma},stream:{}},$a:{node:{Y:fe.l.Y,P:fe.l.P},stream:Le}});o=Ab(t,i,o,s);16384===(o.mode&61440)?(o.l=fe.O.dir.node,o.m=fe.O.dir.stream,o.j={}):32768===(o.mode&61440)?(o.l=fe.O.file.node,o.m=fe.O.file.stream,o.v=0,o.j=null):40960===(o.mode&61440)?(o.l=fe.O.link.node,o.m=fe.O.link.stream):8192===(o.mode&61440)&&(o.l=fe.O.$a.node,o.m=fe.O.$a.stream);o.timestamp=Date.now();t&&(t.j[i]=o,t.timestamp=o.timestamp);return o},Kc(t){return t.j?t.j.subarray?t.j.subarray(0,t.v):new Uint8Array(t.j):new Uint8Array(0)},l:{Y(t){var i={};i.Jc=8192===(t.mode&61440)?t.id:1;i.Mc=t.id;i.mode=t.mode;i.Oc=1;i.uid=0;i.Lc=0;i.za=t.za;16384===(t.mode&61440)?i.size=4096:32768===(t.mode&61440)?i.size=t.v:40960===(t.mode&61440)?i.size=t.link.length:i.size=0;i.Bc=new Date(t.timestamp);i.Nc=new Date(t.timestamp);i.Ic=new Date(t.timestamp);i.Jb=4096;i.Cc=Math.ceil(i.size/i.Jb);return i},P(t,i){void 0!==i.mode&&(t.mode=i.mode);void 0!==i.timestamp&&(t.timestamp=i.timestamp);if(void 0!==i.size&&(i=i.size,t.v!=i))if(0==i)t.j=null,t.v=0;else{var o=t.j;t.j=new Uint8Array(i);o&&t.j.set(o.subarray(0,Math.min(i,t.v)));t.v=i}},ka(){throw Ee[44]},va(t,i,o,s){return fe.createNode(t,i,o,s)},ub(t,i,o){if(16384===(t.mode&61440)){try{var s=Cb(i,o)}catch(t){}if(s)for(var h in s.j)throw new Ce(55)}delete t.parent.j[t.name];t.parent.timestamp=Date.now();t.name=o;i.j[o]=t;i.timestamp=t.parent.timestamp;t.parent=i},Ab(t,i){delete t.j[i];t.timestamp=Date.now()},vb(t,i){var o,s=Cb(t,i);for(o in s.j)throw new Ce(55);delete t.j[i];t.timestamp=Date.now()},sb(t){var i,o=[\".\",\"..\"];for(i in t.j)t.j.hasOwnProperty(i)&&o.push(i);return o},Ea(t,i,o){t=fe.createNode(t,i,41471,0);t.link=o;return t},ma(t){if(40960!==(t.mode&61440))throw new Ce(28);return t.link}},m:{read(t,i,o,s,h){var v=t.node.j;if(h>=t.node.v)return 0;t=Math.min(t.node.v-h,s);if(8<t&&v.subarray)i.set(v.subarray(h,h+t),o);else for(s=0;s<t;s++)i[o+s]=v[h+s];return t},write(t,i,o,s,h,v){i.buffer===I.buffer&&(v=!1);if(!s)return 0;t=t.node;t.timestamp=Date.now();if(i.subarray&&(!t.j||t.j.subarray)){if(v)return t.j=i.subarray(o,o+s),t.v=s;if(0===t.v&&0===h)return t.j=i.slice(o,o+s),t.v=s;if(h+s<=t.v)return t.j.set(i.subarray(o,o+s),h),s}yb(t,h+s);if(t.j.subarray&&i.subarray)t.j.set(i.subarray(o,o+s),h);else for(v=0;v<s;v++)t.j[h+v]=i[o+v];t.v=Math.max(t.v,h+s);return s},ba(t,i,o){1===o?i+=t.position:2===o&&32768===(t.node.mode&61440)&&(i+=t.node.v);if(0>i)throw new Ce(28);return i},pa(t,i,o){yb(t.node,i+o);t.node.v=Math.max(t.node.v,i+o)},lb(t,i,o,s,h){if(32768!==(t.node.mode&61440))throw new Ce(43);t=t.node.j;if(h&2||t.buffer!==I.buffer){(0<o||o+i<t.length)&&(t=t.subarray?t.subarray(o,o+i):Array.prototype.slice.call(t,o,o+i));o=!0;Aa();i=void 0;if(!i)throw new Ce(48);I.set(t,i)}else o=!1,i=t.byteOffset;return{o:i,M:o}},nb(t,i,o,s){fe.m.write(t,i,0,s,o,!1);return 0}}};function Db(t,i){var o=0;t&&(o|=365);i&&(o|=146);return o}var pe,ve,me,be,ge=null,ye={},we=[],_e=1,Ae=null,Re=!0,Ce=null,Ee={},Lb=(t,i={})=>{t=lb(t);if(!t)return{path:\"\",node:null};i=Object.assign({gb:!0,Qa:0},i);if(8<i.Qa)throw new Ce(32);t=t.split(\"/\").filter((t=>!!t));for(var o=ge,s=\"/\",h=0;h<t.length;h++){var v=h===t.length-1;if(v&&i.parent)break;o=Cb(o,t[h]);s=gb(s+\"/\"+t[h]);o.wa&&(!v||v&&i.gb)&&(o=o.wa.root);if(!v||i.fb)for(v=0;40960===(o.mode&61440);)if(o=Kb(s),s=lb(hb(s),o),o=Lb(s,{Qa:i.Qa+1}).node,40<v++)throw new Ce(32)}return{path:s,node:o}},Mb=t=>{for(var i;;){if(t===t.parent)return t=t.U.mb,i?\"/\"!==t[t.length-1]?`${t}/${i}`:t+i:t;i=i?`${t.name}/${i}`:t.name;t=t.parent}},Nb=(t,i)=>{for(var o=0,s=0;s<i.length;s++)o=(o<<5)-o+i.charCodeAt(s)|0;return(t+o>>>0)%Ae.length},Cb=(t,i)=>{var o;if(o=(o=Ob(t,\"x\"))?o:t.l.ka?0:2)throw new Ce(o,t);for(o=Ae[Nb(t.id,i)];o;o=o.lc){var s=o.name;if(o.parent.id===t.id&&s===i)return o}return t.l.ka(t,i)},Ab=(t,i,o,s)=>{t=new Pb(t,i,o,s);i=Nb(t.parent.id,t.name);t.lc=Ae[i];return Ae[i]=t},Qb=t=>{var i=[\"r\",\"w\",\"rw\"][t&3];t&512&&(i+=\"w\");return i},Ob=(t,i)=>Re?0:!i.includes(\"r\")||t.mode&292?i.includes(\"w\")&&!(t.mode&146)||i.includes(\"x\")&&!(t.mode&73)?2:0:2,Rb=(t,i)=>{try{return Cb(t,i),20}catch(t){}return Ob(t,\"wx\")},Sb=()=>{for(var t=0;4096>=t;t++)if(!we[t])return t;throw new Ce(33)},Tb=t=>{t=we[t];if(!t)throw new Ce(8);return t},Vb=(i,o=-1)=>{me||(me=function(){(this||t).h={}},me.prototype={},Object.defineProperties(me.prototype,{object:{get(){return(this||t).node},set(i){(this||t).node=i}},flags:{get(){return(this||t).h.flags},set(i){(this||t).h.flags=i}},position:{get(){return(this||t).h.position},set(i){(this||t).h.position=i}}}));i=Object.assign(new me,i);-1==o&&(o=Sb());i.X=o;return we[o]=i},Le={open:t=>{t.m=ye[t.node.za].m;t.m.open&&t.m.open(t)},ba:()=>{throw new Ce(70)}},ub=(t,i)=>{ye[t]={m:i}},Wb=(t,i)=>{var o=\"/\"===i,s=!i;if(o&&ge)throw new Ce(10);if(!o&&!s){var h=Lb(i,{gb:!1});i=h.path;h=h.node;if(h.wa)throw new Ce(10);if(16384!==(h.mode&61440))throw new Ce(54)}i={type:t,Qc:{},mb:i,kc:[]};t=t.U(i);t.U=i;i.root=t;o?ge=t:h&&(h.wa=i,h.U&&h.U.kc.push(i))},S=(t,i,o)=>{var s=Lb(t,{parent:!0}).node;t=ib(t);if(!t||\".\"===t||\"..\"===t)throw new Ce(28);var h=Rb(s,t);if(h)throw new Ce(h);if(!s.l.va)throw new Ce(63);return s.l.va(s,t,i,o)},Xb=(t,i,o)=>{\"undefined\"==typeof o&&(o=i,i=438);S(t,i|8192,o)},cc=(t,i)=>{if(!lb(t))throw new Ce(44);var o=Lb(i,{parent:!0}).node;if(!o)throw new Ce(44);i=ib(i);var s=Rb(o,i);if(s)throw new Ce(s);if(!o.l.Ea)throw new Ce(63);o.l.Ea(o,i,t)},Kb=t=>{t=Lb(t).node;if(!t)throw new Ce(44);if(!t.l.ma)throw new Ce(28);return lb(Mb(t.parent),t.l.ma(t))},ec=(t,i,o)=>{if(\"\"===t)throw new Ce(44);if(\"string\"==typeof i){var s={r:0,\"r+\":2,w:577,\"w+\":578,a:1089,\"a+\":1090}[i];if(\"undefined\"==typeof s)throw Error(`Unknown file open mode: ${i}`);i=s}o=i&64?(\"undefined\"==typeof o?438:o)&4095|32768:0;if(\"object\"==typeof t)var h=t;else{t=gb(t);try{h=Lb(t,{fb:!(i&131072)}).node}catch(t){}}s=!1;if(i&64)if(h){if(i&128)throw new Ce(20)}else h=S(t,o,0),s=!0;if(!h)throw new Ce(44);8192===(h.mode&61440)&&(i&=-513);if(i&65536&&16384!==(h.mode&61440))throw new Ce(54);if(!s&&(o=h?40960===(h.mode&61440)?32:16384===(h.mode&61440)&&(\"r\"!==Qb(i)||i&512)?31:Ob(h,Qb(i)):44))throw new Ce(o);if(i&512&&!s){o=h;o=\"string\"==typeof o?Lb(o,{fb:!0}).node:o;if(!o.l.P)throw new Ce(63);if(16384===(o.mode&61440))throw new Ce(31);if(32768!==(o.mode&61440))throw new Ce(28);if(s=Ob(o,\"w\"))throw new Ce(s);o.l.P(o,{size:0,timestamp:Date.now()})}i&=-131713;h=Vb({node:h,path:Mb(h),flags:i,seekable:!0,position:0,m:h.m,zc:[],error:!1});h.m.open&&h.m.open(h);!v.logReadFiles||i&1||(be||(be={}),t in be||(be[t]=1));return h},fc=(t,i,o)=>{if(null===t.X)throw new Ce(8);if(!t.seekable||!t.m.ba)throw new Ce(70);if(0!=o&&1!=o&&2!=o)throw new Ce(28);t.position=t.m.ba(t,i,o);t.zc=[]},gc=()=>{Ce||(Ce=function(i,o){(this||t).name=\"ErrnoError\";(this||t).node=o;(this||t).pc=function(i){(this||t).aa=i};this.pc(i);(this||t).message=\"FS error\"},Ce.prototype=Error(),Ce.prototype.constructor=Ce,[44].forEach((t=>{Ee[t]=new Ce(t);Ee[t].stack=\"<generic error, no stack>\"})))},jc=(t,i,o)=>{t=gb(\"/dev/\"+t);var s=Db(!!i,!!o);ve||(ve=64);var h=ve++<<8;ub(h,{open:t=>{t.seekable=!1},close:()=>{o&&o.buffer&&o.buffer.length&&o(10)},read:(t,o,s,h)=>{for(var v=0,m=0;m<h;m++){try{var y=i()}catch(t){throw new Ce(29)}if(void 0===y&&0===v)throw new Ce(6);if(null===y||void 0===y)break;v++;o[s+m]=y}v&&(t.node.timestamp=Date.now());return v},write:(t,i,s,h)=>{for(var v=0;v<h;v++)try{o(i[s+v])}catch(t){throw new Ce(29)}h&&(t.node.timestamp=Date.now());return v}});Xb(t,s,h)},Te={},Pe=void 0;function mc(){Pe+=4;return N[Pe-4>>2]}function nc(t){if(void 0===t)return\"_unknown\";t=t.replace(/[^a-zA-Z0-9_]/g,\"$\");var i=t.charCodeAt(0);return 48<=i&&57>=i?`_${t}`:t}function oc(i,o){i=nc(i);return{[i]:function(){return o.apply(this||t,arguments)}}[i]}function pc(){(this||t).M=[void 0];(this||t).hb=[]}var Me=new pc,Fe=void 0;function V(t){throw new Fe(t)}var rc=t=>{t||V(\"Cannot use deleted val. handle = \"+t);return Me.get(t).value},sc=t=>{switch(t){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return Me.pa({tb:1,value:t})}};function tc(i){var o=Error,s=oc(i,(function(o){(this||t).name=i;(this||t).message=o;o=Error(o).stack;void 0!==o&&((this||t).stack=this.toString()+\"\\n\"+o.replace(/^Error(:[^\\n]*)?\\n/,\"\"))}));s.prototype=Object.create(o.prototype);s.prototype.constructor=s;s.prototype.toString=function(){return void 0===(this||t).message?(this||t).name:`${(this||t).name}: ${(this||t).message}`};return s}var Se=void 0,xe=void 0;function W(t){for(var i=\"\";k[t];)i+=xe[k[t++]];return i}var je=[];function xc(){for(;je.length;){var t=je.pop();t.g.fa=!1;t.delete()}}var Oe=void 0,Ie={};function Ac(t,i){for(void 0===i&&V(\"ptr should not be undefined\");t.A;)i=t.na(i),t=t.A;return i}var ke={};function Cc(t){t=Dc(t);var i=W(t);Ec(t);return i}function Fc(t,i){var o=ke[t];void 0===o&&V(i+\" has unknown type \"+Cc(t));return o}function Gc(){}var De=!1;function Ic(t){--t.count.value;0===t.count.value&&(t.G?t.L.W(t.G):t.u.i.W(t.o))}function Jc(t,i,o){if(i===o)return t;if(void 0===o.A)return null;t=Jc(t,i,o.A);return null===t?null:o.Pb(t)}var We={};function Lc(t,i){i=Ac(t,i);return Ie[i]}var Ue=void 0;function Nc(t){throw new Ue(t)}function Oc(t,i){i.u&&i.o||Nc(\"makeClassHandle requires ptr and ptrType\");!!i.L!==!!i.G&&Nc(\"Both smartPtrType and smartPtr must be specified\");i.count={value:1};return Pc(Object.create(t,{g:{value:i}}))}function Pc(t){if(\"undefined\"===typeof FinalizationRegistry)return Pc=t=>t,t;De=new FinalizationRegistry((t=>{Ic(t.g)}));Pc=t=>{var i=t.g;i.G&&De.register(t,{g:i},t);return t};Gc=t=>{De.unregister(t)};return Pc(t)}var Be={};function Rc(t){for(;t.length;){var i=t.pop();t.pop()(i)}}function Sc(t){return this.fromWireType(N[t>>2])}var Ve={},Ne={};function Y(t,i,o){function d(i){i=o(i);i.length!==t.length&&Nc(\"Mismatched type converter count\");for(var s=0;s<t.length;++s)Vc(t[s],i[s])}t.forEach((function(t){Ne[t]=i}));var s=Array(i.length),h=[],v=0;i.forEach(((t,i)=>{ke.hasOwnProperty(t)?s[i]=ke[t]:(h.push(t),Ve.hasOwnProperty(t)||(Ve[t]=[]),Ve[t].push((()=>{s[i]=ke[t];++v;v===h.length&&d(s)})))}));0===h.length&&d(s)}function Wc(t){switch(t){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${t}`)}}function Xc(t,i,o={}){var s=i.name;t||V(`type \"${s}\" must have a positive integer typeid pointer`);if(ke.hasOwnProperty(t)){if(o.$b)return;V(`Cannot register type '${s}' twice`)}ke[t]=i;delete Ne[t];Ve.hasOwnProperty(t)&&(i=Ve[t],delete Ve[t],i.forEach((t=>t())))}function Vc(t,i,o={}){if(!(\"argPackAdvance\"in i))throw new TypeError(\"registerType registeredInstance requires argPackAdvance\");Xc(t,i,o)}function Yc(t){V(t.g.u.i.name+\" instance already deleted\")}function Zc(){}function $c(i,o,s){if(void 0===i[o].B){var h=i[o];i[o]=function(){i[o].B.hasOwnProperty(arguments.length)||V(`Function '${s}' called with an invalid number of arguments (${arguments.length}) - expects one of (${i[o].B})!`);return i[o].B[arguments.length].apply(this||t,arguments)};i[o].B=[];i[o].B[h.ea]=h}}function ad(t,i,o){v.hasOwnProperty(t)?((void 0===o||void 0!==v[t].B&&void 0!==v[t].B[o])&&V(`Cannot register public name '${t}' twice`),$c(v,t,t),v.hasOwnProperty(o)&&V(`Cannot register multiple overloads of a function with the same number of arguments (${o})!`),v[t].B[o]=i):(v[t]=i,void 0!==o&&(v[t].Pc=o))}function bd(i,o,s,h,v,m,y,w){(this||t).name=i;(this||t).constructor=o;(this||t).N=s;(this||t).W=h;(this||t).A=v;(this||t).Ub=m;(this||t).na=y;(this||t).Pb=w;(this||t).qb=[]}function cd(t,i,o){for(;i!==o;)i.na||V(`Expected null or instance of ${o.name}, got an instance of ${i.name}`),t=i.na(t),i=i.A;return t}function dd(i,o){if(null===o)return(this||t).Na&&V(`null is not a valid ${(this||t).name}`),0;o.g||V(`Cannot pass \"${ed(o)}\" as a ${(this||t).name}`);o.g.o||V(`Cannot pass deleted object as a pointer of type ${(this||t).name}`);return cd(o.g.o,o.g.u.i,(this||t).i)}function fd(i,o){if(null===o){(this||t).Na&&V(`null is not a valid ${(this||t).name}`);if((this||t).ua){var s=this.Pa();null!==i&&i.push((this||t).W,s);return s}return 0}o.g||V(`Cannot pass \"${ed(o)}\" as a ${(this||t).name}`);o.g.o||V(`Cannot pass deleted object as a pointer of type ${(this||t).name}`);!(this||t).ta&&o.g.u.ta&&V(`Cannot convert argument of type ${o.g.L?o.g.L.name:o.g.u.name} to parameter type ${(this||t).name}`);s=cd(o.g.o,o.g.u.i,(this||t).i);if((this||t).ua)switch(void 0===o.g.G&&V(\"Passing raw pointer to smart pointer is illegal\"),(this||t).tc){case 0:o.g.L===(this||t)?s=o.g.G:V(`Cannot convert argument of type ${o.g.L?o.g.L.name:o.g.u.name} to parameter type ${(this||t).name}`);break;case 1:s=o.g.G;break;case 2:if(o.g.L===(this||t))s=o.g.G;else{var h=o.clone();s=this.oc(s,sc((function(){h.delete()})));null!==i&&i.push((this||t).W,s)}break;default:V(\"Unsupporting sharing policy\")}return s}function gd(i,o){if(null===o)return(this||t).Na&&V(`null is not a valid ${(this||t).name}`),0;o.g||V(`Cannot pass \"${ed(o)}\" as a ${(this||t).name}`);o.g.o||V(`Cannot pass deleted object as a pointer of type ${(this||t).name}`);o.g.u.ta&&V(`Cannot convert argument of type ${o.g.u.name} to parameter type ${(this||t).name}`);return cd(o.g.o,o.g.u.i,(this||t).i)}function hd(i,o,s,h){(this||t).name=i;(this||t).i=o;(this||t).Na=s;(this||t).ta=h;(this||t).ua=!1;(this||t).W=(this||t).oc=(this||t).Pa=(this||t).rb=(this||t).tc=(this||t).nc=void 0;void 0!==o.A?(this||t).toWireType=fd:((this||t).toWireType=h?dd:gd,(this||t).K=null)}function jd(t,i,o){v.hasOwnProperty(t)||Nc(\"Replacing nonexistant public symbol\");void 0!==v[t].B&&void 0!==o?v[t].B[o]=i:(v[t]=i,v[t].ea=o)}var $e=[],ld=t=>{var i=$e[t];i||(t>=$e.length&&($e.length=t+1),$e[t]=i=G.get(t));return i},md=(t,i)=>{var o=[];return function(){o.length=0;Object.assign(o,arguments);if(t.includes(\"j\")){var s=v[\"dynCall_\"+t];s=o&&o.length?s.apply(null,[i].concat(o)):s.call(null,i)}else s=ld(i).apply(null,o);return s}};function Z(t,i){t=W(t);var o=t.includes(\"j\")?md(t,i):ld(i);\"function\"!=typeof o&&V(`unknown function pointer with signature ${t}: ${i}`);return o}var Ye=void 0;function od(t,i){function c(t){s[t]||ke[t]||(Ne[t]?Ne[t].forEach(c):(o.push(t),s[t]=!0))}var o=[],s={};i.forEach(c);throw new Ye(`${t}: `+o.map(Cc).join([\", \"]))}function pd(i,o,s,h,v){var m=o.length;2>m&&V(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");var y=null!==o[1]&&null!==s,w=!1;for(s=1;s<o.length;++s)if(null!==o[s]&&void 0===o[s].K){w=!0;break}var _=\"void\"!==o[0].name,A=m-2,R=Array(A),C=[],E=[];return function(){arguments.length!==A&&V(`function ${i} called with ${arguments.length} arguments, expected ${A} args!`);E.length=0;C.length=y?2:1;C[0]=v;if(y){var s=o[1].toWireType(E,this||t);C[1]=s}for(var m=0;m<A;++m)R[m]=o[m+2].toWireType(E,arguments[m]),C.push(R[m]);m=h.apply(null,C);if(w)Rc(E);else for(var L=y?1:2;L<o.length;L++){var T=1===L?s:R[L-2];null!==o[L].K&&o[L].K(T)}s=_?o[0].fromWireType(m):void 0;return s}}function sd(t,i){for(var o=[],s=0;s<t;s++)o.push($[i+4*s>>2]);return o}function td(t,i,o){t instanceof Object||V(`${o} with invalid \"this\": ${t}`);t instanceof i.i.constructor||V(`${o} incompatible with \"this\" of type ${t.constructor.name}`);t.g.o||V(`cannot call emscripten binding method ${o} on deleted object`);return cd(t.g.o,t.g.u.i,i.i)}function ud(t){t>=Me.h&&0===--Me.get(t).tb&&Me.Zb(t)}function vd(t,i,o){switch(i){case 0:return function(t){return this.fromWireType((o?I:k)[t])};case 1:return function(t){return this.fromWireType((o?D:U)[t>>1])};case 2:return function(t){return this.fromWireType((o?N:$)[t>>2])};default:throw new TypeError(\"Unknown integer type: \"+t)}}function ed(t){if(null===t)return\"null\";var i=typeof t;return\"object\"===i||\"array\"===i||\"function\"===i?t.toString():\"\"+t}function wd(t,i){switch(i){case 2:return function(t){return this.fromWireType(z[t>>2])};case 3:return function(t){return this.fromWireType(X[t>>3])};default:throw new TypeError(\"Unknown float type: \"+t)}}function xd(t,i,o){switch(i){case 0:return o?function(t){return I[t]}:function(t){return k[t]};case 1:return o?function(t){return D[t>>1]}:function(t){return U[t>>1]};case 2:return o?function(t){return N[t>>2]}:function(t){return $[t>>2]};default:throw new TypeError(\"Unknown integer type: \"+t)}}var ze=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf-16le\"):void 0,zd=(t,i)=>{var o=t>>1;for(var s=o+i/2;!(o>=s)&&U[o];)++o;o<<=1;if(32<o-t&&ze)return ze.decode(k.subarray(t,o));o=\"\";for(s=0;!(s>=i/2);++s){var h=D[t+2*s>>1];if(0==h)break;o+=String.fromCharCode(h)}return o},Ad=(t,i,o)=>{void 0===o&&(o=2147483647);if(2>o)return 0;o-=2;var s=i;o=o<2*t.length?o/2:t.length;for(var h=0;h<o;++h)D[i>>1]=t.charCodeAt(h),i+=2;D[i>>1]=0;return i-s},Bd=t=>2*t.length,Cd=(t,i)=>{for(var o=0,s=\"\";!(o>=i/4);){var h=N[t+4*o>>2];if(0==h)break;++o;65536<=h?(h-=65536,s+=String.fromCharCode(55296|h>>10,56320|h&1023)):s+=String.fromCharCode(h)}return s},Dd=(t,i,o)=>{void 0===o&&(o=2147483647);if(4>o)return 0;var s=i;o=s+o-4;for(var h=0;h<t.length;++h){var v=t.charCodeAt(h);if(55296<=v&&57343>=v){var m=t.charCodeAt(++h);v=65536+((v&1023)<<10)|m&1023}N[i>>2]=v;i+=4;if(i+4>o)break}N[i>>2]=0;return i-s},Ed=t=>{for(var i=0,o=0;o<t.length;++o){var s=t.charCodeAt(o);55296<=s&&57343>=s&&++o;i+=4}return i},Xe={};function Gd(t){var i=Xe[t];return void 0===i?W(t):i}var He=[];function Id(t){var i=He.length;He.push(t);return i}function Jd(t,i){for(var o=Array(t),s=0;s<t;++s)o[s]=Fc($[i+4*s>>2],\"parameter \"+s);return o}var Ge,qe=[],Ze=[],Je={},Od=()=>{if(!Ge){var t,i={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(\"object\"==typeof navigator&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:E||\"./this.program\"};for(t in Je)void 0===Je[t]?delete i[t]:i[t]=Je[t];var o=[];for(t in i)o.push(`${t}=${i[t]}`);Ge=o}return Ge},Pd=t=>0===t%4&&(0!==t%100||0===t%400),Ke=[31,29,31,30,31,30,31,31,30,31,30,31],Qe=[31,28,31,30,31,30,31,31,30,31,30,31],Sd=(t,i,o,s)=>{function e(t,i,o){for(t=\"number\"==typeof t?t.toString():t||\"\";t.length<i;)t=o[0]+t;return t}function f(t,i){return e(t,i,\"0\")}function g(t,i){function r(t){return 0>t?-1:0<t?1:0}var o;0===(o=r(t.getFullYear()-i.getFullYear()))&&0===(o=r(t.getMonth()-i.getMonth()))&&(o=r(t.getDate()-i.getDate()));return o}function n(t){switch(t.getDay()){case 0:return new Date(t.getFullYear()-1,11,29);case 1:return t;case 2:return new Date(t.getFullYear(),0,3);case 3:return new Date(t.getFullYear(),0,2);case 4:return new Date(t.getFullYear(),0,1);case 5:return new Date(t.getFullYear()-1,11,31);case 6:return new Date(t.getFullYear()-1,11,30)}}function p(t){var i=t.ca;for(t=new Date(new Date(t.da+1900,0,1).getTime());0<i;){var o=t.getMonth(),s=(Pd(t.getFullYear())?Ke:Qe)[o];if(!(i>s-t.getDate())){t.setDate(t.getDate()+i);break}i-=s-t.getDate()+1,t.setDate(1),11>o?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}o=new Date(t.getFullYear()+1,0,4);i=n(new Date(t.getFullYear(),0,4));o=n(o);return 0>=g(i,t)?0>=g(o,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var h=N[s+40>>2];s={wc:N[s>>2],vc:N[s+4>>2],Fa:N[s+8>>2],Sa:N[s+12>>2],Ga:N[s+16>>2],da:N[s+20>>2],R:N[s+24>>2],ca:N[s+28>>2],Rc:N[s+32>>2],uc:N[s+36>>2],xc:h&&h?nb(k,h):\"\"};o=o?nb(k,o):\"\";h={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var v in h)o=o.replace(new RegExp(v,\"g\"),h[v]);var m=\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),y=\"January February March April May June July August September October November December\".split(\" \");h={\"%a\":t=>m[t.R].substring(0,3),\"%A\":t=>m[t.R],\"%b\":t=>y[t.Ga].substring(0,3),\"%B\":t=>y[t.Ga],\"%C\":t=>f((t.da+1900)/100|0,2),\"%d\":t=>f(t.Sa,2),\"%e\":t=>e(t.Sa,2,\" \"),\"%g\":t=>p(t).toString().substring(2),\"%G\":t=>p(t),\"%H\":t=>f(t.Fa,2),\"%I\":t=>{t=t.Fa;0==t?t=12:12<t&&(t-=12);return f(t,2)},\"%j\":t=>{for(var i=0,o=0;o<=t.Ga-1;i+=(Pd(t.da+1900)?Ke:Qe)[o++]);return f(t.Sa+i,3)},\"%m\":t=>f(t.Ga+1,2),\"%M\":t=>f(t.vc,2),\"%n\":()=>\"\\n\",\"%p\":t=>0<=t.Fa&&12>t.Fa?\"AM\":\"PM\",\"%S\":t=>f(t.wc,2),\"%t\":()=>\"\\t\",\"%u\":t=>t.R||7,\"%U\":t=>f(Math.floor((t.ca+7-t.R)/7),2),\"%V\":t=>{var i=Math.floor((t.ca+7-(t.R+6)%7)/7);2>=(t.R+371-t.ca-2)%7&&i++;if(i)53==i&&(o=(t.R+371-t.ca)%7,4==o||3==o&&Pd(t.da)||(i=1));else{i=52;var o=(t.R+7-t.ca-1)%7;(4==o||5==o&&Pd(t.da%400-1))&&i++}return f(i,2)},\"%w\":t=>t.R,\"%W\":t=>f(Math.floor((t.ca+7-(t.R+6)%7)/7),2),\"%y\":t=>(t.da+1900).toString().substring(2),\"%Y\":t=>t.da+1900,\"%z\":t=>{t=t.uc;var i=0<=t;t=Math.abs(t)/60;return(i?\"+\":\"-\")+String(\"0000\"+(t/60*100+t%60)).slice(-4)},\"%Z\":t=>t.xc,\"%%\":()=>\"%\"};o=o.replace(/%%/g,\"\\0\\0\");for(v in h)o.includes(v)&&(o=o.replace(new RegExp(v,\"g\"),h[v](s)));o=o.replace(/\\0\\0/g,\"%\");v=rb(o,!1);if(v.length>i)return 0;I.set(v,t);return v.length-1};function Pb(i,o,s,h){i||(i=this||t);(this||t).parent=i;(this||t).U=i.U;(this||t).wa=null;(this||t).id=_e++;(this||t).name=o;(this||t).mode=s;(this||t).l={};(this||t).m={};(this||t).za=h}Object.defineProperties(Pb.prototype,{read:{get:function(){return 365===((this||t).mode&365)},set:function(i){i?(this||t).mode|=365:(this||t).mode&=-366}},write:{get:function(){return 146===((this||t).mode&146)},set:function(i){i?(this||t).mode|=146:(this||t).mode&=-147}}});gc();Ae=Array(4096);Wb(fe,\"/\");S(\"/tmp\",16895,0);S(\"/home\",16895,0);S(\"/home/web_user\",16895,0);(()=>{S(\"/dev\",16895,0);ub(259,{read:()=>0,write:(t,i,o,s)=>s});Xb(\"/dev/null\",259);tb(1280,he);tb(1536,de);Xb(\"/dev/tty\",1280);Xb(\"/dev/tty1\",1536);var t=new Uint8Array(1024),i=0,c=()=>{0===i&&(i=kb(t).byteLength);return t[--i]};jc(\"random\",c);jc(\"urandom\",c);S(\"/dev/shm\",16895,0);S(\"/dev/shm/tmp\",16895,0)})();(()=>{S(\"/proc\",16895,0);var t=S(\"/proc/self\",16895,0);S(\"/proc/self/fd\",16895,0);Wb({U:()=>{var i=Ab(t,\"fd\",16895,73);i.l={ka:(t,i)=>{var o=Tb(+i);t={parent:null,U:{mb:\"fake\"},l:{ma:()=>o.path}};return t.parent=t}};return i}},\"/proc/self/fd\")})();Object.assign(pc.prototype,{get(i){return(this||t).M[i]},has(i){return void 0!==(this||t).M[i]},pa(i){var o=(this||t).hb.pop()||(this||t).M.length;(this||t).M[o]=i;return o},Zb(i){(this||t).M[i]=void 0;(this||t).hb.push(i)}});Fe=v.BindingError=class extends Error{constructor(t){super(t);this.name=\"BindingError\"}};Me.M.push({value:void 0},{value:null},{value:!0},{value:!1});Me.h=Me.M.length;v.count_emval_handles=function(){for(var t=0,i=Me.h;i<Me.M.length;++i)void 0!==Me.M[i]&&++t;return t};Se=v.PureVirtualError=tc(\"PureVirtualError\");for(var et=Array(256),tt=0;256>tt;++tt)et[tt]=String.fromCharCode(tt);xe=et;v.getInheritedInstanceCount=function(){return Object.keys(Ie).length};v.getLiveInheritedInstances=function(){var t,i=[];for(t in Ie)Ie.hasOwnProperty(t)&&i.push(Ie[t]);return i};v.flushPendingDeletes=xc;v.setDelayFunction=function(t){Oe=t;je.length&&Oe&&Oe(xc)};Ue=v.InternalError=class extends Error{constructor(t){super(t);this.name=\"InternalError\"}};Zc.prototype.isAliasOf=function(i){if(!((this||t)instanceof Zc&&i instanceof Zc))return!1;var o=(this||t).g.u.i,s=(this||t).g.o,h=i.g.u.i;for(i=i.g.o;o.A;)s=o.na(s),o=o.A;for(;h.A;)i=h.na(i),h=h.A;return o===h&&s===i};Zc.prototype.clone=function(){(this||t).g.o||Yc(this||t);if((this||t).g.ia)return(this||t).g.count.value+=1,this||t;var i=Pc,o=Object,s=o.create,h=Object.getPrototypeOf(this||t),v=(this||t).g;i=i(s.call(o,h,{g:{value:{count:v.count,fa:v.fa,ia:v.ia,o:v.o,u:v.u,G:v.G,L:v.L}}}));i.g.count.value+=1;i.g.fa=!1;return i};Zc.prototype.delete=function(){(this||t).g.o||Yc(this||t);(this||t).g.fa&&!(this||t).g.ia&&V(\"Object already scheduled for deletion\");Gc(this||t);Ic((this||t).g);(this||t).g.ia||((this||t).g.G=void 0,(this||t).g.o=void 0)};Zc.prototype.isDeleted=function(){return!(this||t).g.o};Zc.prototype.deleteLater=function(){(this||t).g.o||Yc(this||t);(this||t).g.fa&&!(this||t).g.ia&&V(\"Object already scheduled for deletion\");je.push(this||t);1===je.length&&Oe&&Oe(xc);(this||t).g.fa=!0;return this||t};hd.prototype.Vb=function(i){(this||t).rb&&(i=this.rb(i));return i};hd.prototype.ab=function(i){(this||t).W&&this.W(i)};hd.prototype.argPackAdvance=8;hd.prototype.readValueFromPointer=Sc;hd.prototype.deleteObject=function(t){null!==t&&t.delete()};hd.prototype.fromWireType=function(i){function b(){return(this||t).ua?Oc((this||t).i.N,{u:(this||t).nc,o:o,L:this||t,G:i}):Oc((this||t).i.N,{u:this||t,o:i})}var o=this.Vb(i);if(!o)return this.ab(i),null;var s=Lc((this||t).i,o);if(void 0!==s){if(0===s.g.count.value)return s.g.o=o,s.g.G=i,s.clone();s=s.clone();this.ab(i);return s}s=(this||t).i.Ub(o);s=We[s];if(!s)return b.call(this||t);s=(this||t).ta?s.Kb:s.pointerType;var h=Jc(o,(this||t).i,s.i);return null===h?b.call(this||t):(this||t).ua?Oc(s.i.N,{u:s,o:h,L:this||t,G:i}):Oc(s.i.N,{u:s,o:h})};Ye=v.UnboundTypeError=tc(\"UnboundTypeError\");var nt={__syscall_fcntl64:function(t,i,o){Pe=o;try{var s=Tb(t);switch(i){case 0:var h=mc();return 0>h?-28:Vb(s,h).X;case 1:case 2:return 0;case 3:return s.flags;case 4:return h=mc(),s.flags|=h,0;case 5:return h=mc(),D[h+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return N[Vd()>>2]=28,-1;default:return-28}}catch(t){if(\"undefined\"==typeof Te||\"ErrnoError\"!==t.name)throw t;return-t.aa}},__syscall_ioctl:function(t,i,o){Pe=o;try{var s=Tb(t);switch(i){case 21509:return s.s?0:-59;case 21505:if(!s.s)return-59;if(s.s.V.bc){i=[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var h=mc();N[h>>2]=25856;N[h+4>>2]=5;N[h+8>>2]=191;N[h+12>>2]=35387;for(var v=0;32>v;v++)I[h+v+17|0]=i[v]||0}return 0;case 21510:case 21511:case 21512:return s.s?0:-59;case 21506:case 21507:case 21508:if(!s.s)return-59;if(s.s.V.cc)for(h=mc(),i=[],v=0;32>v;v++)i.push(I[h+v+17|0]);return 0;case 21519:if(!s.s)return-59;h=mc();return N[h>>2]=0;case 21520:return s.s?-28:-59;case 21531:h=mc();if(!s.m.ac)throw new Ce(59);return s.m.ac(s,i,h);case 21523:if(!s.s)return-59;s.s.V.dc&&(v=[24,80],h=mc(),D[h>>1]=v[0],D[h+2>>1]=v[1]);return 0;case 21524:return s.s?0:-59;case 21515:return s.s?0:-59;default:return-28}}catch(t){if(\"undefined\"==typeof Te||\"ErrnoError\"!==t.name)throw t;return-t.aa}},__syscall_openat:function(t,i,o,s){Pe=s;try{i=i?nb(k,i):\"\";var h=i;if(\"/\"===h.charAt(0))i=h;else{var v=-100===t?\"/\":Tb(t).path;if(0==h.length)throw new Ce(44);i=gb(v+\"/\"+h)}var m=s?mc():0;return ec(i,o,m).X}catch(t){if(\"undefined\"==typeof Te||\"ErrnoError\"!==t.name)throw t;return-t.aa}},_embind_create_inheriting_constructor:function(i,o,s){i=W(i);o=Fc(o,\"wrapper\");s=rc(s);var h=[].slice,v=o.i,m=v.N,y=v.A.N,w=v.A.constructor;i=oc(i,(function(){v.A.qb.forEach(function(i){if((this||t)[i]===y[i])throw new Se(`Pure virtual function ${i} must be implemented in JavaScript`)}.bind(this||t));Object.defineProperty(this||t,\"__parent\",{value:m});(this||t).__construct.apply(this||t,h.call(arguments))}));m.__construct=function(){(this||t)===m&&V(\"Pass correct 'this' to __construct\");var i=w.implement.apply(void 0,[this||t].concat(h.call(arguments)));Gc(i);var o=i.g;i.notifyOnDestruction();o.ia=!0;Object.defineProperties(this||t,{g:{value:o}});Pc(this||t);i=o.o;i=Ac(v,i);Ie.hasOwnProperty(i)?V(`Tried to register registered instance: ${i}`):Ie[i]=this||t};m.__destruct=function(){(this||t)===m&&V(\"Pass correct 'this' to __destruct\");Gc(this||t);var i=(this||t).g.o;i=Ac(v,i);Ie.hasOwnProperty(i)?delete Ie[i]:V(`Tried to unregister unregistered instance: ${i}`)};i.prototype=Object.create(m);for(var _ in s)i.prototype[_]=s[_];return sc(i)},_embind_finalize_value_object:function(t){var i=Be[t];delete Be[t];var o=i.Pa,s=i.W,h=i.eb,v=h.map((t=>t.Yb)).concat(h.map((t=>t.rc)));Y([t],v,(t=>{var v={};h.forEach(((i,o)=>{var s=t[o],m=i.Wb,y=i.Xb,w=t[o+h.length],_=i.qc,A=i.sc;v[i.Sb]={read:t=>s.fromWireType(m(y,t)),write:(t,i)=>{var o=[];_(A,t,w.toWireType(o,i));Rc(o)}}}));return[{name:i.name,fromWireType:function(t){var i,o={};for(i in v)o[i]=v[i].read(t);s(t);return o},toWireType:function(t,i){for(var h in v)if(!(h in i))throw new TypeError(`Missing field: \"${h}\"`);var m=o();for(h in v)v[h].write(m,i[h]);null!==t&&t.push(s,m);return m},argPackAdvance:8,readValueFromPointer:Sc,K:s}]}))},_embind_register_bigint:function(){},_embind_register_bool:function(t,i,o,s,h){var v=Wc(o);i=W(i);Vc(t,{name:i,fromWireType:function(t){return!!t},toWireType:function(t,i){return i?s:h},argPackAdvance:8,readValueFromPointer:function(t){if(1===o)var s=I;else if(2===o)s=D;else{if(4!==o)throw new TypeError(\"Unknown boolean type size: \"+i);s=N}return this.fromWireType(s[t>>v])},K:null})},_embind_register_class:function(i,o,s,h,v,m,y,w,_,A,R,C,E){R=W(R);m=Z(v,m);w&&(w=Z(y,w));A&&(A=Z(_,A));E=Z(C,E);var L=nc(R);ad(L,(function(){od(`Cannot construct ${R} due to unbound types`,[h])}));Y([i,o,s],h?[h]:[],(function(o){o=o[0];if(h){var s=o.i;var v=s.N}else v=Zc.prototype;o=oc(L,(function(){if(Object.getPrototypeOf(this||t)!==y)throw new Fe(\"Use 'new' to construct \"+R);if(void 0===_.$)throw new Fe(R+\" has no accessible constructor\");var i=_.$[arguments.length];if(void 0===i)throw new Fe(`Tried to invoke ctor of ${R} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(_.$).toString()}) parameters instead!`);return i.apply(this||t,arguments)}));var y=Object.create(v,{constructor:{value:o}});o.prototype=y;var _=new bd(R,o,y,E,s,m,w,A);_.A&&(void 0===_.A.oa&&(_.A.oa=[]),_.A.oa.push(_));s=new hd(R,_,!0,!1);v=new hd(R+\"*\",_,!1,!1);var C=new hd(R+\" const*\",_,!1,!0);We[i]={pointerType:v,Kb:C};jd(L,o);return[s,v,C]}))},_embind_register_class_class_function:function(t,i,o,s,h,v,m){var y=sd(o,s);i=W(i);v=Z(h,v);Y([],[t],(function(t){function l(){od(`Cannot call ${s} due to unbound types`,y)}t=t[0];var s=`${t.name}.${i}`;i.startsWith(\"@@\")&&(i=Symbol[i.substring(2)]);var h=t.i.constructor;void 0===h[i]?(l.ea=o-1,h[i]=l):($c(h,i,s),h[i].B[o-1]=l);Y([],y,(function(y){y=pd(s,[y[0],null].concat(y.slice(1)),null,v,m);void 0===h[i].B?(y.ea=o-1,h[i]=y):h[i].B[o-1]=y;if(t.i.oa)for(const o of t.i.oa)o.constructor.hasOwnProperty(i)||(o.constructor[i]=y);return[]}));return[]}))},_embind_register_class_class_property:function(t,i,o,s,h,v,m,y){i=W(i);v=Z(h,v);Y([],[t],(function(t){t=t[0];var h=`${t.name}.${i}`,w={get(){od(`Cannot access ${h} due to unbound types`,[o])},enumerable:!0,configurable:!0};w.set=y?()=>{od(`Cannot access ${h} due to unbound types`,[o])}:()=>{V(`${h} is a read-only property`)};Object.defineProperty(t.i.constructor,i,w);Y([],[o],(function(o){o=o[0];var h={get(){return o.fromWireType(v(s))},enumerable:!0};y&&(y=Z(m,y),h.set=t=>{var i=[];y(s,o.toWireType(i,t));Rc(i)});Object.defineProperty(t.i.constructor,i,h);return[]}));return[]}))},_embind_register_class_constructor:function(t,i,o,s,h,v){var m=sd(i,o);h=Z(s,h);Y([],[t],(function(t){t=t[0];var o=`constructor ${t.name}`;void 0===t.i.$&&(t.i.$=[]);if(void 0!==t.i.$[i-1])throw new Fe(`Cannot register multiple constructors with identical number of parameters (${i-1}) for class '${t.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);t.i.$[i-1]=()=>{od(`Cannot construct ${t.name} due to unbound types`,m)};Y([],m,(function(s){s.splice(1,0,null);t.i.$[i-1]=pd(o,s,null,h,v);return[]}));return[]}))},_embind_register_class_function:function(t,i,o,s,h,v,m,y){var w=sd(o,s);i=W(i);v=Z(h,v);Y([],[t],(function(t){function u(){od(`Cannot call ${s} due to unbound types`,w)}t=t[0];var s=`${t.name}.${i}`;i.startsWith(\"@@\")&&(i=Symbol[i.substring(2)]);y&&t.i.qb.push(i);var h=t.i.N,_=h[i];void 0===_||void 0===_.B&&_.className!==t.name&&_.ea===o-2?(u.ea=o-2,u.className=t.name,h[i]=u):($c(h,i,s),h[i].B[o-2]=u);Y([],w,(function(y){y=pd(s,y,t,v,m);void 0===h[i].B?(y.ea=o-2,h[i]=y):h[i].B[o-2]=y;return[]}));return[]}))},_embind_register_class_property:function(i,o,s,h,v,m,y,w,_,A){o=W(o);v=Z(h,v);Y([],[i],(function(i){i=i[0];var h=`${i.name}.${o}`,R={get(){od(`Cannot access ${h} due to unbound types`,[s,y])},enumerable:!0,configurable:!0};R.set=_?()=>{od(`Cannot access ${h} due to unbound types`,[s,y])}:()=>{V(h+\" is a read-only property\")};Object.defineProperty(i.i.N,o,R);Y([],_?[s,y]:[s],(function(s){var y=s[0],R={get(){var o=td(this||t,i,h+\" getter\");return y.fromWireType(v(m,o))},enumerable:!0};if(_){_=Z(w,_);var C=s[1];R.set=function(o){var s=td(this||t,i,h+\" setter\"),v=[];_(A,s,C.toWireType(v,o));Rc(v)}}Object.defineProperty(i.i.N,o,R);return[]}));return[]}))},_embind_register_emval:function(t,i){i=W(i);Vc(t,{name:i,fromWireType:function(t){var i=rc(t);ud(t);return i},toWireType:function(t,i){return sc(i)},argPackAdvance:8,readValueFromPointer:Sc,K:null})},_embind_register_enum:function(i,o,s,h){function e(){}s=Wc(s);o=W(o);e.values={};Vc(i,{name:o,constructor:e,fromWireType:function(i){return(this||t).constructor.values[i]},toWireType:function(t,i){return i.value},argPackAdvance:8,readValueFromPointer:vd(o,s,h),K:null});ad(o,e)},_embind_register_enum_value:function(t,i,o){var s=Fc(t,\"enum\");i=W(i);t=s.constructor;s=Object.create(s.constructor.prototype,{value:{value:o},constructor:{value:oc(`${s.name}_${i}`,(function(){}))}});t.values[o]=s;t[i]=s},_embind_register_float:function(t,i,o){o=Wc(o);i=W(i);Vc(t,{name:i,fromWireType:function(t){return t},toWireType:function(t,i){return i},argPackAdvance:8,readValueFromPointer:wd(i,o),K:null})},_embind_register_function:function(t,i,o,s,h,v){var m=sd(i,o);t=W(t);h=Z(s,h);ad(t,(function(){od(`Cannot call ${t} due to unbound types`,m)}),i-1);Y([],m,(function(o){jd(t,pd(t,[o[0],null].concat(o.slice(1)),null,h,v),i-1);return[]}))},_embind_register_integer:function(t,i,o,s,h){i=W(i);-1===h&&(h=4294967295);h=Wc(o);var f=t=>t;if(0===s){var v=32-8*o;f=t=>t<<v>>>v}o=i.includes(\"unsigned\")?function(t,i){return i>>>0}:function(t,i){return i};Vc(t,{name:i,fromWireType:f,toWireType:o,argPackAdvance:8,readValueFromPointer:xd(i,h,0!==s),K:null})},_embind_register_memory_view:function(t,i,o){function d(t){t>>=2;var i=$;return new s(i.buffer,i[t+1],i[t])}var s=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][i];o=W(o);Vc(t,{name:o,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{$b:!0})},_embind_register_std_string:function(t,i){i=W(i);var o=\"std::string\"===i;Vc(t,{name:i,fromWireType:function(t){var i=$[t>>2],s=t+4;if(o)for(var h=s,v=0;v<=i;++v){var m=s+v;if(v==i||0==k[m]){h=h?nb(k,h,m-h):\"\";if(void 0===y)var y=h;else y+=String.fromCharCode(0),y+=h;h=m+1}}else{y=Array(i);for(v=0;v<i;++v)y[v]=String.fromCharCode(k[s+v]);y=y.join(\"\")}Ec(t);return y},toWireType:function(t,i){i instanceof ArrayBuffer&&(i=new Uint8Array(i));var s=\"string\"==typeof i;s||i instanceof Uint8Array||i instanceof Uint8ClampedArray||i instanceof Int8Array||V(\"Cannot pass non-string to std::string\");var h=o&&s?pb(i):i.length;var v=Wd(4+h+1),m=v+4;$[v>>2]=h;if(o&&s)qb(i,k,m,h+1);else if(s)for(s=0;s<h;++s){var y=i.charCodeAt(s);255<y&&(Ec(m),V(\"String has UTF-16 code units that do not fit in 8 bits\"));k[m+s]=y}else for(s=0;s<h;++s)k[m+s]=i[s];null!==t&&t.push(Ec,v);return v},argPackAdvance:8,readValueFromPointer:Sc,K:function(t){Ec(t)}})},_embind_register_std_wstring:function(t,i,o){o=W(o);if(2===i){var s=zd;var h=Ad;var v=Bd;var g=()=>U;var m=1}else 4===i&&(s=Cd,h=Dd,v=Ed,g=()=>$,m=2);Vc(t,{name:o,fromWireType:function(t){for(var o,h=$[t>>2],v=g(),y=t+4,w=0;w<=h;++w){var _=t+4+w*i;w!=h&&0!=v[_>>m]||(y=s(y,_-y),void 0===o?o=y:(o+=String.fromCharCode(0),o+=y),y=_+i)}Ec(t);return o},toWireType:function(t,s){\"string\"!=typeof s&&V(`Cannot pass non-string to C++ string type ${o}`);var y=v(s),w=Wd(4+y+i);$[w>>2]=y>>m;h(s,w+4,y+i);null!==t&&t.push(Ec,w);return w},argPackAdvance:8,readValueFromPointer:Sc,K:function(t){Ec(t)}})},_embind_register_value_object:function(t,i,o,s,h,v){Be[t]={name:W(i),Pa:Z(o,s),W:Z(h,v),eb:[]}},_embind_register_value_object_field:function(t,i,o,s,h,v,m,y,w,_){Be[t].eb.push({Sb:W(i),Yb:o,Wb:Z(s,h),Xb:v,rc:m,qc:Z(y,w),sc:_})},_embind_register_void:function(t,i){i=W(i);Vc(t,{fc:!0,name:i,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},_emscripten_get_now_is_monotonic:()=>!0,_emval_as:function(t,i,o){t=rc(t);i=Fc(i,\"emval::as\");var s=[],h=sc(s);$[o>>2]=h;return i.toWireType(s,t)},_emval_call_method:function(t,i,o,s,h){t=He[t];i=rc(i);o=Gd(o);var v=[];$[s>>2]=sc(v);return t(i,o,v,h)},_emval_call_void_method:function(t,i,o,s){t=He[t];i=rc(i);o=Gd(o);t(i,o,null,s)},_emval_decref:ud,_emval_get_method_caller:function(t,i){var o=Jd(t,i),s=o[0];i=s.name+\"_$\"+o.slice(1).map((function(t){return t.name})).join(\"_\")+\"$\";var h=qe[i];if(void 0!==h)return h;var v=Array(t-1);h=Id(((i,h,m,y)=>{for(var w=0,_=0;_<t-1;++_)v[_]=o[_+1].readValueFromPointer(y+w),w+=o[_+1].argPackAdvance;i=i[h].apply(i,v);for(_=0;_<t-1;++_)o[_+1].Nb&&o[_+1].Nb(v[_]);if(!s.fc)return s.toWireType(m,i)}));return qe[i]=h},_emval_get_module_property:function(t){t=Gd(t);return sc(v[t])},_emval_get_property:function(t,i){t=rc(t);i=rc(i);return sc(t[i])},_emval_incref:function(t){4<t&&(Me.get(t).tb+=1)},_emval_new_cstring:function(t){return sc(Gd(t))},_emval_new_object:function(){return sc({})},_emval_run_destructors:function(t){var i=rc(t);Rc(i);ud(t)},_emval_set_property:function(t,i,o){t=rc(t);i=rc(i);o=rc(o);t[i]=o},_emval_take_value:function(t,i){t=Fc(t,\"_emval_take_value\");t=t.readValueFromPointer(i);return sc(t)},abort:()=>{Aa(\"\")},emscripten_asm_const_int:(t,i,o)=>{Ze.length=0;var s;for(o>>=2;s=k[i++];)o+=105!=s&o,Ze.push(105==s?N[o]:X[o++>>1]),++o;return oe[t].apply(null,Ze)},emscripten_date_now:function(){return Date.now()},emscripten_get_now:()=>performance.now(),emscripten_memcpy_big:(t,i,o)=>k.copyWithin(t,i,i+o),emscripten_resize_heap:t=>{var i=k.length;t>>>=0;if(2147483648<t)return!1;for(var o=1;4>=o;o*=2){var s=i*(1+.2/o);s=Math.min(s,t+100663296);var h=Math;s=Math.max(t,s);e:{h=h.min.call(h,2147483648,s+(65536-s%65536)%65536)-j.buffer.byteLength+65535>>>16;try{j.grow(h);Ja();var v=1;break e}catch(t){}v=void 0}if(v)return!0}return!1},environ_get:(t,i)=>{var o=0;Od().forEach((function(s,h){var v=i+o;h=$[t+4*h>>2]=v;for(v=0;v<s.length;++v)I[h++|0]=s.charCodeAt(v);I[h|0]=0;o+=s.length+1}));return 0},environ_sizes_get:(t,i)=>{var o=Od();$[t>>2]=o.length;var s=0;o.forEach((function(t){s+=t.length+1}));$[i>>2]=s;return 0},fd_close:function(t){try{var i=Tb(t);if(null===i.X)throw new Ce(8);i.Ma&&(i.Ma=null);try{i.m.close&&i.m.close(i)}catch(t){throw t}finally{we[i.X]=null}i.X=null;return 0}catch(t){if(\"undefined\"==typeof Te||\"ErrnoError\"!==t.name)throw t;return t.aa}},fd_read:function(t,i,o,s){try{e:{var h=Tb(t);t=i;for(var v,m=i=0;m<o;m++){var y=$[t>>2],w=$[t+4>>2];t+=8;var _=h,A=y,R=w,C=v,E=I;if(0>R||0>C)throw new Ce(28);if(null===_.X)throw new Ce(8);if(1===(_.flags&2097155))throw new Ce(8);if(16384===(_.node.mode&61440))throw new Ce(31);if(!_.m.read)throw new Ce(28);var L=\"undefined\"!=typeof C;if(L){if(!_.seekable)throw new Ce(70)}else C=_.position;var T=_.m.read(_,E,A,R,C);L||(_.position+=T);var P=T;if(0>P){var M=-1;break e}i+=P;if(P<w)break;\"undefined\"!==typeof v&&(v+=P)}M=i}$[s>>2]=M;return 0}catch(t){if(\"undefined\"==typeof Te||\"ErrnoError\"!==t.name)throw t;return t.aa}},fd_seek:function(t,i,o,s,h){i=o+2097152>>>0<4194305-!!i?(i>>>0)+4294967296*o:NaN;try{if(isNaN(i))return 61;var v=Tb(t);fc(v,i,s);ae=[v.position>>>0,(ie=v.position,1<=+Math.abs(ie)?0<ie?+Math.floor(ie/4294967296)>>>0:~~+Math.ceil((ie-+(~~ie>>>0))/4294967296)>>>0:0)];N[h>>2]=ae[0];N[h+4>>2]=ae[1];v.Ma&&0===i&&0===s&&(v.Ma=null);return 0}catch(t){if(\"undefined\"==typeof Te||\"ErrnoError\"!==t.name)throw t;return t.aa}},fd_write:function(t,i,o,s){try{e:{var h=Tb(t);t=i;for(var v,m=i=0;m<o;m++){var y=$[t>>2],w=$[t+4>>2];t+=8;var _=h,A=y,R=w,C=v,E=I;if(0>R||0>C)throw new Ce(28);if(null===_.X)throw new Ce(8);if(0===(_.flags&2097155))throw new Ce(8);if(16384===(_.node.mode&61440))throw new Ce(31);if(!_.m.write)throw new Ce(28);_.seekable&&_.flags&1024&&fc(_,0,2);var L=\"undefined\"!=typeof C;if(L){if(!_.seekable)throw new Ce(70)}else C=_.position;var T=_.m.write(_,E,A,R,C,void 0);L||(_.position+=T);var P=T;if(0>P){var M=-1;break e}i+=P;\"undefined\"!==typeof v&&(v+=P)}M=i}$[s>>2]=M;return 0}catch(t){if(\"undefined\"==typeof Te||\"ErrnoError\"!==t.name)throw t;return t.aa}},strftime_l:(t,i,o,s)=>Sd(t,i,o,s)};(function(){function a(t){O=t=t.exports;j=O.memory;Ja();G=O.__indirect_function_table;J.unshift(O.__wasm_call_ctors);Q--;v.monitorRunDependencies&&v.monitorRunDependencies(Q);if(0==Q&&(null!==ee&&(clearInterval(ee),ee=null),te)){var i=te;te=null;i()}return t}var t={env:nt,wasi_snapshot_preview1:nt};Q++;v.monitorRunDependencies&&v.monitorRunDependencies(Q);if(v.instantiateWasm)try{return v.instantiateWasm(t,a)}catch(t){F(\"Module.instantiateWasm callback failed with error: \"+t),h(t)}Ya(t,(function(t){a(t.instance)})).catch(h);return{}})();var Ec=t=>(Ec=O.free)(t),Wd=t=>(Wd=O.malloc)(t),rt=v._ma_device__on_notification_unlocked=t=>(rt=v._ma_device__on_notification_unlocked=O.ma_device__on_notification_unlocked)(t);v._ma_malloc_emscripten=(t,i)=>(v._ma_malloc_emscripten=O.ma_malloc_emscripten)(t,i);v._ma_free_emscripten=(t,i)=>(v._ma_free_emscripten=O.ma_free_emscripten)(t,i);var it=v._ma_device_process_pcm_frames_capture__webaudio=(t,i,o)=>(it=v._ma_device_process_pcm_frames_capture__webaudio=O.ma_device_process_pcm_frames_capture__webaudio)(t,i,o),at=v._ma_device_process_pcm_frames_playback__webaudio=(t,i,o)=>(at=v._ma_device_process_pcm_frames_playback__webaudio=O.ma_device_process_pcm_frames_playback__webaudio)(t,i,o),Vd=()=>(Vd=O.__errno_location)(),Dc=t=>(Dc=O.__getTypeName)(t);v.__embind_initialize_bindings=()=>(v.__embind_initialize_bindings=O._embind_initialize_bindings)();v.dynCall_iiji=(t,i,o,s,h)=>(v.dynCall_iiji=O.dynCall_iiji)(t,i,o,s,h);v.dynCall_jiji=(t,i,o,s,h)=>(v.dynCall_jiji=O.dynCall_jiji)(t,i,o,s,h);v.dynCall_iiiji=(t,i,o,s,h,m)=>(v.dynCall_iiiji=O.dynCall_iiiji)(t,i,o,s,h,m);v.dynCall_iij=(t,i,o,s)=>(v.dynCall_iij=O.dynCall_iij)(t,i,o,s);v.dynCall_jii=(t,i,o)=>(v.dynCall_jii=O.dynCall_jii)(t,i,o);v.dynCall_viijii=(t,i,o,s,h,m,y)=>(v.dynCall_viijii=O.dynCall_viijii)(t,i,o,s,h,m,y);v.dynCall_iiiiij=(t,i,o,s,h,m,y)=>(v.dynCall_iiiiij=O.dynCall_iiiiij)(t,i,o,s,h,m,y);v.dynCall_iiiiijj=(t,i,o,s,h,m,y,w,_)=>(v.dynCall_iiiiijj=O.dynCall_iiiiijj)(t,i,o,s,h,m,y,w,_);v.dynCall_iiiiiijj=(t,i,o,s,h,m,y,w,_,A)=>(v.dynCall_iiiiiijj=O.dynCall_iiiiiijj)(t,i,o,s,h,m,y,w,_,A);var ot;te=function Zd(){ot||$d();ot||(te=Zd)};function $d(){function a(){if(!ot&&(ot=!0,v.calledRun=!0,!H)){v.noFSInit||pe||(pe=!0,gc(),v.stdin=v.stdin,v.stdout=v.stdout,v.stderr=v.stderr,v.stdin?jc(\"stdin\",v.stdin):cc(\"/dev/tty\",\"/dev/stdin\"),v.stdout?jc(\"stdout\",null,v.stdout):cc(\"/dev/tty\",\"/dev/stdout\"),v.stderr?jc(\"stderr\",null,v.stderr):cc(\"/dev/tty1\",\"/dev/stderr\"),ec(\"/dev/stdin\",0),ec(\"/dev/stdout\",1),ec(\"/dev/stderr\",1));Re=!1;eb(J);s(v);v.onRuntimeInitialized&&v.onRuntimeInitialized();if(v.postRun)for(\"function\"==typeof v.postRun&&(v.postRun=[v.postRun]);v.postRun.length;){var t=v.postRun.shift();K.unshift(t)}eb(K)}}if(!(0<Q)){if(v.preRun)for(\"function\"==typeof v.preRun&&(v.preRun=[v.preRun]);v.preRun.length;)Oa();eb(q);0<Q||(v.setStatus?(v.setStatus(\"Running...\"),setTimeout((function(){setTimeout((function(){v.setStatus(\"\")}),1);a()}),1)):a())}}if(v.preInit)for(\"function\"==typeof v.preInit&&(v.preInit=[v.preInit]);0<v.preInit.length;)v.preInit.pop()();$d();return o.ready}})();const v=h},t=>{t.exports=JSON.parse('{\"name\":\"@rive-app/canvas\",\"version\":\"2.26.1\",\"description\":\"Rive\\'s canvas based web api.\",\"main\":\"rive.js\",\"homepage\":\"https://rive.app\",\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/rive-app/rive-wasm/tree/master/js\"},\"keywords\":[\"rive\",\"animation\"],\"author\":\"Rive\",\"contributors\":[\"Luigi Rosso <luigi@rive.app> (https://rive.app)\",\"Maxwell Talbot <max@rive.app> (https://rive.app)\",\"Arthur Vivian <arthur@rive.app> (https://rive.app)\",\"Umberto Sonnino <umberto@rive.app> (https://rive.app)\",\"Matthew Sullivan <matt.j.sullivan@gmail.com> (mailto:matt.j.sullivan@gmail.com)\"],\"license\":\"MIT\",\"files\":[\"rive.js\",\"rive.js.map\",\"rive.wasm\",\"rive_fallback.wasm\",\"rive.d.ts\",\"rive_advanced.mjs.d.ts\"],\"typings\":\"rive.d.ts\",\"dependencies\":{},\"browser\":{\"fs\":false,\"path\":false}}')},(t,i,o)=>{o.r(i);o.d(i,{Animation:()=>s.Animation});var s=o(4)},(i,o,s)=>{s.r(o);s.d(o,{Animation:()=>h});var h=function(){\n/**\n         * Constructs a new animation\n         * @constructor\n         * @param {any} animation: runtime animation object\n         * @param {any} instance: runtime animation instance object\n         */\nfunction Animation(i,o,s,h){(this||t).animation=i;(this||t).artboard=o;(this||t).playing=h;(this||t).loopCount=0;(this||t).scrubTo=null;(this||t).instance=new s.LinearAnimationInstance(i,o)}Object.defineProperty(Animation.prototype,\"name\",{get:function(){return(this||t).animation.name},enumerable:false,configurable:true});Object.defineProperty(Animation.prototype,\"time\",{get:function(){return(this||t).instance.time},set:function(i){(this||t).instance.time=i},enumerable:false,configurable:true});Object.defineProperty(Animation.prototype,\"loopValue\",{get:function(){return(this||t).animation.loopValue},enumerable:false,configurable:true});Object.defineProperty(Animation.prototype,\"needsScrub\",{\n/**\n           * Indicates whether the animation needs to be scrubbed.\n           * @returns `true` if the animation needs to be scrubbed, `false` otherwise.\n           */\nget:function(){return(this||t).scrubTo!==null},enumerable:false,configurable:true});\n/**\n         * Advances the animation by the give time. If the animation needs scrubbing,\n         * time is ignored and the stored scrub value is used.\n         * @param time the time to advance the animation by if no scrubbing required\n         */Animation.prototype.advance=function(i){if((this||t).scrubTo===null)(this||t).instance.advance(i);else{(this||t).instance.time=0;(this||t).instance.advance((this||t).scrubTo);(this||t).scrubTo=null}};\n/**\n         * Apply interpolated keyframe values to the artboard. This should be called after calling\n         * .advance() on an animation instance so that new values are applied to properties.\n         *\n         * Note: This does not advance the artboard, which updates all objects on the artboard\n         * @param mix - Mix value for the animation from 0 to 1\n         */Animation.prototype.apply=function(i){(this||t).instance.apply(i)};Animation.prototype.cleanup=function(){(this||t).instance.delete()};return Animation}()},(t,i,o)=>{o.r(i);o.d(i,{BLANK_URL:()=>h.BLANK_URL,registerTouchInteractions:()=>s.registerTouchInteractions,sanitizeUrl:()=>h.sanitizeUrl});var s=o(6);var h=o(7)},(t,i,o)=>{o.r(i);o.d(i,{registerTouchInteractions:()=>registerTouchInteractions});var s=void 0;\n/**\n       * Returns the clientX and clientY properties from touch or mouse events. Also\n       * calls preventDefault() on the event if it is a touchstart or touchmove to prevent\n       * scrolling the page on mobile devices\n       * @param event - Either a TouchEvent or a MouseEvent\n       * @returns - Coordinates of the clientX and clientY properties from the touch/mouse event\n       */var getClientCoordinates=function(t,i){var o,s;if([\"touchstart\",\"touchmove\"].indexOf(t.type)>-1&&((o=t.touches)===null||o===void 0?void 0:o.length)){i||t.preventDefault();return{clientX:t.touches[0].clientX,clientY:t.touches[0].clientY}}return t.type===\"touchend\"&&((s=t.changedTouches)===null||s===void 0?void 0:s.length)?{clientX:t.changedTouches[0].clientX,clientY:t.changedTouches[0].clientY}:{clientX:t.clientX,clientY:t.clientY}};var registerTouchInteractions=function(t){var i=t.canvas,o=t.artboard,h=t.stateMachines,v=h===void 0?[]:h,m=t.renderer,y=t.rive,w=t.fit,_=t.alignment,A=t.isTouchScrollEnabled,R=A!==void 0&&A,C=t.layoutScaleFactor,E=C===void 0?1:C;if(!i||!v.length||!m||!y||!o||typeof window===\"undefined\")return null;var L=null;var T=false;var processEventCallback=function(t){if(T&&t instanceof MouseEvent)t.type==\"mouseup\"&&(T=false);else{T=R&&t.type===\"touchend\"&&L===\"touchstart\";L=t.type;var i=t.currentTarget.getBoundingClientRect();var s=getClientCoordinates(t,R),h=s.clientX,m=s.clientY;if(h||m){var A=h-i.left;var C=m-i.top;var P=y.computeAlignment(w,_,{minX:0,minY:0,maxX:i.width,maxY:i.height},o.bounds,E);var M=new y.Mat2D;P.invert(M);var F=new y.Vec2D(A,C);var x=y.mapXY(M,F);var j=x.x();var O=x.y();x.delete();M.delete();F.delete();P.delete();switch(t.type){case\"mouseout\":for(var I=0,k=v;I<k.length;I++){var D=k[I];D.pointerMove(j,O)}break;case\"touchmove\":case\"mouseover\":case\"mousemove\":for(var U=0,N=v;U<N.length;U++){D=N[U];D.pointerMove(j,O)}break;case\"touchstart\":case\"mousedown\":for(var $=0,z=v;$<z.length;$++){D=z[$];D.pointerDown(j,O)}break;case\"touchend\":case\"mouseup\":for(var X=0,H=v;X<H.length;X++){D=H[X];D.pointerUp(j,O)}break;default:}}}};var P=processEventCallback.bind(s);i.addEventListener(\"mouseover\",P);i.addEventListener(\"mouseout\",P);i.addEventListener(\"mousemove\",P);i.addEventListener(\"mousedown\",P);i.addEventListener(\"mouseup\",P);i.addEventListener(\"touchmove\",P,{passive:R});i.addEventListener(\"touchstart\",P,{passive:R});i.addEventListener(\"touchend\",P);return function(){i.removeEventListener(\"mouseover\",P);i.removeEventListener(\"mouseout\",P);i.removeEventListener(\"mousemove\",P);i.removeEventListener(\"mousedown\",P);i.removeEventListener(\"mouseup\",P);i.removeEventListener(\"touchmove\",P);i.removeEventListener(\"touchstart\",P);i.removeEventListener(\"touchend\",P)}}},(t,i,o)=>{o.r(i);o.d(i,{BLANK_URL:()=>_,sanitizeUrl:()=>sanitizeUrl});var s=/^([^\\w]*)(javascript|data|vbscript)/im;var h=/&#(\\w+)(^\\w|;)?/g;var v=/&(newline|tab);/gi;var m=/[\\u0000-\\u001F\\u007F-\\u009F\\u2000-\\u200D\\uFEFF]/gim;var y=/^.+(:|&colon;)/gim;var w=[\".\",\"/\"];var _=\"about:blank\";function isRelativeUrlWithoutProtocol(t){return w.indexOf(t[0])>-1}function decodeHtmlCharacters(t){var i=t.replace(m,\"\");return i.replace(h,(function(t,i){return String.fromCharCode(i)}))}function sanitizeUrl(t){if(!t)return _;var i=decodeHtmlCharacters(t).replace(v,\"\").replace(m,\"\").trim();if(!i)return _;if(isRelativeUrlWithoutProtocol(i))return i;var o=i.match(y);if(!o)return i;var h=o[0];return s.test(h)?_:i}}];var o={};function __webpack_require__(t){var s=o[t];if(s!==void 0)return s.exports;var h=o[t]={exports:{}};i[t](h,h.exports,__webpack_require__);return h.exports}(()=>{__webpack_require__.d=(t,i)=>{for(var o in i)__webpack_require__.o(i,o)&&!__webpack_require__.o(t,o)&&Object.defineProperty(t,o,{enumerable:true,get:i[o]})}})();(()=>{__webpack_require__.o=(t,i)=>Object.prototype.hasOwnProperty.call(t,i)})();(()=>{__webpack_require__.r=t=>{typeof Symbol!==\"undefined\"&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"});Object.defineProperty(t,\"__esModule\",{value:true})}})();var s={};(()=>{__webpack_require__.r(s);__webpack_require__.d(s,{Alignment:()=>R,EventType:()=>x,Fit:()=>A,Layout:()=>C,LoopType:()=>j,Rive:()=>G,RiveEventType:()=>P,RiveFile:()=>H,RuntimeLoader:()=>E,StateMachineInput:()=>T,StateMachineInputType:()=>L,Testing:()=>q,decodeAudio:()=>decodeAudio,decodeFont:()=>decodeFont,decodeImage:()=>decodeImage});var i=__webpack_require__(1);var o=__webpack_require__(2);var h=__webpack_require__(3);var v=__webpack_require__(5);var m=(void 0,function(){var extendStatics=function(t,i){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])};return extendStatics(t,i)};return function(i,o){if(typeof o!==\"function\"&&o!==null)throw new TypeError(\"Class extends value \"+String(o)+\" is not a constructor or null\");extendStatics(i,o);function __(){(this||t).constructor=i}i.prototype=o===null?Object.create(o):(__.prototype=o.prototype,new __)}}());var y=(void 0,function(t,i,o,s){function adopt(t){return t instanceof o?t:new o((function(i){i(t)}))}return new(o||(o=Promise))((function(o,h){function fulfilled(t){try{step(s.next(t))}catch(t){h(t)}}function rejected(t){try{step(s.throw(t))}catch(t){h(t)}}function step(t){t.done?o(t.value):adopt(t.value).then(fulfilled,rejected)}step((s=s.apply(t,i||[])).next())}))});var w=(void 0,function(i,o){var s,h,v,m={label:0,sent:function(){if(v[0]&1)throw v[1];return v[1]},trys:[],ops:[]},y=Object.create((typeof Iterator===\"function\"?Iterator:Object).prototype);return y.next=verb(0),y.throw=verb(1),y.return=verb(2),typeof Symbol===\"function\"&&(y[Symbol.iterator]=function(){return this||t}),y;function verb(t){return function(i){return step([t,i])}}function step(t){if(s)throw new TypeError(\"Generator is already executing.\");while(y&&(y=0,t[0]&&(m=0)),m)try{if(s=1,h&&(v=t[0]&2?h.return:t[0]?h.throw||((v=h.return)&&v.call(h),0):h.next)&&!(v=v.call(h,t[1])).done)return v;(h=0,v)&&(t=[t[0]&2,v.value]);switch(t[0]){case 0:case 1:v=t;break;case 4:m.label++;return{value:t[1],done:false};case 5:m.label++;h=t[1];t=[0];continue;case 7:t=m.ops.pop();m.trys.pop();continue;default:if(!(v=m.trys,v=v.length>0&&v[v.length-1])&&(t[0]===6||t[0]===2)){m=0;continue}if(t[0]===3&&(!v||t[1]>v[0]&&t[1]<v[3])){m.label=t[1];break}if(t[0]===6&&m.label<v[1]){m.label=v[1];v=t;break}if(v&&m.label<v[2]){m.label=v[2];m.ops.push(t);break}v[2]&&m.ops.pop();m.trys.pop();continue}t=o.call(i,m)}catch(i){t=[6,i];h=0}finally{s=v=0}if(t[0]&5)throw t[1];return{value:t[0]?t[1]:void 0,done:true}}});var _=function(i){m(RiveError,i);function RiveError(){var o=i!==null&&i.apply(this||t,arguments)||this||t;o.isHandledError=true;return o}return RiveError}(Error);var resolveErrorMessage=function(t){return t&&t.isHandledError?t.message:\"Problem loading file; may be corrupt!\"};var A;(function(t){t.Cover=\"cover\";t.Contain=\"contain\";t.Fill=\"fill\";t.FitWidth=\"fitWidth\";t.FitHeight=\"fitHeight\";t.None=\"none\";t.ScaleDown=\"scaleDown\";t.Layout=\"layout\"})(A||(A={}));var R;(function(t){t.Center=\"center\";t.TopLeft=\"topLeft\";t.TopCenter=\"topCenter\";t.TopRight=\"topRight\";t.CenterLeft=\"centerLeft\";t.CenterRight=\"centerRight\";t.BottomLeft=\"bottomLeft\";t.BottomCenter=\"bottomCenter\";t.BottomRight=\"bottomRight\"})(R||(R={}));var C=function(){function Layout(i){var o,s,h,v,m,y,w;(this||t).fit=(o=i===null||i===void 0?void 0:i.fit)!==null&&o!==void 0?o:A.Contain;(this||t).alignment=(s=i===null||i===void 0?void 0:i.alignment)!==null&&s!==void 0?s:R.Center;(this||t).layoutScaleFactor=(h=i===null||i===void 0?void 0:i.layoutScaleFactor)!==null&&h!==void 0?h:1;(this||t).minX=(v=i===null||i===void 0?void 0:i.minX)!==null&&v!==void 0?v:0;(this||t).minY=(m=i===null||i===void 0?void 0:i.minY)!==null&&m!==void 0?m:0;(this||t).maxX=(y=i===null||i===void 0?void 0:i.maxX)!==null&&y!==void 0?y:0;(this||t).maxY=(w=i===null||i===void 0?void 0:i.maxY)!==null&&w!==void 0?w:0}Layout.new=function(t){var i=t.fit,o=t.alignment,s=t.minX,h=t.minY,v=t.maxX,m=t.maxY;console.warn(\"This function is deprecated: please use `new Layout({})` instead\");return new Layout({fit:i,alignment:o,minX:s,minY:h,maxX:v,maxY:m})};Layout.prototype.copyWith=function(i){var o=i.fit,s=i.alignment,h=i.layoutScaleFactor,v=i.minX,m=i.minY,y=i.maxX,w=i.maxY;return new Layout({fit:o!==null&&o!==void 0?o:(this||t).fit,alignment:s!==null&&s!==void 0?s:(this||t).alignment,layoutScaleFactor:h!==null&&h!==void 0?h:(this||t).layoutScaleFactor,minX:v!==null&&v!==void 0?v:(this||t).minX,minY:m!==null&&m!==void 0?m:(this||t).minY,maxX:y!==null&&y!==void 0?y:(this||t).maxX,maxY:w!==null&&w!==void 0?w:(this||t).maxY})};Layout.prototype.runtimeFit=function(i){if((this||t).cachedRuntimeFit)return(this||t).cachedRuntimeFit;var o;o=(this||t).fit===A.Cover?i.Fit.cover:(this||t).fit===A.Contain?i.Fit.contain:(this||t).fit===A.Fill?i.Fit.fill:(this||t).fit===A.FitWidth?i.Fit.fitWidth:(this||t).fit===A.FitHeight?i.Fit.fitHeight:(this||t).fit===A.ScaleDown?i.Fit.scaleDown:(this||t).fit===A.Layout?i.Fit.layout:i.Fit.none;(this||t).cachedRuntimeFit=o;return o};Layout.prototype.runtimeAlignment=function(i){if((this||t).cachedRuntimeAlignment)return(this||t).cachedRuntimeAlignment;var o;o=(this||t).alignment===R.TopLeft?i.Alignment.topLeft:(this||t).alignment===R.TopCenter?i.Alignment.topCenter:(this||t).alignment===R.TopRight?i.Alignment.topRight:(this||t).alignment===R.CenterLeft?i.Alignment.centerLeft:(this||t).alignment===R.CenterRight?i.Alignment.centerRight:(this||t).alignment===R.BottomLeft?i.Alignment.bottomLeft:(this||t).alignment===R.BottomCenter?i.Alignment.bottomCenter:(this||t).alignment===R.BottomRight?i.Alignment.bottomRight:i.Alignment.center;(this||t).cachedRuntimeAlignment=o;return o};return Layout}();var E=function(){function RuntimeLoader(){}RuntimeLoader.loadRuntime=function(){i.default({locateFile:function(){return RuntimeLoader.wasmURL}}).then((function(t){var i;RuntimeLoader.runtime=t;while(RuntimeLoader.callBackQueue.length>0)(i=RuntimeLoader.callBackQueue.shift())===null||i===void 0?void 0:i(RuntimeLoader.runtime)})).catch((function(t){var i={message:(t===null||t===void 0?void 0:t.message)||\"Unknown error\",type:(t===null||t===void 0?void 0:t.name)||\"Error\",wasmError:t instanceof WebAssembly.CompileError||t instanceof WebAssembly.RuntimeError,originalError:t};console.debug(\"Rive WASM load error details:\",i);var s=\"https://cdn.jsdelivr.net/npm/\".concat(o.name,\"@\").concat(o.version,\"/rive_fallback.wasm\");if(RuntimeLoader.wasmURL.toLowerCase()!==s){console.warn(\"Failed to load WASM from \".concat(RuntimeLoader.wasmURL,\" (\").concat(i.message,\"), trying jsdelivr as a backup\"));RuntimeLoader.setWasmUrl(s);RuntimeLoader.loadRuntime()}else{var h=[\"Could not load Rive WASM file from \".concat(RuntimeLoader.wasmURL,\" or \").concat(s,\".\"),\"Possible reasons:\",\"- Network connection is down\",\"- WebAssembly is not supported in this environment\",\"- The WASM file is corrupted or incompatible\",\"\\nError details:\",\"- Type: \".concat(i.type),\"- Message: \".concat(i.message),\"- WebAssembly-specific error: \".concat(i.wasmError),\"\\nTo resolve, you may need to:\",\"1. Check your network connection\",\"2. Set a new WASM source via RuntimeLoader.setWasmUrl()\",\"3. Call RuntimeLoader.loadRuntime() again\"].join(\"\\n\");console.error(h)}}))};RuntimeLoader.getInstance=function(t){if(!RuntimeLoader.isLoading){RuntimeLoader.isLoading=true;RuntimeLoader.loadRuntime()}RuntimeLoader.runtime?t(RuntimeLoader.runtime):RuntimeLoader.callBackQueue.push(t)};RuntimeLoader.awaitInstance=function(){return new Promise((function(t){return RuntimeLoader.getInstance((function(i){return t(i)}))}))};RuntimeLoader.setWasmUrl=function(t){RuntimeLoader.wasmURL=t};RuntimeLoader.getWasmUrl=function(){return RuntimeLoader.wasmURL};RuntimeLoader.isLoading=false;RuntimeLoader.callBackQueue=[];RuntimeLoader.wasmURL=\"https://unpkg.com/\".concat(o.name,\"@\").concat(o.version,\"/rive.wasm\");return RuntimeLoader}();var L;(function(t){t[t.Number=56]=\"Number\";t[t.Trigger=58]=\"Trigger\";t[t.Boolean=59]=\"Boolean\"})(L||(L={}));var T=function(){function StateMachineInput(i,o){(this||t).type=i;(this||t).runtimeInput=o}Object.defineProperty(StateMachineInput.prototype,\"name\",{get:function(){return(this||t).runtimeInput.name},enumerable:false,configurable:true});Object.defineProperty(StateMachineInput.prototype,\"value\",{get:function(){return(this||t).runtimeInput.value},set:function(i){(this||t).runtimeInput.value=i},enumerable:false,configurable:true});StateMachineInput.prototype.fire=function(){(this||t).type===L.Trigger&&(this||t).runtimeInput.fire()};StateMachineInput.prototype.delete=function(){(this||t).runtimeInput=null};return StateMachineInput}();var P;(function(t){t[t.General=128]=\"General\";t[t.OpenUrl=131]=\"OpenUrl\"})(P||(P={}));var M=function(){\n/**\n         * @constructor\n         * @param stateMachine runtime state machine object\n         * @param instance runtime state machine instance object\n         */\nfunction StateMachine(i,o,s,h){(this||t).stateMachine=i;(this||t).playing=s;(this||t).artboard=h;(this||t).inputs=[];(this||t).instance=new o.StateMachineInstance(i,h);this.initInputs(o)}Object.defineProperty(StateMachine.prototype,\"name\",{get:function(){return(this||t).stateMachine.name},enumerable:false,configurable:true});Object.defineProperty(StateMachine.prototype,\"statesChanged\",{get:function(){var i=[];for(var o=0;o<(this||t).instance.stateChangedCount();o++)i.push((this||t).instance.stateChangedNameByIndex(o));return i},enumerable:false,configurable:true});\n/**\n         * Advances the state machine instance by a given time.\n         * @param time - the time to advance the animation by in seconds\n         */StateMachine.prototype.advance=function(i){(this||t).instance.advance(i)};\n/**\n         * Advances the state machine instance by a given time and apply changes to artboard.\n         * @param time - the time to advance the animation by in seconds\n         */StateMachine.prototype.advanceAndApply=function(i){(this||t).instance.advanceAndApply(i)};\n/**\n         * Returns the number of events reported from the last advance call\n         * @returns Number of events reported\n         */StateMachine.prototype.reportedEventCount=function(){return(this||t).instance.reportedEventCount()};\n/**\n         * Returns a RiveEvent object emitted from the last advance call at the given index\n         * of a list of potentially multiple events. If an event at the index is not found,\n         * undefined is returned.\n         * @param i index of the event reported in a list of potentially multiple events\n         * @returns RiveEvent or extended RiveEvent object returned, or undefined\n         */StateMachine.prototype.reportedEventAt=function(i){return(this||t).instance.reportedEventAt(i)};\n/**\n         * Fetches references to the state machine's inputs and caches them\n         * @param runtime an instance of the runtime; needed for the SMIInput types\n         */StateMachine.prototype.initInputs=function(i){for(var o=0;o<(this||t).instance.inputCount();o++){var s=(this||t).instance.input(o);(this||t).inputs.push(this.mapRuntimeInput(s,i))}};\n/**\n         * Maps a runtime input to it's appropriate type\n         * @param input\n         */StateMachine.prototype.mapRuntimeInput=function(t,i){return t.type===i.SMIInput.bool?new T(L.Boolean,t.asBool()):t.type===i.SMIInput.number?new T(L.Number,t.asNumber()):t.type===i.SMIInput.trigger?new T(L.Trigger,t.asTrigger()):void 0};StateMachine.prototype.cleanup=function(){(this||t).inputs.forEach((function(t){t.delete()}));(this||t).inputs.length=0;(this||t).instance.delete()};return StateMachine}();var F=function(){\n/**\n         * Constructs a new animator\n         * @constructor\n         * @param runtime Rive runtime; needed to instance animations & state machines\n         * @param artboard the artboard that holds all animations and state machines\n         * @param animations optional list of animations\n         * @param stateMachines optional list of state machines\n         */\nfunction Animator(i,o,s,h,v){h===void 0&&(h=[]);v===void 0&&(v=[]);(this||t).runtime=i;(this||t).artboard=o;(this||t).eventManager=s;(this||t).animations=h;(this||t).stateMachines=v}\n/**\n         * Adds animations and state machines by their names. If names are shared\n         * between animations & state machines, then the first one found will be\n         * created. Best not to use the same names for these in your Rive file.\n         * @param animatable the name(s) of animations and state machines to add\n         * @returns a list of names of the playing animations and state machines\n         */Animator.prototype.add=function(i,o,s){s===void 0&&(s=true);i=mapToStringArray(i);if(i.length===0){(this||t).animations.forEach((function(t){return t.playing=o}));(this||t).stateMachines.forEach((function(t){return t.playing=o}))}else{var v=(this||t).animations.map((function(t){return t.name}));var m=(this||t).stateMachines.map((function(t){return t.name}));for(var y=0;y<i.length;y++){var w=v.indexOf(i[y]);var _=m.indexOf(i[y]);if(w>=0||_>=0)w>=0?(this||t).animations[w].playing=o:(this||t).stateMachines[_].playing=o;else{var A=(this||t).artboard.animationByName(i[y]);if(A){var R=new h.Animation(A,(this||t).artboard,(this||t).runtime,o);R.advance(0);R.apply(1);(this||t).animations.push(R)}else{var C=(this||t).artboard.stateMachineByName(i[y]);if(C){var E=new M(C,(this||t).runtime,o,(this||t).artboard);(this||t).stateMachines.push(E)}}}}}s&&(o?(this||t).eventManager.fire({type:x.Play,data:(this||t).playing}):(this||t).eventManager.fire({type:x.Pause,data:(this||t).paused}));return o?(this||t).playing:(this||t).paused};\n/**\n         * Adds linear animations by their names.\n         * @param animatables the name(s) of animations to add\n         * @param playing whether animations should play on instantiation\n         */Animator.prototype.initLinearAnimations=function(i,o){var s=(this||t).animations.map((function(t){return t.name}));for(var v=0;v<i.length;v++){var m=s.indexOf(i[v]);if(m>=0)(this||t).animations[m].playing=o;else{var y=(this||t).artboard.animationByName(i[v]);if(y){var w=new h.Animation(y,(this||t).artboard,(this||t).runtime,o);w.advance(0);w.apply(1);(this||t).animations.push(w)}}}};\n/**\n         * Adds state machines by their names.\n         * @param animatables the name(s) of state machines to add\n         * @param playing whether state machines should play on instantiation\n         */Animator.prototype.initStateMachines=function(i,o){var s=(this||t).stateMachines.map((function(t){return t.name}));for(var h=0;h<i.length;h++){var v=s.indexOf(i[h]);if(v>=0)(this||t).stateMachines[v].playing=o;else{var m=(this||t).artboard.stateMachineByName(i[h]);if(m){var y=new M(m,(this||t).runtime,o,(this||t).artboard);(this||t).stateMachines.push(y)}else this.initLinearAnimations([i[h]],o)}}};\n/**\n         * Play the named animations/state machines\n         * @param animatables the names of the animations/machines to play; plays all if empty\n         * @returns a list of the playing items\n         */Animator.prototype.play=function(t){return this.add(t,true)};\n/**\n         * Pauses named animations and state machines, or everything if nothing is\n         * specified\n         * @param animatables names of the animations and state machines to pause\n         * @returns a list of names of the animations and state machines paused\n         */Animator.prototype.pause=function(t){return this.add(t,false)};\n/**\n         * Set time of named animations\n         * @param animations names of the animations to scrub\n         * @param value time scrub value, a floating point number to which the playhead is jumped\n         * @returns a list of names of the animations that were scrubbed\n         */Animator.prototype.scrub=function(i,o){var s=(this||t).animations.filter((function(t){return i.includes(t.name)}));s.forEach((function(t){return t.scrubTo=o}));return s.map((function(t){return t.name}))};Object.defineProperty(Animator.prototype,\"playing\",{get:function(){return(this||t).animations.filter((function(t){return t.playing})).map((function(t){return t.name})).concat((this||t).stateMachines.filter((function(t){return t.playing})).map((function(t){return t.name})))},enumerable:false,configurable:true});Object.defineProperty(Animator.prototype,\"paused\",{get:function(){return(this||t).animations.filter((function(t){return!t.playing})).map((function(t){return t.name})).concat((this||t).stateMachines.filter((function(t){return!t.playing})).map((function(t){return t.name})))},enumerable:false,configurable:true});\n/**\n         * Stops and removes all named animations and state machines\n         * @param animatables animations and state machines to remove\n         * @returns a list of names of removed items\n         */Animator.prototype.stop=function(i){var o=this||t;i=mapToStringArray(i);var s=[];if(i.length===0){s=(this||t).animations.map((function(t){return t.name})).concat((this||t).stateMachines.map((function(t){return t.name})));(this||t).animations.forEach((function(t){return t.cleanup()}));(this||t).stateMachines.forEach((function(t){return t.cleanup()}));(this||t).animations.splice(0,(this||t).animations.length);(this||t).stateMachines.splice(0,(this||t).stateMachines.length)}else{var h=(this||t).animations.filter((function(t){return i.includes(t.name)}));h.forEach((function(t){t.cleanup();o.animations.splice(o.animations.indexOf(t),1)}));var v=(this||t).stateMachines.filter((function(t){return i.includes(t.name)}));v.forEach((function(t){t.cleanup();o.stateMachines.splice(o.stateMachines.indexOf(t),1)}));s=h.map((function(t){return t.name})).concat(v.map((function(t){return t.name})))}(this||t).eventManager.fire({type:x.Stop,data:s});return s};Object.defineProperty(Animator.prototype,\"isPlaying\",{get:function(){return(this||t).animations.reduce((function(t,i){return t||i.playing}),false)||(this||t).stateMachines.reduce((function(t,i){return t||i.playing}),false)},enumerable:false,configurable:true});Object.defineProperty(Animator.prototype,\"isPaused\",{get:function(){return!(this||t).isPlaying&&((this||t).animations.length>0||(this||t).stateMachines.length>0)},enumerable:false,configurable:true});Object.defineProperty(Animator.prototype,\"isStopped\",{get:function(){return(this||t).animations.length===0&&(this||t).stateMachines.length===0},enumerable:false,configurable:true});\n/**\n         * If there are no animations or state machines, add the first one found\n         * @returns the name of the animation or state machine instanced\n         */Animator.prototype.atLeastOne=function(i,o){o===void 0&&(o=true);var s;(this||t).animations.length===0&&(this||t).stateMachines.length===0&&((this||t).artboard.animationCount()>0?this.add([s=(this||t).artboard.animationByIndex(0).name],i,o):(this||t).artboard.stateMachineCount()>0&&this.add([s=(this||t).artboard.stateMachineByIndex(0).name],i,o));return s};Animator.prototype.handleLooping=function(){for(var i=0,o=(this||t).animations.filter((function(t){return t.playing}));i<o.length;i++){var s=o[i];if(s.loopValue===0&&s.loopCount){s.loopCount=0;this.stop(s.name)}else if(s.loopValue===1&&s.loopCount){(this||t).eventManager.fire({type:x.Loop,data:{animation:s.name,type:j.Loop}});s.loopCount=0}else if(s.loopValue===2&&s.loopCount>1){(this||t).eventManager.fire({type:x.Loop,data:{animation:s.name,type:j.PingPong}});s.loopCount=0}}};Animator.prototype.handleStateChanges=function(){var i=[];for(var o=0,s=(this||t).stateMachines.filter((function(t){return t.playing}));o<s.length;o++){var h=s[o];i.push.apply(i,h.statesChanged)}i.length>0&&(this||t).eventManager.fire({type:x.StateChange,data:i})};Animator.prototype.handleAdvancing=function(i){(this||t).eventManager.fire({type:x.Advance,data:i})};return Animator}();var x;(function(t){t.Load=\"load\";t.LoadError=\"loaderror\";t.Play=\"play\";t.Pause=\"pause\";t.Stop=\"stop\";t.Loop=\"loop\";t.Draw=\"draw\";t.Advance=\"advance\";t.StateChange=\"statechange\";t.RiveEvent=\"riveevent\";t.AudioStatusChange=\"audiostatuschange\"})(x||(x={}));var j;(function(t){t.OneShot=\"oneshot\";t.Loop=\"loop\";t.PingPong=\"pingpong\"})(j||(j={}));var O=function(){function EventManager(i){i===void 0&&(i=[]);(this||t).listeners=i}EventManager.prototype.getListeners=function(i){return(this||t).listeners.filter((function(t){return t.type===i}))};EventManager.prototype.add=function(i){(this||t).listeners.includes(i)||(this||t).listeners.push(i)};\n/**\n         * Removes a listener\n         * @param listener the listener with the callback to be removed\n         */EventManager.prototype.remove=function(i){for(var o=0;o<(this||t).listeners.length;o++){var s=(this||t).listeners[o];if(s.type===i.type&&s.callback===i.callback){(this||t).listeners.splice(o,1);break}}};\n/**\n         * Clears all listeners of specified type, or every listener if no type is\n         * specified\n         * @param type the type of listeners to clear, or all listeners if not\n         * specified\n         */EventManager.prototype.removeAll=function(i){var o=this||t;i?(this||t).listeners.filter((function(t){return t.type===i})).forEach((function(t){return o.remove(t)})):(this||t).listeners.splice(0,(this||t).listeners.length)};EventManager.prototype.fire=function(t){var i=this.getListeners(t.type);i.forEach((function(i){return i.callback(t)}))};return EventManager}();var I=function(){function TaskQueueManager(i){(this||t).eventManager=i;(this||t).queue=[]}TaskQueueManager.prototype.add=function(i){(this||t).queue.push(i)};TaskQueueManager.prototype.process=function(){while((this||t).queue.length>0){var i=(this||t).queue.shift();(i===null||i===void 0?void 0:i.action)&&i.action();(i===null||i===void 0?void 0:i.event)&&(this||t).eventManager.fire(i.event)}};return TaskQueueManager}();var k;(function(t){t[t.AVAILABLE=0]=\"AVAILABLE\";t[t.UNAVAILABLE=1]=\"UNAVAILABLE\"})(k||(k={}));var D=function(i){m(AudioManager,i);function AudioManager(){var o=i!==null&&i.apply(this||t,arguments)||this||t;o._started=false;o._enabled=false;o._status=k.UNAVAILABLE;return o}AudioManager.prototype.delay=function(i){return y(this||t,void 0,void 0,(function(){return w(this||t,(function(t){return[2,new Promise((function(t){return setTimeout(t,i)}))]}))}))};AudioManager.prototype.timeout=function(){return y(this||t,void 0,void 0,(function(){return w(this||t,(function(t){return[2,new Promise((function(t,i){return setTimeout(i,50)}))]}))}))};AudioManager.prototype.reportToListeners=function(){this.fire({type:x.AudioStatusChange});this.removeAll()};AudioManager.prototype.enableAudio=function(){return y(this||t,void 0,void 0,(function(){return w(this||t,(function(i){if(!(this||t)._enabled){(this||t)._enabled=true;(this||t)._status=k.AVAILABLE;this.reportToListeners()}return[2]}))}))};AudioManager.prototype.testAudio=function(){return y(this||t,void 0,void 0,(function(){return w(this||t,(function(i){switch(i.label){case 0:if(!((this||t)._status===k.UNAVAILABLE&&(this||t)._audioContext!==null))return[3,4];i.label=1;case 1:i.trys.push([1,3,,4]);return[4,Promise.race([(this||t)._audioContext.resume(),this.timeout()])];case 2:i.sent();this.enableAudio();return[3,4];case 3:i.sent();return[3,4];case 4:return[2]}}))}))};AudioManager.prototype._establishAudio=function(){return y(this||t,void 0,void 0,(function(){return w(this||t,(function(i){switch(i.label){case 0:if(!!(this||t)._started)return[3,5];(this||t)._started=true;if(!(typeof window==\"undefined\"))return[3,1];this.enableAudio();return[3,5];case 1:(this||t)._audioContext=new AudioContext;this.listenForUserAction();i.label=2;case 2:return(this||t)._status===k.UNAVAILABLE?[4,this.testAudio()]:[3,5];case 3:i.sent();return[4,this.delay(1e3)];case 4:i.sent();return[3,2];case 5:return[2]}}))}))};AudioManager.prototype.listenForUserAction=function(){var i=this||t;var _clickListener=function(){return y(i,void 0,void 0,(function(){return w(this||t,(function(t){this.enableAudio();return[2]}))}))};document.addEventListener(\"pointerdown\",_clickListener,{once:true})};AudioManager.prototype.establishAudio=function(){return y(this||t,void 0,void 0,(function(){return w(this||t,(function(t){this._establishAudio();return[2]}))}))};Object.defineProperty(AudioManager.prototype,\"systemVolume\",{get:function(){if((this||t)._status===k.UNAVAILABLE){this.testAudio();return 0}return 1},enumerable:false,configurable:true});Object.defineProperty(AudioManager.prototype,\"status\",{get:function(){return(this||t)._status},enumerable:false,configurable:true});return AudioManager}(O);var U=new D;var N=function(){function FakeResizeObserver(){}FakeResizeObserver.prototype.observe=function(){};FakeResizeObserver.prototype.unobserve=function(){};FakeResizeObserver.prototype.disconnect=function(){};return FakeResizeObserver}();var $=globalThis.ResizeObserver||N;var z=function(){function ObjectObservers(){var i=this||t;(this||t)._elementsMap=new Map;(this||t)._onObservedEntry=function(t){var o=i._elementsMap.get(t.target);o!==null?o.onResize(t.target.clientWidth==0||t.target.clientHeight==0):i._resizeObserver.unobserve(t.target)};(this||t)._onObserved=function(t){t.forEach(i._onObservedEntry)};(this||t)._resizeObserver=new $((this||t)._onObserved)}ObjectObservers.prototype.add=function(i,o){var s={onResize:o,element:i};(this||t)._elementsMap.set(i,s);(this||t)._resizeObserver.observe(i);return s};ObjectObservers.prototype.remove=function(i){(this||t)._resizeObserver.unobserve(i.element);(this||t)._elementsMap.delete(i.element)};return ObjectObservers}();var X=new z;var H=function(){function RiveFile(i){(this||t).enableRiveAssetCDN=true;(this||t).referenceCount=0;(this||t).destroyed=false;(this||t).src=i.src;(this||t).buffer=i.buffer;i.assetLoader&&((this||t).assetLoader=i.assetLoader);(this||t).enableRiveAssetCDN=typeof i.enableRiveAssetCDN!=\"boolean\"||i.enableRiveAssetCDN;(this||t).eventManager=new O;i.onLoad&&this.on(x.Load,i.onLoad);i.onLoadError&&this.on(x.LoadError,i.onLoadError)}RiveFile.prototype.initData=function(){return y(this||t,void 0,void 0,(function(){var i,o,s;var h;return w(this||t,(function(v){switch(v.label){case 0:if(!(this||t).src)return[3,2];i=this||t;return[4,loadRiveFile((this||t).src)];case 1:i.buffer=v.sent();v.label=2;case 2:if((this||t).destroyed)return[2];(this||t).assetLoader&&(o=new(this||t).runtime.CustomFileAssetLoader({loadContents:(this||t).assetLoader}));s=this||t;return[4,(this||t).runtime.load(new Uint8Array((this||t).buffer),o,(this||t).enableRiveAssetCDN)];case 3:s.file=v.sent();if((this||t).destroyed){(h=(this||t).file)===null||h===void 0?void 0:h.delete();(this||t).file=null;return[2]}if((this||t).file===null){(this||t).eventManager.fire({type:x.LoadError,data:null});throw new Error(RiveFile.fileLoadErrorMessage)}(this||t).eventManager.fire({type:x.Load,data:this||t});return[2]}}))}))};RiveFile.prototype.init=function(){return y(this||t,void 0,void 0,(function(){var i;return w(this||t,(function(o){switch(o.label){case 0:if(!(this||t).src&&!(this||t).buffer)throw new Error(RiveFile.missingErrorMessage);i=this||t;return[4,E.awaitInstance()];case 1:i.runtime=o.sent();return(this||t).destroyed?[2]:[4,this.initData()];case 2:o.sent();return[2]}}))}))};\n/**\n         * Subscribe to Rive-generated events\n         * @param type the type of event to subscribe to\n         * @param callback callback to fire when the event occurs\n         */RiveFile.prototype.on=function(i,o){(this||t).eventManager.add({type:i,callback:o})};\n/**\n         * Unsubscribes from a Rive-generated event\n         * @param type the type of event to unsubscribe from\n         * @param callback the callback to unsubscribe\n         */RiveFile.prototype.off=function(i,o){(this||t).eventManager.remove({type:i,callback:o})};RiveFile.prototype.cleanup=function(){var i;(this||t).referenceCount-=1;if((this||t).referenceCount<=0){this.removeAllRiveEventListeners();(i=(this||t).file)===null||i===void 0?void 0:i.delete();(this||t).file=null;(this||t).destroyed=true}};\n/**\n         * Unsubscribes all Rive listeners from an event type, or everything if no type is\n         * given\n         * @param type the type of event to unsubscribe from, or all types if\n         * undefined\n         */RiveFile.prototype.removeAllRiveEventListeners=function(i){(this||t).eventManager.removeAll(i)};RiveFile.prototype.getInstance=function(){if((this||t).file!==null){(this||t).referenceCount+=1;return(this||t).file}};RiveFile.missingErrorMessage=\"Rive source file or data buffer required\";RiveFile.fileLoadErrorMessage=\"The file failed to load\";return RiveFile}();var G=function(){function Rive(i){var o=this||t;var s;(this||t).loaded=false;(this||t)._observed=null;(this||t).readyForPlaying=false;(this||t).artboard=null;(this||t).eventCleanup=null;(this||t).shouldDisableRiveListeners=false;(this||t).automaticallyHandleEvents=false;(this||t).enableRiveAssetCDN=true;(this||t)._volume=1;(this||t)._artboardWidth=void 0;(this||t)._artboardHeight=void 0;(this||t)._devicePixelRatioUsed=1;(this||t)._hasZeroSize=false;(this||t)._audioEventListener=null;(this||t)._boundDraw=null;(this||t).durations=[];(this||t).frameTimes=[];(this||t).frameCount=0;(this||t).isTouchScrollEnabled=false;(this||t).onCanvasResize=function(t){var i=o._hasZeroSize!==t;o._hasZeroSize=t;t?o._layout.maxX&&o._layout.maxY||o.resizeToCanvas():i&&o.resizeDrawingSurfaceToCanvas()};(this||t).renderSecondTimer=0;(this||t)._boundDraw=(this||t).draw.bind(this||t);(this||t).canvas=i.canvas;i.canvas.constructor===HTMLCanvasElement&&((this||t)._observed=X.add((this||t).canvas,(this||t).onCanvasResize));(this||t).src=i.src;(this||t).buffer=i.buffer;(this||t).riveFile=i.riveFile;(this||t).layout=(s=i.layout)!==null&&s!==void 0?s:new C;(this||t).shouldDisableRiveListeners=!!i.shouldDisableRiveListeners;(this||t).isTouchScrollEnabled=!!i.isTouchScrollEnabled;(this||t).automaticallyHandleEvents=!!i.automaticallyHandleEvents;(this||t).enableRiveAssetCDN=i.enableRiveAssetCDN===void 0||i.enableRiveAssetCDN;(this||t).eventManager=new O;i.onLoad&&this.on(x.Load,i.onLoad);i.onLoadError&&this.on(x.LoadError,i.onLoadError);i.onPlay&&this.on(x.Play,i.onPlay);i.onPause&&this.on(x.Pause,i.onPause);i.onStop&&this.on(x.Stop,i.onStop);i.onLoop&&this.on(x.Loop,i.onLoop);i.onStateChange&&this.on(x.StateChange,i.onStateChange);i.onAdvance&&this.on(x.Advance,i.onAdvance)\n/**\n           * @deprecated Use camelCase'd versions instead.\n           */;i.onload&&!i.onLoad&&this.on(x.Load,i.onload);i.onloaderror&&!i.onLoadError&&this.on(x.LoadError,i.onloaderror);i.onplay&&!i.onPlay&&this.on(x.Play,i.onplay);i.onpause&&!i.onPause&&this.on(x.Pause,i.onpause);i.onstop&&!i.onStop&&this.on(x.Stop,i.onstop);i.onloop&&!i.onLoop&&this.on(x.Loop,i.onloop);i.onstatechange&&!i.onStateChange&&this.on(x.StateChange,i.onstatechange);i.assetLoader&&((this||t).assetLoader=i.assetLoader);(this||t).taskQueue=new I((this||t).eventManager);this.init({src:(this||t).src,buffer:(this||t).buffer,riveFile:(this||t).riveFile,autoplay:i.autoplay,animations:i.animations,stateMachines:i.stateMachines,artboard:i.artboard,useOffscreenRenderer:i.useOffscreenRenderer})}Rive.new=function(t){console.warn(\"This function is deprecated: please use `new Rive({})` instead\");return new Rive(t)};Rive.prototype.onSystemAudioChanged=function(){(this||t).volume=(this||t)._volume};Rive.prototype.init=function(i){var o=this||t;var s=i.src,h=i.buffer,v=i.riveFile,m=i.animations,y=i.stateMachines,w=i.artboard,_=i.autoplay,A=_!==void 0&&_,R=i.useOffscreenRenderer,C=R!==void 0&&R;(this||t).src=s;(this||t).buffer=h;(this||t).riveFile=v;if(!(this||t).src&&!(this||t).buffer&&!(this||t).riveFile)throw new Error(Rive.missingErrorMessage);var L=mapToStringArray(m);var T=mapToStringArray(y);(this||t).loaded=false;(this||t).readyForPlaying=false;E.awaitInstance().then((function(t){o.runtime=t;o.removeRiveListeners();o.deleteRiveRenderer();o.renderer=o.runtime.makeRenderer(o.canvas,C);o.canvas.width||o.canvas.height||o.resizeDrawingSurfaceToCanvas();o.initData(w,L,T,A).then((function(){return o.setupRiveListeners()})).catch((function(t){console.error(t)}))})).catch((function(t){console.error(t)}))};\n/**\n         * Setup Rive Listeners on the canvas\n         * @param riveListenerOptions - Enables TouchEvent events on the canvas. Set to true to allow\n         * touch scrolling on the canvas element on touch-enabled devices\n         * i.e. { isTouchScrollEnabled: true }\n         */Rive.prototype.setupRiveListeners=function(i){var o=this||t;(this||t).eventCleanup&&this.eventCleanup();if(!(this||t).shouldDisableRiveListeners){var s=((this||t).animator.stateMachines||[]).filter((function(t){return t.playing&&o.runtime.hasListeners(t.instance)})).map((function(t){return t.instance}));var h=(this||t).isTouchScrollEnabled;i&&\"isTouchScrollEnabled\"in i&&(h=i.isTouchScrollEnabled);(this||t).eventCleanup=(0,v.registerTouchInteractions)({canvas:(this||t).canvas,artboard:(this||t).artboard,stateMachines:s,renderer:(this||t).renderer,rive:(this||t).runtime,fit:(this||t)._layout.runtimeFit((this||t).runtime),alignment:(this||t)._layout.runtimeAlignment((this||t).runtime),isTouchScrollEnabled:h,layoutScaleFactor:(this||t)._layout.layoutScaleFactor})}};Rive.prototype.removeRiveListeners=function(){if((this||t).eventCleanup){this.eventCleanup();(this||t).eventCleanup=null}};Rive.prototype.initializeAudio=function(){var i=this||t;var o;if(U.status==k.UNAVAILABLE&&((o=(this||t).artboard)===null||o===void 0?void 0:o.hasAudio)&&(this||t)._audioEventListener===null){(this||t)._audioEventListener={type:x.AudioStatusChange,callback:function(){return i.onSystemAudioChanged()}};U.add((this||t)._audioEventListener);U.establishAudio()}};Rive.prototype.initArtboardSize=function(){if((this||t).artboard){(this||t)._artboardWidth=(this||t).artboard.width=(this||t)._artboardWidth||(this||t).artboard.width;(this||t)._artboardHeight=(this||t).artboard.height=(this||t)._artboardHeight||(this||t).artboard.height}};Rive.prototype.initData=function(i,o,s,h){return y(this||t,void 0,void 0,(function(){var v,m;var y;return w(this||t,(function(w){switch(w.label){case 0:w.trys.push([0,3,,4]);if(!((this||t).riveFile==null))return[3,2];(this||t).riveFile=new H({src:(this||t).src,buffer:(this||t).buffer,enableRiveAssetCDN:(this||t).enableRiveAssetCDN,assetLoader:(this||t).assetLoader});return[4,(this||t).riveFile.init()];case 1:w.sent();w.label=2;case 2:if(!(this||t).riveFile)throw new _(Rive.cleanupErrorMessage);(this||t).file=(this||t).riveFile.getInstance();this.initArtboard(i,o,s,h);this.initArtboardSize();this.initializeAudio();(this||t).loaded=true;(this||t).eventManager.fire({type:x.Load,data:(y=(this||t).src)!==null&&y!==void 0?y:\"buffer\"});(this||t).readyForPlaying=true;(this||t).taskQueue.process();this.drawFrame();return[2,Promise.resolve()];case 3:v=w.sent();m=resolveErrorMessage(v);console.warn(m);(this||t).eventManager.fire({type:x.LoadError,data:m});return[2,Promise.reject(m)];case 4:return[2]}}))}))};Rive.prototype.initArtboard=function(i,o,s,h){if((this||t).file){var v=i?(this||t).file.artboardByName(i):(this||t).file.defaultArtboard();if(v){(this||t).artboard=v;v.volume=(this||t)._volume*U.systemVolume;if((this||t).artboard.animationCount()<1){y=\"Artboard has no animations\";(this||t).eventManager.fire({type:x.LoadError,data:y});throw y}(this||t).animator=new F((this||t).runtime,(this||t).artboard,(this||t).eventManager);var m;if(o.length>0||s.length>0){m=o.concat(s);(this||t).animator.initLinearAnimations(o,h);(this||t).animator.initStateMachines(s,h)}else m=[(this||t).animator.atLeastOne(h,false)];(this||t).taskQueue.add({event:{type:h?x.Play:x.Pause,data:m}})}else{var y=\"Invalid artboard name or no default artboard\";console.warn(y);(this||t).eventManager.fire({type:x.LoadError,data:y})}}};Rive.prototype.drawFrame=function(){var i;((i=document===null||document===void 0?void 0:document.timeline)===null||i===void 0?void 0:i.currentTime)?(this||t).loaded&&(this||t).artboard&&!(this||t).frameRequestId&&this._boundDraw(document.timeline.currentTime):this.startRendering()};\n/**\n         * Draw rendering loop; renders animation frames at the correct time interval.\n         * @param time the time at which to render a frame\n         */Rive.prototype.draw=function(i,o){(this||t).frameRequestId=null;var s=performance.now();(this||t).lastRenderTime||((this||t).lastRenderTime=i);(this||t).renderSecondTimer+=i-(this||t).lastRenderTime;if((this||t).renderSecondTimer>5e3){(this||t).renderSecondTimer=0;o===null||o===void 0?void 0:o()}var h=(i-(this||t).lastRenderTime)/1e3;(this||t).lastRenderTime=i;var m=(this||t).animator.animations.filter((function(t){return t.playing||t.needsScrub})).sort((function(t){return t.needsScrub?-1:1}));for(var y=0,w=m;y<w.length;y++){var _=w[y];_.advance(h);_.instance.didLoop&&(_.loopCount+=1);_.apply(1)}var A=(this||t).animator.stateMachines.filter((function(t){return t.playing}));for(var R=0,C=A;R<C.length;R++){var E=C[R];var L=E.reportedEventCount();if(L)for(var T=0;T<L;T++){var M=E.reportedEventAt(T);if(M)if(M.type===P.OpenUrl){(this||t).eventManager.fire({type:x.RiveEvent,data:M});if((this||t).automaticallyHandleEvents){var F=document.createElement(\"a\");var j=M,O=j.url,I=j.target;var k=(0,v.sanitizeUrl)(O);O&&F.setAttribute(\"href\",k);I&&F.setAttribute(\"target\",I);k&&k!==v.BLANK_URL&&F.click()}}else(this||t).eventManager.fire({type:x.RiveEvent,data:M})}E.advanceAndApply(h)}(this||t).animator.stateMachines.length==0&&(this||t).artboard.advance(h);var D=(this||t).renderer;D.clear();D.save();this.alignRenderer();(this||t)._hasZeroSize||(this||t).artboard.draw(D);D.restore();D.flush();(this||t).animator.handleLooping();(this||t).animator.handleStateChanges();(this||t).animator.handleAdvancing(h);(this||t).frameCount++;var U=performance.now();(this||t).frameTimes.push(U);(this||t).durations.push(U-s);while((this||t).frameTimes[0]<=U-1e3){(this||t).frameTimes.shift();(this||t).durations.shift()}(this||t).animator.isPlaying?this.startRendering():((this||t).animator.isPaused||(this||t).animator.isStopped)&&((this||t).lastRenderTime=0)};Rive.prototype.alignRenderer=function(){var i=this||t,o=i.renderer,s=i.runtime,h=i._layout,v=i.artboard;o.align(h.runtimeFit(s),h.runtimeAlignment(s),{minX:h.minX,minY:h.minY,maxX:h.maxX,maxY:h.maxY},v.bounds,(this||t)._devicePixelRatioUsed*h.layoutScaleFactor)};Object.defineProperty(Rive.prototype,\"fps\",{get:function(){return(this||t).durations.length},enumerable:false,configurable:true});Object.defineProperty(Rive.prototype,\"frameTime\",{get:function(){return(this||t).durations.length===0?0:((this||t).durations.reduce((function(t,i){return t+i}),0)/(this||t).durations.length).toFixed(4)},enumerable:false,configurable:true});Rive.prototype.cleanup=function(){var i;this.stopRendering();this.cleanupInstances();(this||t)._observed!==null&&X.remove((this||t)._observed);this.removeRiveListeners();(i=(this||t).riveFile)===null||i===void 0?void 0:i.cleanup();(this||t).riveFile=null;(this||t).file=null;this.deleteRiveRenderer();if((this||t)._audioEventListener!==null){U.remove((this||t)._audioEventListener);(this||t)._audioEventListener=null}};Rive.prototype.deleteRiveRenderer=function(){var i;(i=(this||t).renderer)===null||i===void 0?void 0:i.delete();(this||t).renderer=null};Rive.prototype.cleanupInstances=function(){(this||t).eventCleanup!==null&&this.eventCleanup();this.stop();if((this||t).artboard){(this||t).artboard.delete();(this||t).artboard=null}};\n/**\n         * Tries to query the setup Artboard for a text run node with the given name.\n         *\n         * @param textRunName - Name of the text run node associated with a text object\n         * @returns - TextValueRun node or undefined if the text run cannot be queried\n         */Rive.prototype.retrieveTextRun=function(i){var o;if(i)if((this||t).artboard){var s=(this||t).artboard.textRun(i);if(s)return s;console.warn(\"Could not access a text run with name '\".concat(i,\"' in the '\").concat((o=(this||t).artboard)===null||o===void 0?void 0:o.name,\"' Artboard. Note that you must rename a text run node in the Rive editor to make it queryable at runtime.\"))}else console.warn(\"Tried to access text run, but the Artboard is null\");else console.warn(\"No text run name provided\")};\n/**\n         * Returns a string from a given text run node name, or undefined if the text run\n         * cannot be queried.\n         *\n         * @param textRunName - Name of the text run node associated with a text object\n         * @returns - String value of the text run node or undefined\n         */Rive.prototype.getTextRunValue=function(t){var i=this.retrieveTextRun(t);return i?i.text:void 0};\n/**\n         * Sets a text value for a given text run node name if possible\n         *\n         * @param textRunName - Name of the text run node associated with a text object\n         * @param textRunValue - String value to set on the text run node\n         */Rive.prototype.setTextRunValue=function(t,i){var o=this.retrieveTextRun(t);o&&(o.text=i)};Rive.prototype.play=function(i,o){var s=this||t;i=mapToStringArray(i);if((this||t).readyForPlaying){(this||t).animator.play(i);(this||t).eventCleanup&&this.eventCleanup();this.setupRiveListeners();this.startRendering()}else(this||t).taskQueue.add({action:function(){return s.play(i,o)}})};Rive.prototype.pause=function(i){var o=this||t;i=mapToStringArray(i);if((this||t).readyForPlaying){(this||t).eventCleanup&&this.eventCleanup();(this||t).animator.pause(i)}else(this||t).taskQueue.add({action:function(){return o.pause(i)}})};Rive.prototype.scrub=function(i,o){var s=this||t;i=mapToStringArray(i);if((this||t).readyForPlaying){(this||t).animator.scrub(i,o||0);this.drawFrame()}else(this||t).taskQueue.add({action:function(){return s.scrub(i,o)}})};Rive.prototype.stop=function(i){var o=this||t;i=mapToStringArray(i);if((this||t).readyForPlaying){(this||t).animator&&(this||t).animator.stop(i);(this||t).eventCleanup&&this.eventCleanup()}else(this||t).taskQueue.add({action:function(){return o.stop(i)}})};\n/**\n         * Resets the animation\n         * @param artboard the name of the artboard, or default if none given\n         * @param animations the names of animations for playback\n         * @param stateMachines the names of state machines for playback\n         * @param autoplay whether to autoplay when reset, defaults to false\n         *\n         */Rive.prototype.reset=function(i){var o;var s=i===null||i===void 0?void 0:i.artboard;var h=mapToStringArray(i===null||i===void 0?void 0:i.animations);var v=mapToStringArray(i===null||i===void 0?void 0:i.stateMachines);var m=(o=i===null||i===void 0?void 0:i.autoplay)!==null&&o!==void 0&&o;this.cleanupInstances();this.initArtboard(s,h,v,m);(this||t).taskQueue.process()};Rive.prototype.load=function(i){(this||t).file=null;this.stop();this.init(i)};Object.defineProperty(Rive.prototype,\"layout\",{get:function(){return(this||t)._layout},set:function(i){(this||t)._layout=i;i.maxX&&i.maxY||this.resizeToCanvas();(this||t).loaded&&!(this||t).animator.isPlaying&&this.drawFrame()},enumerable:false,configurable:true});Rive.prototype.resizeToCanvas=function(){(this||t)._layout=(this||t).layout.copyWith({minX:0,minY:0,maxX:(this||t).canvas.width,maxY:(this||t).canvas.height})};Rive.prototype.resizeDrawingSurfaceToCanvas=function(i){if((this||t).canvas instanceof HTMLCanvasElement&&!!window){var o=(this||t).canvas.getBoundingClientRect(),s=o.width,h=o.height;var v=i||window.devicePixelRatio||1;(this||t).devicePixelRatioUsed=v;(this||t).canvas.width=v*s;(this||t).canvas.height=v*h;this.resizeToCanvas();this.drawFrame();if((this||t).layout.fit===A.Layout){var m=(this||t)._layout.layoutScaleFactor;(this||t).artboard.width=s/m;(this||t).artboard.height=h/m}}};Object.defineProperty(Rive.prototype,\"source\",{get:function(){return(this||t).src},enumerable:false,configurable:true});Object.defineProperty(Rive.prototype,\"activeArtboard\",{get:function(){return(this||t).artboard?(this||t).artboard.name:\"\"},enumerable:false,configurable:true});Object.defineProperty(Rive.prototype,\"animationNames\",{get:function(){if(!(this||t).loaded||!(this||t).artboard)return[];var i=[];for(var o=0;o<(this||t).artboard.animationCount();o++)i.push((this||t).artboard.animationByIndex(o).name);return i},enumerable:false,configurable:true});Object.defineProperty(Rive.prototype,\"stateMachineNames\",{get:function(){if(!(this||t).loaded||!(this||t).artboard)return[];var i=[];for(var o=0;o<(this||t).artboard.stateMachineCount();o++)i.push((this||t).artboard.stateMachineByIndex(o).name);return i},enumerable:false,configurable:true});\n/**\n         * Returns the inputs for the specified instanced state machine, or an empty\n         * list if the name is invalid or the state machine is not instanced\n         * @param name the state machine name\n         * @returns the inputs for the named state machine\n         */Rive.prototype.stateMachineInputs=function(i){if((this||t).loaded){var o=(this||t).animator.stateMachines.find((function(t){return t.name===i}));return o===null||o===void 0?void 0:o.inputs}};Rive.prototype.retrieveInputAtPath=function(i,o){if(i)if((this||t).artboard){var s=(this||t).artboard.inputByPath(i,o);if(s)return s;console.warn(\"Could not access an input with name: '\".concat(i,\"', at path:'\").concat(o,\"'\"))}else console.warn(\"Tried to access input: '\".concat(i,\"', at path: '\").concat(o,\"', but the Artboard is null\"));else console.warn(\"No input name provided for path '\".concat(o,\"'\"))};\n/**\n         * Set the boolean input with the provided name at the given path with value\n         * @param input the state machine input name\n         * @param value the value to set the input to\n         * @param path the path the input is located at an artboard level\n         */Rive.prototype.setBooleanStateAtPath=function(t,i,o){var s=this.retrieveInputAtPath(t,o);s&&(s.type===L.Boolean?s.asBool().value=i:console.warn(\"Input with name: '\".concat(t,\"', at path:'\").concat(o,\"' is not a boolean\")))};\n/**\n         * Set the number input with the provided name at the given path with value\n         * @param input the state machine input name\n         * @param value the value to set the input to\n         * @param path the path the input is located at an artboard level\n         */Rive.prototype.setNumberStateAtPath=function(t,i,o){var s=this.retrieveInputAtPath(t,o);s&&(s.type===L.Number?s.asNumber().value=i:console.warn(\"Input with name: '\".concat(t,\"', at path:'\").concat(o,\"' is not a number\")))};\n/**\n         * Fire the trigger with the provided name at the given path\n         * @param input the state machine input name\n         * @param path the path the input is located at an artboard level\n         */Rive.prototype.fireStateAtPath=function(t,i){var o=this.retrieveInputAtPath(t,i);o&&(o.type===L.Trigger?o.asTrigger().fire():console.warn(\"Input with name: '\".concat(t,\"', at path:'\").concat(i,\"' is not a trigger\")))};Rive.prototype.retrieveTextAtPath=function(i,o){if(i)if(o)if((this||t).artboard){var s=(this||t).artboard.textByPath(i,o);if(s)return s;console.warn(\"Could not access text with name: '\".concat(i,\"', at path:'\").concat(o,\"'\"))}else console.warn(\"Tried to access text: '\".concat(i,\"', at path: '\").concat(o,\"', but the Artboard is null\"));else console.warn(\"No path provided for text '\".concat(i,\"'\"));else console.warn(\"No text name provided for path '\".concat(o,\"'\"))};\n/**\n         * Retrieves the text value for a specified text run at a given path\n         * @param textName The name of the text run\n         * @param path The path to the text run within the artboard\n         * @returns The text value of the text run, or undefined if not found\n         *\n         * @example\n         * // Get the text value for a text run named \"title\" at one nested artboard deep\n         * const titleText = riveInstance.getTextRunValueAtPath(\"title\", \"artboard1\");\n         *\n         * @example\n         * // Get the text value for a text run named \"subtitle\" within a nested group two artboards deep\n         * const subtitleText = riveInstance.getTextRunValueAtPath(\"subtitle\", \"group/nestedGroup\");\n         *\n         * @remarks\n         * If the text run cannot be found at the specified path, a warning will be logged to the console.\n         */Rive.prototype.getTextRunValueAtPath=function(t,i){var o=this.retrieveTextAtPath(t,i);if(o)return o.text;console.warn(\"Could not get text with name: '\".concat(t,\"', at path:'\").concat(i,\"'\"))};\n/**\n         * Sets the text value for a specified text run at a given path\n         * @param textName The name of the text run\n         * @param value The new text value to set\n         * @param path The path to the text run within the artboard\n         * @returns void\n         *\n         * @example\n         * // Set the text value for a text run named \"title\" at one nested artboard deep\n         * riveInstance.setTextRunValueAtPath(\"title\", \"New Title\", \"artboard1\");\n         *\n         * @example\n         * // Set the text value for a text run named \"subtitle\" within a nested group two artboards deep\n         * riveInstance.setTextRunValueAtPath(\"subtitle\", \"New Subtitle\", \"group/nestedGroup\");\n         *\n         * @remarks\n         * If the text run cannot be found at the specified path, a warning will be logged to the console.\n         */Rive.prototype.setTextRunValueAtPath=function(t,i,o){var s=this.retrieveTextAtPath(t,o);s?s.text=i:console.warn(\"Could not set text with name: '\".concat(t,\"', at path:'\").concat(o,\"'\"))};Object.defineProperty(Rive.prototype,\"playingStateMachineNames\",{get:function(){return(this||t).loaded?(this||t).animator.stateMachines.filter((function(t){return t.playing})).map((function(t){return t.name})):[]},enumerable:false,configurable:true});Object.defineProperty(Rive.prototype,\"playingAnimationNames\",{get:function(){return(this||t).loaded?(this||t).animator.animations.filter((function(t){return t.playing})).map((function(t){return t.name})):[]},enumerable:false,configurable:true});Object.defineProperty(Rive.prototype,\"pausedAnimationNames\",{get:function(){return(this||t).loaded?(this||t).animator.animations.filter((function(t){return!t.playing})).map((function(t){return t.name})):[]},enumerable:false,configurable:true});Object.defineProperty(Rive.prototype,\"pausedStateMachineNames\",{\n/**\n           *  Returns a list of paused machine names\n           * @returns a list of state machine names that are paused\n           */\nget:function(){return(this||t).loaded?(this||t).animator.stateMachines.filter((function(t){return!t.playing})).map((function(t){return t.name})):[]},enumerable:false,configurable:true});Object.defineProperty(Rive.prototype,\"isPlaying\",{\n/**\n           * @returns true if any animation is playing\n           */\nget:function(){return(this||t).animator.isPlaying},enumerable:false,configurable:true});Object.defineProperty(Rive.prototype,\"isPaused\",{\n/**\n           * @returns true if all instanced animations are paused\n           */\nget:function(){return(this||t).animator.isPaused},enumerable:false,configurable:true});Object.defineProperty(Rive.prototype,\"isStopped\",{\n/**\n           * @returns true if no animations are playing or paused\n           */\nget:function(){return(this||t).animator.isStopped},enumerable:false,configurable:true});Object.defineProperty(Rive.prototype,\"bounds\",{\n/**\n           * @returns the bounds of the current artboard, or undefined if the artboard\n           * isn't loaded yet.\n           */\nget:function(){return(this||t).artboard?(this||t).artboard.bounds:void 0},enumerable:false,configurable:true});\n/**\n         * Subscribe to Rive-generated events\n         * @param type the type of event to subscribe to\n         * @param callback callback to fire when the event occurs\n         */Rive.prototype.on=function(i,o){(this||t).eventManager.add({type:i,callback:o})};\n/**\n         * Unsubscribes from a Rive-generated event\n         * @param type the type of event to unsubscribe from\n         * @param callback the callback to unsubscribe\n         */Rive.prototype.off=function(i,o){(this||t).eventManager.remove({type:i,callback:o})};\n/**\n         * Unsubscribes from a Rive-generated event\n         * @deprecated\n         * @param callback the callback to unsubscribe from\n         */Rive.prototype.unsubscribe=function(t,i){console.warn(\"This function is deprecated: please use `off()` instead.\");this.off(t,i)};\n/**\n         * Unsubscribes all Rive listeners from an event type, or everything if no type is\n         * given\n         * @param type the type of event to unsubscribe from, or all types if\n         * undefined\n         */Rive.prototype.removeAllRiveEventListeners=function(i){(this||t).eventManager.removeAll(i)};\n/**\n         * Unsubscribes all listeners from an event type, or everything if no type is\n         * given\n         * @deprecated\n         * @param type the type of event to unsubscribe from, or all types if\n         * undefined\n         */Rive.prototype.unsubscribeAll=function(t){console.warn(\"This function is deprecated: please use `removeAllRiveEventListeners()` instead.\");this.removeAllRiveEventListeners(t)};Rive.prototype.stopRendering=function(){if((this||t).loaded&&(this||t).frameRequestId){(this||t).runtime.cancelAnimationFrame?(this||t).runtime.cancelAnimationFrame((this||t).frameRequestId):cancelAnimationFrame((this||t).frameRequestId);(this||t).frameRequestId=null}};Rive.prototype.startRendering=function(){(this||t).loaded&&(this||t).artboard&&!(this||t).frameRequestId&&((this||t).runtime.requestAnimationFrame?(this||t).frameRequestId=(this||t).runtime.requestAnimationFrame((this||t)._boundDraw):(this||t).frameRequestId=requestAnimationFrame((this||t)._boundDraw))};\n/**\n         * Enables frames-per-second (FPS) reporting for the runtime\n         * If no callback is provided, Rive will append a fixed-position div at the top-right corner of\n         * the page with the FPS reading\n         * @param fpsCallback - Callback from the runtime during the RAF loop that supplies the FPS value\n         */Rive.prototype.enableFPSCounter=function(i){(this||t).runtime.enableFPSCounter(i)};Rive.prototype.disableFPSCounter=function(){(this||t).runtime.disableFPSCounter()};Object.defineProperty(Rive.prototype,\"contents\",{get:function(){if((this||t).loaded){var i={artboards:[]};for(var o=0;o<(this||t).file.artboardCount();o++){var s=(this||t).file.artboardByIndex(o);var h={name:s.name,animations:[],stateMachines:[]};for(var v=0;v<s.animationCount();v++){var m=s.animationByIndex(v);h.animations.push(m.name)}for(var y=0;y<s.stateMachineCount();y++){var w=s.stateMachineByIndex(y);var _=w.name;var A=new(this||t).runtime.StateMachineInstance(w,s);var R=[];for(var C=0;C<A.inputCount();C++){var E=A.input(C);R.push({name:E.name,type:E.type})}h.stateMachines.push({name:_,inputs:R})}i.artboards.push(h)}return i}},enumerable:false,configurable:true});Object.defineProperty(Rive.prototype,\"volume\",{get:function(){(this||t).artboard&&(this||t).artboard.volume!==(this||t)._volume&&((this||t)._volume=(this||t).artboard.volume);return(this||t)._volume},set:function(i){(this||t)._volume=i;(this||t).artboard&&((this||t).artboard.volume=i*U.systemVolume)},enumerable:false,configurable:true});Object.defineProperty(Rive.prototype,\"artboardWidth\",{get:function(){var i;return(this||t).artboard?(this||t).artboard.width:(i=(this||t)._artboardWidth)!==null&&i!==void 0?i:0},set:function(i){(this||t)._artboardWidth=i;(this||t).artboard&&((this||t).artboard.width=i)},enumerable:false,configurable:true});Object.defineProperty(Rive.prototype,\"artboardHeight\",{get:function(){var i;return(this||t).artboard?(this||t).artboard.height:(i=(this||t)._artboardHeight)!==null&&i!==void 0?i:0},set:function(i){(this||t)._artboardHeight=i;(this||t).artboard&&((this||t).artboard.height=i)},enumerable:false,configurable:true});Rive.prototype.resetArtboardSize=function(){if((this||t).artboard){(this||t).artboard.resetArtboardSize();(this||t)._artboardWidth=(this||t).artboard.width;(this||t)._artboardHeight=(this||t).artboard.height}else{(this||t)._artboardWidth=void 0;(this||t)._artboardHeight=void 0}};Object.defineProperty(Rive.prototype,\"devicePixelRatioUsed\",{get:function(){return(this||t)._devicePixelRatioUsed},set:function(i){(this||t)._devicePixelRatioUsed=i},enumerable:false,configurable:true});Rive.missingErrorMessage=\"Rive source file or data buffer required\";Rive.cleanupErrorMessage=\"Attempt to use file after calling cleanup.\";return Rive}();var loadRiveFile=function(i){return y(void 0,void 0,void 0,(function(){var o,s,h;return w(this||t,(function(t){switch(t.label){case 0:o=new Request(i);return[4,fetch(o)];case 1:s=t.sent();return[4,s.arrayBuffer()];case 2:h=t.sent();return[2,h]}}))}))};var mapToStringArray=function(t){return typeof t===\"string\"?[t]:t instanceof Array?t:[]};var q={EventManager:O,TaskQueueManager:I};var decodeAudio=function(t){return new Promise((function(i){return E.getInstance((function(o){o.decodeAudio(t,i)}))}))};var decodeImage=function(t){return new Promise((function(i){return E.getInstance((function(o){o.decodeImage(t,i)}))}))};var decodeFont=function(t){return new Promise((function(i){return E.getInstance((function(o){o.decodeFont(t,i)}))}))}})();return s})()));var o=i;const s=i.rive,h=i.__esModule;export{h as __esModule,o as default,s as rive};\n//# sourceMappingURL=rive.js.map\n", "import*as t from\"react\";import*as i from\"@rive-app/canvas\";var l=t;try{\"default\"in t&&(l=t.default)}catch(p){}var f=i;try{\"default\"in i&&(f=i.default)}catch(p){}var d=typeof globalThis!==\"undefined\"?globalThis:typeof self!==\"undefined\"?self:global;var v={};Object.defineProperty(v,\"__esModule\",{value:!0});var p=l,y=f;function n(t){return t&&\"object\"==typeof t&&\"default\"in t?t:{default:t}}var g=n(p),r=function(){return r=Object.assign||function(t){for(var i,l=1,f=arguments.length;l<f;l++)for(var d in i=arguments[l])Object.prototype.hasOwnProperty.call(i,d)&&(t[d]=i[d]);return t},r.apply(this||d,arguments)};function o(t,i){var l={};for(var f in t)Object.prototype.hasOwnProperty.call(t,f)&&i.indexOf(f)<0&&(l[f]=t[f]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols){var d=0;for(f=Object.getOwnPropertySymbols(t);d<f.length;d++)i.indexOf(f[d])<0&&Object.prototype.propertyIsEnumerable.call(t,f[d])&&(l[f[d]]=t[f[d]])}return l}function a(t,i,l,f){return new(l||(l=Promise))((function(d,v){function a(t){try{s(f.next(t))}catch(t){v(t)}}function u(t){try{s(f.throw(t))}catch(t){v(t)}}function s(t){var i;t.done?d(t.value):(i=t.value,i instanceof l?i:new l((function(t){t(i)}))).then(a,u)}s((f=f.apply(t,i||[])).next())}))}function u(t,i){var l,f,v,p={label:0,sent:function(){if(1&v[0])throw v[1];return v[1]},trys:[],ops:[]},y=Object.create((\"function\"==typeof Iterator?Iterator:Object).prototype);return y.next=u(0),y.throw=u(1),y.return=u(2),\"function\"==typeof Symbol&&(y[Symbol.iterator]=function(){return this||d}),y;function u(d){return function(g){return function(d){if(l)throw new TypeError(\"Generator is already executing.\");for(;y&&(y=0,d[0]&&(p=0)),p;)try{if(l=1,f&&(v=2&d[0]?f.return:d[0]?f.throw||((v=f.return)&&v.call(f),0):f.next)&&!(v=v.call(f,d[1])).done)return v;switch(f=0,v&&(d=[2&d[0],v.value]),d[0]){case 0:case 1:v=d;break;case 4:return p.label++,{value:d[1],done:!1};case 5:p.label++,f=d[1],d=[0];continue;case 7:d=p.ops.pop(),p.trys.pop();continue;default:if(!(v=p.trys,(v=v.length>0&&v[v.length-1])||6!==d[0]&&2!==d[0])){p=0;continue}if(3===d[0]&&(!v||d[1]>v[0]&&d[1]<v[3])){p.label=d[1];break}if(6===d[0]&&p.label<v[1]){p.label=v[1],v=d;break}if(v&&p.label<v[2]){p.label=v[2],p.ops.push(d);break}v[2]&&p.ops.pop(),p.trys.pop();continue}d=i.call(t,p)}catch(t){d=[6,t],f=0}finally{l=v=0}if(5&d[0])throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}([d,g])}}}function s(t){var i=t||c(),l=p.useState(i),f=l[0],d=l[1];return p.useEffect((function(){if(\"undefined\"!=typeof window&&\"matchMedia\"in window){var e=function(){var i=t||c();d(i)},i=window.matchMedia(\"screen and (resolution: \".concat(f,\"dppx)\"));return i.hasOwnProperty(\"addEventListener\")?i.addEventListener(\"change\",e):i.addListener(e),function(){i.hasOwnProperty(\"removeEventListener\")?i.removeEventListener(\"change\",e):i.removeListener(e)}}}),[f,t]),f}function c(){var t=\"undefined\"!=typeof window&&\"number\"==typeof window.devicePixelRatio?window.devicePixelRatio:1;return Math.min(Math.max(1,t),3)}\"function\"==typeof SuppressedError&&SuppressedError;var m=function(){function e(){}return e.prototype.observe=function(){},e.prototype.unobserve=function(){},e.prototype.disconnect=function(){},e}();var R=globalThis.ResizeObserver||m,x=void 0!==globalThis.ResizeObserver,T=!x;function h(t,i){void 0===i&&(i=!0);var l=p.useState({width:0,height:0}),f=l[0],v=l[1];p.useEffect((function(){if(\"undefined\"!=typeof window&&i){var e=function(){v({width:window.innerWidth,height:window.innerHeight})};return T&&(e(),window.addEventListener(\"resize\",e)),function(){return window.removeEventListener(\"resize\",e)}}}),[]);var y,g,m,P=p.useRef(new R((y=function(t){x&&v({width:t[t.length-1].contentRect.width,height:t[t.length-1].contentRect.height})},g=0,m=0,function(){for(var t=this||d,i=[],l=0;l<arguments.length;l++)i[l]=arguments[l];clearTimeout(m),m=window.setTimeout((function(){return y.apply(t,i)}),g)})));return p.useEffect((function(){var l=P.current;if(i){var f=t.current;return t.current&&x&&l.observe(t.current),function(){l.disconnect(),f&&x&&l.unobserve(f)}}l.disconnect()}),[t,P]),f}var P={useDevicePixelRatio:!0,fitCanvasToArtboardHeight:!1,useOffscreenRenderer:!0,shouldResizeCanvasToContainer:!0};function b(t){return Object.assign({},P,t)}function w(t){var i=t.riveLoaded,l=void 0!==i&&i,f=t.canvasElem,d=t.containerRef,v=t.options,y=void 0===v?{}:v,g=t.onCanvasHasResized,m=t.artboardBounds,R=b(y),x=p.useState({height:0,width:0}),T=x[0],P=T.height,S=T.width,L=x[1],M=p.useState({height:0,width:0}),k=M[0],z=k.height,j=k.width,H=M[1],I=p.useState(!0),D=I[0],F=I[1],N=R.fitCanvasToArtboardHeight,W=R.shouldResizeCanvasToContainer,A=R.useDevicePixelRatio,B=R.customDevicePixelRatio,_=h(d,W),U=s(B),X=null!=m?m:{},Y=X.maxX,G=X.maxY,q=p.useCallback((function(){var t,i,l,f,v=null!==(i=null===(t=d.current)||void 0===t?void 0:t.clientWidth)&&void 0!==i?i:0,p=null!==(f=null===(l=d.current)||void 0===l?void 0:l.clientHeight)&&void 0!==f?f:0;return N&&m?{width:v,height:v*(m.maxY/m.maxX)}:{width:v,height:p}}),[d,N,Y,G]);p.useEffect((function(){if(W&&d.current&&l){var t=q(),i=t.width,v=t.height,p=!1;if(f){var y=i!==S||v!==P;if(R.fitCanvasToArtboardHeight&&y&&(d.current.style.height=v+\"px\",p=!0),R.useDevicePixelRatio){if(y||i*U!==j||v*U!==z){var m=U*i,x=U*v;f.width=m,f.height=x,f.style.width=i+\"px\",f.style.height=v+\"px\",H({width:m,height:x}),p=!0}}else y&&(f.width=i,f.height=v,H({width:i,height:v}),p=!0);L({width:i,height:v})}g&&(D||p)&&g&&g(),D&&F(!1)}}),[f,d,_,U,q,D,F,z,j,P,S,g,W,N,A,l]),p.useEffect((function(){H({width:0,height:0})}),[f])}var S,L=function(){function e(){}return e.prototype.observe=function(){},e.prototype.unobserve=function(){},e.prototype.disconnect=function(){},e}(),M=globalThis.IntersectionObserver||L,k=function(){function e(){var t=this||d;(this||d).elementsMap=new Map,(this||d).onObserved=function(i){i.forEach((function(i){var l=t.elementsMap.get(i.target);l&&l(i)}))},(this||d).observer=new M((this||d).onObserved)}return e.prototype.registerCallback=function(t,i){(this||d).observer.observe(t),(this||d).elementsMap.set(t,i)},e.prototype.removeCallback=function(t){(this||d).observer.unobserve(t),(this||d).elementsMap.delete(t)},e}(),C=function(){return S||(S=new k),S};function E(t){var i=t.setContainerRef,l=t.setCanvasRef,f=t.className,d=void 0===f?\"\":f,v=t.style,p=t.children,y=o(t,[\"setContainerRef\",\"setCanvasRef\",\"className\",\"style\",\"children\"]),m=r({width:\"100%\",height:\"100%\"},v);return g.default.createElement(\"div\",r({ref:i,className:d},!d&&{style:m}),g.default.createElement(\"canvas\",r({ref:l,style:{verticalAlign:\"top\",width:0,height:0}},y),p))}function O(t,i){void 0===i&&(i={});var l=p.useState(null),f=l[0],d=l[1],v=p.useRef(null),m=p.useState(null),R=m[0],x=m[1],T=Boolean(t),P=b(i),S=s(),L=p.useCallback((function(){if(R){if(R.layout&&R.layout.fit===y.Fit.Layout&&f){var t=S*R.layout.layoutScaleFactor;R.devicePixelRatioUsed=S,R.artboardWidth=(null==f?void 0:f.width)/t,R.artboardHeight=(null==f?void 0:f.height)/t}R.startRendering(),R.resizeToCanvas()}}),[R,S]);w({riveLoaded:!!R,canvasElem:f,containerRef:v,options:P,onCanvasHasResized:L,artboardBounds:null==R?void 0:R.bounds});var M=p.useCallback((function(t){null===t&&f&&(f.height=0,f.width=0),d(t)}),[]);p.useEffect((function(){if(f&&t){var i,l=null!=R;if(null==R){var d=P.useOffscreenRenderer;(i=new y.Rive(r(r({useOffscreenRenderer:d},t),{canvas:f}))).on(y.EventType.Load,(function(){l=!0,f?x(i):i.cleanup()}))}return function(){l||null==i||i.cleanup()}}}),[f,T,R]);var k=p.useCallback((function(t){v.current=t}),[]),z={observe:p.useCallback((function(t,i){C().registerCallback(t,i)}),[]),unobserve:p.useCallback((function(t){C().removeCallback(t)}),[])},j=z.observe,H=z.unobserve;p.useEffect((function(){var t,i=!1,n=function(){if(f&&i){var t=f.getBoundingClientRect();t.width>0&&t.height>0&&t.top<(window.innerHeight||document.documentElement.clientHeight)&&t.bottom>0&&t.left<(window.innerWidth||document.documentElement.clientWidth)&&t.right>0&&(null==R||R.startRendering(),i=!1)}};return f&&!1!==P.shouldUseIntersectionObserver&&j(f,(function(l){l.isIntersecting?R&&R.startRendering():R&&R.stopRendering(),i=!l.isIntersecting,clearTimeout(t),l.isIntersecting||0!==l.boundingClientRect.width||(t=setTimeout(n,10))})),function(){f&&H(f)}}),[j,H,R,f,P.shouldUseIntersectionObserver]),p.useEffect((function(){return function(){R&&(R.cleanup(),x(null))}}),[R,f]);var I=null==t?void 0:t.animations;p.useEffect((function(){R&&I&&(R.isPlaying?(R.stop(R.animationNames),R.play(I)):R.isPaused&&(R.stop(R.animationNames),R.pause(I)))}),[I,R]);var D=p.useCallback((function(t){return g.default.createElement(E,r({setContainerRef:k,setCanvasRef:M},t))}),[M,k]);return{canvas:f,container:v.current,setCanvasRef:M,setContainerRef:k,rive:R,RiveComponent:D}}v.default=function(t){var i=t.src,l=t.artboard,f=t.animations,d=t.stateMachines,v=t.layout,p=t.useOffscreenRenderer,y=void 0===p||p,m=t.shouldDisableRiveListeners,R=void 0!==m&&m,x=t.shouldResizeCanvasToContainer,T=void 0===x||x,P=t.automaticallyHandleEvents,S=void 0!==P&&P,L=t.children,M=o(t,[\"src\",\"artboard\",\"animations\",\"stateMachines\",\"layout\",\"useOffscreenRenderer\",\"shouldDisableRiveListeners\",\"shouldResizeCanvasToContainer\",\"automaticallyHandleEvents\",\"children\"]),k=O({src:i,artboard:l,animations:f,layout:v,stateMachines:d,autoplay:!0,shouldDisableRiveListeners:R,automaticallyHandleEvents:S},{useOffscreenRenderer:y,shouldResizeCanvasToContainer:T}).RiveComponent;return g.default.createElement(k,r({},M),L)},v.useResizeCanvas=w,v.useRive=O,v.useRiveFile=function(t){var i=this||d,l=p.useState(null),f=l[0],v=l[1],g=p.useState(\"idle\"),m=g[0],R=g[1];return p.useEffect((function(){var l=null;return a(i,void 0,void 0,(function(){return u(this||d,(function(i){try{R(\"loading\"),(l=new y.RiveFile(t)).init(),l.on(y.EventType.Load,(function(){null==l||l.getInstance(),v(l),R(\"success\")})),l.on(y.EventType.LoadError,(function(){R(\"failed\")})),v(l)}catch(t){console.error(t),R(\"failed\")}return[2]}))})),function(){null==l||l.cleanup()}}),[t.src,t.buffer]),{riveFile:f,status:m}},v.useStateMachineInput=function(t,i,l,f){var d=p.useState(null),v=d[0],g=d[1];return p.useEffect((function(){function e(){if(t&&i&&l||g(null),t&&i&&l){var d=t.stateMachineInputs(i);if(d){var v=d.find((function(t){return t.name===l}));void 0!==f&&v&&(v.value=f),g(v||null)}}else g(null)}e(),t&&t.on(y.EventType.Load,(function(){e()}))}),[t]),v},Object.keys(y).forEach((function(t){\"default\"===t||v.hasOwnProperty(t)||Object.defineProperty(v,t,{enumerable:!0,get:function(){return y[t]}})}));const z=v.__esModule,j=v.useResizeCanvas,H=v.useRive,I=v.useRiveFile,D=v.useStateMachineInput;export{z as __esModule,v as default,j as useResizeCanvas,H as useRive,I as useRiveFile,D as useStateMachineInput};\n//# sourceMappingURL=index.js.map\n", "import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useMemo,useRef}from\"react\";import Rive,{useRive,useStateMachineInput}from\"@rive-app/react-canvas\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";// Mapping for fit options to Fit enum\nconst getFitValue=fit=>{switch(fit){case\"layout\":return Rive.Fit.Layout;case\"contain\":return Rive.Fit.Contain;case\"cover\":return Rive.Fit.Cover;case\"fill\":return Rive.Fit.Fill;case\"fitWidth\":return Rive.Fit.FitWidth;case\"fitHeight\":return Rive.Fit.FitHeight;case\"none\":return Rive.Fit.None;case\"scaleDown\":return Rive.Fit.ScaleDown;default:return Rive.Fit.Contain;}};// Mapping for alignment options to Alignment enum\nconst getAlignmentValue=alignment=>{switch(alignment){case\"center\":return Rive.Alignment.Center;case\"topLeft\":return Rive.Alignment.TopLeft;case\"topCenter\":return Rive.Alignment.TopCenter;case\"topRight\":return Rive.Alignment.TopRight;case\"centerLeft\":return Rive.Alignment.CenterLeft;case\"centerRight\":return Rive.Alignment.CenterRight;case\"bottomLeft\":return Rive.Alignment.BottomLeft;case\"bottomCenter\":return Rive.Alignment.BottomCenter;case\"bottomRight\":return Rive.Alignment.BottomRight;default:return Rive.Alignment.Center;}};function useRiveInputs(rive,stateMachines,inputsJSON){const inputConfigs=useMemo(()=>{try{return JSON.parse(inputsJSON||\"[]\");}catch(error){console.error(\"Error parsing inputsJSON:\",error);return[];}},[inputsJSON]);return inputConfigs.map(config=>{const handler=useStateMachineInput(rive,stateMachines,config.name,config.type===\"Trigger\"?true:config.value);return{...config,handler};});}/**\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerDisableUnlink\n */export default function RivePlayer_v5(props){const{src,artboard,stateMachines,autoplay,fit,alignment,play,playOnCanvas,onEventTriggered,inputsJSON,isTouchScrollEnabled,layoutScaleFactor}=props;const layout=useMemo(()=>new Rive.Layout({fit:getFitValue(fit),alignment:getAlignmentValue(alignment),...fit===\"layout\"&&{layoutScaleFactor}}),[fit,alignment,layoutScaleFactor]);const{rive,RiveComponent}=useRive({src,artboard,stateMachines,autoplay,layout,isTouchScrollEnabled:isTouchScrollEnabled});const inputs=useRiveInputs(rive,stateMachines,inputsJSON);const prevInputsRef=useRef(inputs);useEffect(()=>{if(rive&&inputs.length){inputs.forEach((input,index)=>{if(input.handler){const prevInput=prevInputsRef.current[index];if(input.type===\"Trigger\"&&input.value&&(!prevInput||!prevInput.value)){input.handler.fire();}else if(input.type!==\"Trigger\"&&\"value\"in input){input.handler.value=input.value;}}});}prevInputsRef.current=inputs;},[rive,inputs]);useEffect(()=>{if(rive){const handleEvent=event=>{console.log(\"Rive event triggered:\",event);if(onEventTriggered){onEventTriggered(event.data);console.log(\"Event data:\",event.data);}};rive.on(\"riveevent\",handleEvent);return()=>{rive.off(\"riveevent\",handleEvent);};}},[rive,onEventTriggered]);useEffect(()=>{if(rive){const shouldPlay=RenderTarget.current()===RenderTarget.canvas?playOnCanvas:play;shouldPlay?rive.play():rive.pause();}},[rive,play,playOnCanvas]);useEffect(()=>{if(rive){rive.layout=layout;}},[rive,layout]);return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\"},children:/*#__PURE__*/_jsx(RiveComponent,{style:{width:\"100%\",height:\"100%\"}})});}// Property controls\naddPropertyControls(RivePlayer_v5,{src:{title:\"Source\",type:ControlType.String},artboard:{title:\"Artboard\",type:ControlType.String},stateMachines:{title:\"State Machines\",type:ControlType.String},autoplay:{title:\"Autoplay\",type:ControlType.Boolean,hidden:()=>true},isTouchScrollEnabled:{title:\"Touch Screen Enabled\",type:ControlType.Boolean},fit:{title:\"Fit\",type:ControlType.Enum,options:[\"layout\",\"contain\",\"cover\",\"fill\",\"fitWidth\",\"fitHeight\",\"none\",\"scaleDown\"],optionTitles:[\"Layout\",\"Contain\",\"Cover\",\"Fill\",\"Fit Width\",\"Fit Height\",\"None\",\"Scale Down\"],defaultValue:\"contain\"},layoutScaleFactor:{title:\"Layout Scale Factor\",type:ControlType.Number,defaultValue:1,min:.25,max:10,displayStepper:true,step:.25,hidden:props=>props.fit!==\"layout\"},alignment:{title:\"Alignment\",type:ControlType.Enum,options:[\"center\",\"topLeft\",\"topCenter\",\"topRight\",\"centerLeft\",\"centerRight\",\"bottomLeft\",\"bottomCenter\",\"bottomRight\"],optionTitles:[\"Center\",\"Top Left\",\"Top Center\",\"Top Right\",\"Center Left\",\"Center Right\",\"Bottom Left\",\"Bottom Center\",\"Bottom Right\"],defaultValue:\"center\"},play:{title:\"Auto-Play\",type:ControlType.Boolean},playOnCanvas:{title:\"Play on Canvas\",type:ControlType.Boolean},onEventTriggered:{type:ControlType.EventHandler},inputsJSON:{title:\"Inputs JSON\",type:ControlType.String,hidden:()=>true}});// Default props\nRivePlayer_v5.defaultProps={src:\"https://public.rive.app/hosted/63978/135405/cRjq3a7l40ScM-l2peKfBQ.riv\",artboard:\"AB_BG\",stateMachines:\"SM_BG\",autoplay:true,fit:\"contain\",alignment:\"center\",play:true,playOnCanvas:true,onEventTriggered:eventData=>null,inputsJSON:\"[]\",isTouchScrollEnabled:false,layoutScaleFactor:1};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RivePlayer_v5\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Rive_v5.map", "// Generated by Framer (e010222)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import RivePlayer_v5 from\"https://framerusercontent.com/modules/zIrRZoIgteGH4KvNSVbF/0fq7lD8yeBknaxdZUvlU/Rive_v5.js\";const RivePlayer_v5Fonts=getFonts(RivePlayer_v5);const cycleOrder=[\"FUZqFDwNn\",\"a6vKLouJx\"];const serializationHash=\"framer-FECds\";const variantClassNames={a6vKLouJx:\"framer-v-17sxhk2\",FUZqFDwNn:\"framer-v-fiv48\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={duration:0,type:\"tween\"};const transformTemplate1=(_,t)=>`translateX(-50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Variant 1\":\"FUZqFDwNn\",Open:\"a6vKLouJx\"};const getProps=({click4,height,id,width,...props})=>{var _humanReadableVariantMap_props_variant,_ref;return{...props,QQKevxhaU:click4!==null&&click4!==void 0?click4:props.QQKevxhaU,variant:(_ref=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref!==void 0?_ref:\"FUZqFDwNn\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,QQKevxhaU,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"FUZqFDwNn\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1wiosh3=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(QQKevxhaU){const res=await QQKevxhaU(...args);if(res===false)return false;}setVariant(\"a6vKLouJx\");});const onTap1k1adgs=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(QQKevxhaU){const res=await QQKevxhaU(...args);if(res===false)return false;}setVariant(\"FUZqFDwNn\");});const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(serializationHash,...sharedStyleClassNames,\"framer-fiv48\",className,classNames),\"data-framer-name\":\"Variant 1\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"FUZqFDwNn\",onTap:onTap1wiosh3,ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},...addPropertyOverrides({a6vKLouJx:{\"data-framer-name\":\"Open\",onTap:onTap1k1adgs}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1waysmt-container\",\"data-framer-name\":\"menu.riv\",layoutDependency:layoutDependency,layoutId:\"woSl9SSne-container\",name:\"menu.riv\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsx(RivePlayer_v5,{alignment:\"center\",artboard:\"menu button\",autoplay:true,fit:\"cover\",height:\"100%\",id:\"woSl9SSne\",inputsJSON:'[{\"name\":\"Click menu\",\"type\":\"Trigger\",\"value\":false}]',isTouchScrollEnabled:false,layoutId:\"woSl9SSne\",layoutScaleFactor:1,name:\"menu.riv\",play:true,playOnCanvas:true,src:\"https://framerusercontent.com/assets/9sQ4JBI1WFO9ZgnsvT1RTxiTB0.riv\",stateMachines:\"menu button\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-FECds.framer-q4yr4n, .framer-FECds .framer-q4yr4n { display: block; }\",\".framer-FECds.framer-fiv48 { cursor: pointer; height: 48px; overflow: hidden; position: relative; width: 64px; }\",\".framer-FECds .framer-1waysmt-container { aspect-ratio: 1 / 1; bottom: 0px; flex: none; left: 50%; position: absolute; top: 0px; width: var(--framer-aspect-ratio-supported, 48px); }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 48\n * @framerIntrinsicWidth 64\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"a6vKLouJx\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"QQKevxhaU\":\"click4\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerBFnAFjSky=withCSS(Component,css,\"framer-FECds\");export default FramerBFnAFjSky;FramerBFnAFjSky.displayName=\"Menu nav\";FramerBFnAFjSky.defaultProps={height:48,width:64};addPropertyControls(FramerBFnAFjSky,{variant:{options:[\"FUZqFDwNn\",\"a6vKLouJx\"],optionTitles:[\"Variant 1\",\"Open\"],title:\"Variant\",type:ControlType.Enum},QQKevxhaU:{title:\"Click 4\",type:ControlType.EventHandler}});addFonts(FramerBFnAFjSky,[{explicitInter:true,fonts:[]},...RivePlayer_v5Fonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerBFnAFjSky\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"QQKevxhaU\\\":\\\"click4\\\"}\",\"framerIntrinsicHeight\":\"48\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"a6vKLouJx\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"64\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BFnAFjSky.map", "// Generated by Framer (e010222)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,Link,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{Lottie}from\"https://framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/RLfsHd78NBd0kbafA9hd/Lottie.js\";const LottieFonts=getFonts(Lottie);const cycleOrder=[\"HJWq054Il\",\"gw6pScSmP\"];const serializationHash=\"framer-N2gB1\";const variantClassNames={gw6pScSmP:\"framer-v-1e8t7f9\",HJWq054Il:\"framer-v-1hqsar1\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={duration:0,type:\"tween\"};const transition2={delay:0,duration:.3,ease:[.44,0,.56,1],type:\"tween\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"contact/ tablet\":\"gw6pScSmP\",\"Variant 1\":\"HJWq054Il\"};const getProps=({click,height,id,width,...props})=>{var _humanReadableVariantMap_props_variant,_ref;return{...props,odQaYqYsW:click!==null&&click!==void 0?click:props.odQaYqYsW,variant:(_ref=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref!==void 0?_ref:\"HJWq054Il\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,odQaYqYsW,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"HJWq054Il\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap9698jk=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(odQaYqYsW){const res=await odQaYqYsW(...args);if(res===false)return false;}});const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,...addPropertyOverrides({gw6pScSmP:{value:transition2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(Link,{href:{hash:\":buHtDWIWL\",webPageId:\"augiA20Il\"},nodeId:\"HJWq054Il\",openInNewTab:false,smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(serializationHash,...sharedStyleClassNames,\"framer-1hqsar1\",className,classNames)} framer-1loftx7`,\"data-framer-name\":\"Variant 1\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"HJWq054Il\",onTap:onTap9698jk,ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},...addPropertyOverrides({gw6pScSmP:{\"data-framer-name\":\"contact/ tablet\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-13n6s5d-container\",layoutDependency:layoutDependency,layoutId:\"CsmgGxtab-container\",children:/*#__PURE__*/_jsx(Lottie,{height:\"100%\",id:\"CsmgGxtab\",isForwardsDirection:true,layoutId:\"CsmgGxtab\",loop:false,pauseOnCanvas:true,playing:false,poster:\"Auto\",posterProgress:0,progress:0,speed:1,srcFile:\"https://framerusercontent.com/assets/kPGGOyM5FUjPeDGIP7G6P8HpfEc.json\",srcType:\"Upload\",srcUrl:\"https://raw.githubusercontent.com/framer/Lottie/master/Lottie.framerfx/assets/logo.json\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-N2gB1.framer-1loftx7, .framer-N2gB1 .framer-1loftx7 { display: block; }\",\".framer-N2gB1.framer-1hqsar1 { cursor: pointer; height: 45px; overflow: visible; position: relative; text-decoration: none; width: 88px; }\",\".framer-N2gB1 .framer-13n6s5d-container { bottom: 0px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; }\",\".framer-N2gB1.framer-v-1e8t7f9.framer-1hqsar1 { height: 90px; width: 176px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 45\n * @framerIntrinsicWidth 88\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"gw6pScSmP\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"odQaYqYsW\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const Framerc7FdTXA6I=withCSS(Component,css,\"framer-N2gB1\");export default Framerc7FdTXA6I;Framerc7FdTXA6I.displayName=\"nav/contact\";Framerc7FdTXA6I.defaultProps={height:45,width:88};addPropertyControls(Framerc7FdTXA6I,{variant:{options:[\"HJWq054Il\",\"gw6pScSmP\"],optionTitles:[\"Variant 1\",\"contact/ tablet\"],title:\"Variant\",type:ControlType.Enum},odQaYqYsW:{title:\"Click\",type:ControlType.EventHandler}});addFonts(Framerc7FdTXA6I,[{explicitInter:true,fonts:[]},...LottieFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerc7FdTXA6I\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"gw6pScSmP\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicWidth\":\"88\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"45\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"odQaYqYsW\\\":\\\"click\\\"}\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./c7FdTXA6I.map", "// Generated by Framer (e010222)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,Link,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{Lottie}from\"https://framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/RLfsHd78NBd0kbafA9hd/Lottie.js\";const LottieFonts=getFonts(Lottie);const cycleOrder=[\"HacVj3PFN\",\"ROmagkH9V\"];const serializationHash=\"framer-7Apz4\";const variantClassNames={HacVj3PFN:\"framer-v-1wv2h8u\",ROmagkH9V:\"framer-v-1cfi9qw\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={duration:0,type:\"tween\"};const transition2={delay:0,duration:.3,ease:[.44,0,.56,1],type:\"tween\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Variant 1\":\"HacVj3PFN\",\"work/tablet\":\"ROmagkH9V\"};const getProps=({click,height,id,width,...props})=>{var _humanReadableVariantMap_props_variant,_ref;return{...props,fpLhVXu6X:click!==null&&click!==void 0?click:props.fpLhVXu6X,variant:(_ref=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref!==void 0?_ref:\"HacVj3PFN\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,fpLhVXu6X,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"HacVj3PFN\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTapwtxsbs=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(fpLhVXu6X){const res=await fpLhVXu6X(...args);if(res===false)return false;}});const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,...addPropertyOverrides({ROmagkH9V:{value:transition2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(Link,{href:{hash:\":gM2MpMyXG\",webPageId:\"augiA20Il\"},nodeId:\"HacVj3PFN\",openInNewTab:false,smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(serializationHash,...sharedStyleClassNames,\"framer-1wv2h8u\",className,classNames)} framer-1k5agrx`,\"data-framer-name\":\"Variant 1\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"HacVj3PFN\",onTap:onTapwtxsbs,ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},...addPropertyOverrides({ROmagkH9V:{\"data-framer-name\":\"work/tablet\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-193a4t3-container\",layoutDependency:layoutDependency,layoutId:\"Pa5nyVG2D-container\",children:/*#__PURE__*/_jsx(Lottie,{height:\"100%\",id:\"Pa5nyVG2D\",isForwardsDirection:true,layoutId:\"Pa5nyVG2D\",loop:false,pauseOnCanvas:true,playing:false,poster:\"Auto\",posterProgress:0,progress:0,speed:1,srcFile:\"https://framerusercontent.com/assets/upMUvhY4vL6mVuNg87ZYuxxYNQ.json\",srcType:\"Upload\",srcUrl:\"https://misc.framerstatic.com/lottie/logo.json\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-7Apz4.framer-1k5agrx, .framer-7Apz4 .framer-1k5agrx { display: block; }\",\".framer-7Apz4.framer-1wv2h8u { cursor: pointer; height: 45px; overflow: visible; position: relative; text-decoration: none; width: 60px; }\",\".framer-7Apz4 .framer-193a4t3-container { flex: none; height: 45px; left: 0px; position: absolute; right: 0px; top: calc(48.88888888888891% - 45px / 2); }\",\".framer-7Apz4.framer-v-1cfi9qw.framer-1wv2h8u { aspect-ratio: 1.3333333333333333 / 1; height: var(--framer-aspect-ratio-supported, 90px); width: 120px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 45\n * @framerIntrinsicWidth 60\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"ROmagkH9V\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"fpLhVXu6X\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerICX_O4fuf=withCSS(Component,css,\"framer-7Apz4\");export default FramerICX_O4fuf;FramerICX_O4fuf.displayName=\"nav/work\";FramerICX_O4fuf.defaultProps={height:45,width:60};addPropertyControls(FramerICX_O4fuf,{variant:{options:[\"HacVj3PFN\",\"ROmagkH9V\"],optionTitles:[\"Variant 1\",\"work/tablet\"],title:\"Variant\",type:ControlType.Enum},fpLhVXu6X:{title:\"Click\",type:ControlType.EventHandler}});addFonts(FramerICX_O4fuf,[{explicitInter:true,fonts:[]},...LottieFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerICX_O4fuf\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"fpLhVXu6X\\\":\\\"click\\\"}\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"60\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"ROmagkH9V\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicHeight\":\"45\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ICX_O4fuf.map", "// Generated by Framer (e010222)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,Link,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{Lottie}from\"https://framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/RLfsHd78NBd0kbafA9hd/Lottie.js\";const LottieFonts=getFonts(Lottie);const cycleOrder=[\"lrLsRDgYD\",\"v__cv2slz\"];const serializationHash=\"framer-ydMYD\";const variantClassNames={lrLsRDgYD:\"framer-v-19596cg\",v__cv2slz:\"framer-v-clhhdw\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={duration:0,type:\"tween\"};const transition2={delay:0,duration:.3,ease:[.44,0,.56,1],type:\"tween\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"about/ tablet\":\"v__cv2slz\",\"Variant 1\":\"lrLsRDgYD\"};const getProps=({click,height,id,width,...props})=>{var _humanReadableVariantMap_props_variant,_ref;return{...props,CIICOxsOL:click!==null&&click!==void 0?click:props.CIICOxsOL,variant:(_ref=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref!==void 0?_ref:\"lrLsRDgYD\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,CIICOxsOL,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"lrLsRDgYD\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1jbmobq=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(CIICOxsOL){const res=await CIICOxsOL(...args);if(res===false)return false;}});const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,...addPropertyOverrides({v__cv2slz:{value:transition2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(Link,{href:{hash:\":YBP1TBkbx\",webPageId:\"augiA20Il\"},nodeId:\"lrLsRDgYD\",openInNewTab:false,smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(serializationHash,...sharedStyleClassNames,\"framer-19596cg\",className,classNames)} framer-1iugjxa`,\"data-framer-name\":\"Variant 1\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"lrLsRDgYD\",onTap:onTap1jbmobq,ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},...addPropertyOverrides({v__cv2slz:{\"data-framer-name\":\"about/ tablet\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1wymmpp-container\",layoutDependency:layoutDependency,layoutId:\"g0mkCpolG-container\",children:/*#__PURE__*/_jsx(Lottie,{height:\"100%\",id:\"g0mkCpolG\",isForwardsDirection:true,layoutId:\"g0mkCpolG\",loop:false,pauseOnCanvas:true,playing:false,poster:\"Auto\",posterProgress:0,progress:0,speed:1,srcFile:\"https://framerusercontent.com/assets/UjyUXLHT8BFQuVAxHv7HNACItaU.json\",srcType:\"Upload\",srcUrl:\"https://misc.framerstatic.com/lottie/logo.json\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-ydMYD.framer-1iugjxa, .framer-ydMYD .framer-1iugjxa { display: block; }\",\".framer-ydMYD.framer-19596cg { cursor: pointer; height: 45px; overflow: visible; position: relative; text-decoration: none; width: 67px; }\",\".framer-ydMYD .framer-1wymmpp-container { bottom: 0px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; }\",\".framer-ydMYD.framer-v-clhhdw.framer-19596cg { height: 90px; width: 134px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 45\n * @framerIntrinsicWidth 67\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"v__cv2slz\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"CIICOxsOL\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const Framerznz3pw6vH=withCSS(Component,css,\"framer-ydMYD\");export default Framerznz3pw6vH;Framerznz3pw6vH.displayName=\"nav/about\";Framerznz3pw6vH.defaultProps={height:45,width:67};addPropertyControls(Framerznz3pw6vH,{variant:{options:[\"lrLsRDgYD\",\"v__cv2slz\"],optionTitles:[\"Variant 1\",\"about/ tablet\"],title:\"Variant\",type:ControlType.Enum},CIICOxsOL:{title:\"Click\",type:ControlType.EventHandler}});addFonts(Framerznz3pw6vH,[{explicitInter:true,fonts:[]},...LottieFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerznz3pw6vH\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"45\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"CIICOxsOL\\\":\\\"click\\\"}\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"67\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"v__cv2slz\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./znz3pw6vH.map", "// Generated by Framer (6d82f59)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,Link,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import RivePlayer_v5 from\"https://framerusercontent.com/modules/zIrRZoIgteGH4KvNSVbF/0fq7lD8yeBknaxdZUvlU/Rive_v5.js\";import MenuNav from\"https://framerusercontent.com/modules/ZjkrPwU7EFpO0HxG3Hkb/jUagWgqy36jpWmSAGcZz/BFnAFjSky.js\";import NavContact from\"https://framerusercontent.com/modules/dkRnB6OVTTxK1SrOsxlt/C9R6HlpibDn9qj2H6TV7/c7FdTXA6I.js\";import NavWork from\"https://framerusercontent.com/modules/AhUJIku7qvqpsL2Zzuh3/lX5I0csKmcdpH2dXdguU/ICX_O4fuf.js\";import NavAbout from\"https://framerusercontent.com/modules/NkAdHAr2gk0ALXtNEiFQ/4cgHILArjpp2FFnPUu6K/znz3pw6vH.js\";const NavWorkFonts=getFonts(NavWork);const NavAboutFonts=getFonts(NavAbout);const NavContactFonts=getFonts(NavContact);const MenuNavFonts=getFonts(MenuNav);const RivePlayer_v5Fonts=getFonts(RivePlayer_v5);const cycleOrder=[\"o0eFz0Jh1\",\"daeoesvdR\"];const serializationHash=\"framer-jc7zb\";const variantClassNames={daeoesvdR:\"framer-v-56tsz9\",o0eFz0Jh1:\"framer-v-1pm4qbp\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={delay:0,duration:.3,ease:[0,.76,0,1],type:\"tween\"};const transition2={delay:0,duration:.4,ease:[0,.66,.16,1.01],type:\"tween\"};const transformTemplate1=(_,t)=>`translateY(-50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Tablet/menu\":\"daeoesvdR\",Tablet:\"o0eFz0Jh1\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"o0eFz0Jh1\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"o0eFz0Jh1\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const fpLhVXu6X1fgeqxx=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"o0eFz0Jh1\"),200);});const CIICOxsOL1fgeqxx=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"o0eFz0Jh1\"),200);});const odQaYqYsW1fgeqxx=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"o0eFz0Jh1\"),200);});const QQKevxhaU1hfvu7k=activeVariantCallback(async(...args)=>{setVariant(\"daeoesvdR\");});const QQKevxhaU1f7drvu=activeVariantCallback(async(...args)=>{setVariant(\"o0eFz0Jh1\");});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const ref1=React.useRef(null);const isDisplayed=()=>{if(baseVariant===\"daeoesvdR\")return true;return false;};const defaultLayoutId=React.useId();const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,...addPropertyOverrides({daeoesvdR:{value:transition2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1pm4qbp\",className,classNames),\"data-framer-name\":\"Tablet\",layoutDependency:layoutDependency,layoutId:\"o0eFz0Jh1\",ref:ref??ref1,style:{...style},...addPropertyOverrides({daeoesvdR:{\"data-framer-name\":\"Tablet/menu\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1cjgeqs\",\"data-border\":true,\"data-framer-name\":\"dropdown\",layoutDependency:layoutDependency,layoutId:\"tCOJviiU4\",style:{\"--border-bottom-width\":\"2px\",\"--border-color\":\"var(--token-4bb488c9-e00d-48aa-b11e-33496ed75c6b, rgb(255, 253, 250))\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",backgroundColor:\"var(--token-c9898815-7ea3-4a8c-979e-db41d86e0883, rgb(9, 10, 12))\"},variants:{daeoesvdR:{\"--border-bottom-width\":\"3px\"}},children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-kqldbp\",\"data-framer-name\":\"links\",layoutDependency:layoutDependency,layoutId:\"GHo3vshHi\",children:[isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({daeoesvdR:{height:68,width:\"118px\",y:(componentViewport?.y||0)+((componentViewport?.height||585)*.40683760683760706-238.5)+477-226+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-txjgig-container\",layoutDependency:layoutDependency,layoutId:\"WdB9H15vT-container\",children:/*#__PURE__*/_jsx(NavWork,{fpLhVXu6X:fpLhVXu6X1fgeqxx,height:\"100%\",id:\"WdB9H15vT\",layoutId:\"WdB9H15vT\",style:{height:\"100%\",width:\"100%\"},variant:\"ROmagkH9V\",width:\"100%\"})})}),isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({daeoesvdR:{height:68,width:\"134px\",y:(componentViewport?.y||0)+((componentViewport?.height||585)*.40683760683760706-238.5)+477-226+0+68}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-12mfo6d-container\",layoutDependency:layoutDependency,layoutId:\"uk8bpP7Qn-container\",children:/*#__PURE__*/_jsx(NavAbout,{CIICOxsOL:CIICOxsOL1fgeqxx,height:\"100%\",id:\"uk8bpP7Qn\",layoutId:\"uk8bpP7Qn\",style:{height:\"100%\",width:\"100%\"},variant:\"v__cv2slz\",width:\"100%\"})})}),isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({daeoesvdR:{height:68,width:\"174px\",y:(componentViewport?.y||0)+((componentViewport?.height||585)*.40683760683760706-238.5)+477-226+0+136}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1ljr6bs-container\",layoutDependency:layoutDependency,layoutId:\"N2eCFxHVP-container\",children:/*#__PURE__*/_jsx(NavContact,{height:\"100%\",id:\"N2eCFxHVP\",layoutId:\"N2eCFxHVP\",odQaYqYsW:odQaYqYsW1fgeqxx,style:{height:\"100%\",width:\"100%\"},variant:\"gw6pScSmP\",width:\"100%\"})})})]})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-6sufbv\",\"data-framer-name\":\"top\",layoutDependency:layoutDependency,layoutId:\"CWV0fN9PF\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:48,width:\"48px\",y:(componentViewport?.y||0)+0+8.000000000000014,children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-8zbvac-container\",layoutDependency:layoutDependency,layoutId:\"Wnzr6nzpK-container\",children:/*#__PURE__*/_jsx(MenuNav,{height:\"100%\",id:\"Wnzr6nzpK\",layoutId:\"Wnzr6nzpK\",QQKevxhaU:QQKevxhaU1hfvu7k,style:{height:\"100%\",width:\"100%\"},variant:\"FUZqFDwNn\",width:\"100%\",...addPropertyOverrides({daeoesvdR:{QQKevxhaU:QQKevxhaU1f7drvu,variant:\"a6vKLouJx\"}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(Link,{href:{hash:\":Y_oNglCIY\",webPageId:\"augiA20Il\"},nodeId:\"DfAOL52Hy\",openInNewTab:false,smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1vhvax9 framer-atdv33\",\"data-framer-name\":\"logo\",layoutDependency:layoutDependency,layoutId:\"DfAOL52Hy\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1jfc2l9-container\",\"data-framer-name\":\"home_phone.riv\",layoutDependency:layoutDependency,layoutId:\"fPc3kTSMo-container\",name:\"home_phone.riv\",children:/*#__PURE__*/_jsx(RivePlayer_v5,{alignment:\"center\",artboard:\"home phone\",autoplay:true,fit:\"cover\",height:\"100%\",id:\"fPc3kTSMo\",inputsJSON:'[{\"name\":\"Trigger 1\",\"type\":\"Trigger\",\"value\":false}]',isTouchScrollEnabled:true,layoutId:\"fPc3kTSMo\",layoutScaleFactor:1,name:\"home_phone.riv\",play:true,playOnCanvas:true,src:\"https://framerusercontent.com/assets/ZQ8ZhG7huxAopoRP46PPfD290I.riv\",stateMachines:\"home_phone\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})]})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-jc7zb.framer-atdv33, .framer-jc7zb .framer-atdv33 { display: block; }\",\".framer-jc7zb.framer-1pm4qbp { height: 64px; overflow: hidden; position: relative; width: 810px; }\",\".framer-jc7zb .framer-1cjgeqs { flex: none; height: 413px; overflow: hidden; position: absolute; right: 0px; top: -413px; width: 100%; }\",\".framer-jc7zb .framer-kqldbp { align-content: flex-end; align-items: flex-end; bottom: 21px; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: flex-end; min-height: 225px; min-width: 195px; overflow: hidden; padding: 10px; position: absolute; right: 28px; width: min-content; }\",\".framer-jc7zb .framer-txjgig-container { flex: none; height: 68px; position: relative; width: 118px; }\",\".framer-jc7zb .framer-12mfo6d-container { flex: none; height: 68px; position: relative; width: 134px; }\",\".framer-jc7zb .framer-1ljr6bs-container { flex: none; height: 68px; position: relative; width: 174px; }\",\".framer-jc7zb .framer-6sufbv { flex: none; height: 64px; left: 0px; overflow: hidden; position: absolute; right: 0px; top: 0px; }\",\".framer-jc7zb .framer-8zbvac-container { flex: none; height: 48px; position: absolute; right: 16px; top: calc(50.00000000000002% - 48px / 2); width: 48px; z-index: 1; }\",\".framer-jc7zb .framer-1vhvax9 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; left: 16px; overflow: visible; padding: 0px; position: absolute; text-decoration: none; top: 50%; width: min-content; }\",\".framer-jc7zb .framer-1jfc2l9-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 44px); position: relative; width: 44px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-jc7zb .framer-kqldbp, .framer-jc7zb .framer-1vhvax9 { gap: 0px; } .framer-jc7zb .framer-kqldbp > * { margin: 0px; margin-bottom: calc(16px / 2); margin-top: calc(16px / 2); } .framer-jc7zb .framer-kqldbp > :first-child { margin-top: 0px; } .framer-jc7zb .framer-kqldbp > :last-child { margin-bottom: 0px; } .framer-jc7zb .framer-1vhvax9 > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-jc7zb .framer-1vhvax9 > :first-child { margin-left: 0px; } .framer-jc7zb .framer-1vhvax9 > :last-child { margin-right: 0px; } }\",\".framer-jc7zb.framer-v-56tsz9.framer-1pm4qbp { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; max-width: 1200px; min-height: 585px; padding: 0px; }\",\".framer-jc7zb.framer-v-56tsz9 .framer-1cjgeqs { height: 477px; order: 0; top: calc(40.6837606837607% - 477px / 2); z-index: 1; }\",\".framer-jc7zb.framer-v-56tsz9 .framer-kqldbp { bottom: 22px; gap: 0px; min-height: unset; min-width: unset; padding: 0px 10px 0px 10px; }\",\".framer-jc7zb.framer-v-56tsz9 .framer-txjgig-container { order: 3; }\",\".framer-jc7zb.framer-v-56tsz9 .framer-12mfo6d-container { order: 4; }\",\".framer-jc7zb.framer-v-56tsz9 .framer-1ljr6bs-container { order: 5; }\",\".framer-jc7zb.framer-v-56tsz9 .framer-6sufbv { order: 1; z-index: 1; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-jc7zb.framer-v-56tsz9.framer-1pm4qbp, .framer-jc7zb.framer-v-56tsz9 .framer-kqldbp { gap: 0px; } .framer-jc7zb.framer-v-56tsz9.framer-1pm4qbp > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-jc7zb.framer-v-56tsz9.framer-1pm4qbp > :first-child { margin-left: 0px; } .framer-jc7zb.framer-v-56tsz9.framer-1pm4qbp > :last-child { margin-right: 0px; } .framer-jc7zb.framer-v-56tsz9 .framer-kqldbp > * { margin: 0px; margin-bottom: calc(0px / 2); margin-top: calc(0px / 2); } .framer-jc7zb.framer-v-56tsz9 .framer-kqldbp > :first-child { margin-top: 0px; } .framer-jc7zb.framer-v-56tsz9 .framer-kqldbp > :last-child { margin-bottom: 0px; } }\",'.framer-jc7zb[data-border=\"true\"]::after, .framer-jc7zb [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 64\n * @framerIntrinsicWidth 810\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"daeoesvdR\":{\"layout\":[\"fixed\",\"auto\"],\"constraints\":[null,\"1200px\",null,null]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerB7oOPxShk=withCSS(Component,css,\"framer-jc7zb\");export default FramerB7oOPxShk;FramerB7oOPxShk.displayName=\"Top Nav/taplet close\";FramerB7oOPxShk.defaultProps={height:64,width:810};addPropertyControls(FramerB7oOPxShk,{variant:{options:[\"o0eFz0Jh1\",\"daeoesvdR\"],optionTitles:[\"Tablet\",\"Tablet/menu\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerB7oOPxShk,[{explicitInter:true,fonts:[]},...NavWorkFonts,...NavAboutFonts,...NavContactFonts,...MenuNavFonts,...RivePlayer_v5Fonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerB7oOPxShk\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"daeoesvdR\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"],\\\"constraints\\\":[null,\\\"1200px\\\",null,null]}}}\",\"framerIntrinsicHeight\":\"64\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"810\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./B7oOPxShk.map", "// Generated by Framer (6d82f59)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,Link,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import RivePlayer_v5 from\"https://framerusercontent.com/modules/zIrRZoIgteGH4KvNSVbF/0fq7lD8yeBknaxdZUvlU/Rive_v5.js\";const RivePlayer_v5Fonts=getFonts(RivePlayer_v5);const cycleOrder=[\"y1YQHQWeb\",\"tLuBgv2Qg\"];const serializationHash=\"framer-PwPxn\";const variantClassNames={tLuBgv2Qg:\"framer-v-16ozkpo\",y1YQHQWeb:\"framer-v-49spcv\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={duration:0,type:\"tween\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Nav Bar/ Desktop\":\"y1YQHQWeb\",\"Small Desktop\":\"tLuBgv2Qg\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"y1YQHQWeb\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"y1YQHQWeb\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-49spcv\",className,classNames),\"data-framer-name\":\"Nav Bar/ Desktop\",layoutDependency:layoutDependency,layoutId:\"y1YQHQWeb\",ref:ref??ref1,style:{...style},...addPropertyOverrides({tLuBgv2Qg:{\"data-framer-name\":\"Small Desktop\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(Link,{href:{hash:\":Y_oNglCIY\",webPageId:\"augiA20Il\"},nodeId:\"BTa1W9vDi\",openInNewTab:false,smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1w2maj0 framer-1msg0w3\",layoutDependency:layoutDependency,layoutId:\"BTa1W9vDi\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-15y65tb-container\",\"data-framer-name\":\"home.riv\",layoutDependency:layoutDependency,layoutId:\"GL4ICxOdD-container\",name:\"home.riv\",children:/*#__PURE__*/_jsx(RivePlayer_v5,{alignment:\"center\",artboard:\"3_home_out\",autoplay:true,fit:\"cover\",height:\"100%\",id:\"GL4ICxOdD\",inputsJSON:'[{\"name\":\"click\",\"type\":\"Trigger\",\"value\":false},{\"name\":\"hover\",\"type\":\"Boolean\",\"value\":false}]',isTouchScrollEnabled:true,layoutId:\"GL4ICxOdD\",layoutScaleFactor:1,name:\"home.riv\",play:true,playOnCanvas:true,src:\"https://framerusercontent.com/assets/NGWh2dFf9s1gPXKoK3yo9YnXQ.riv\",stateMachines:\"State Machine 1\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-d2oj77\",\"data-framer-name\":\"Frame 3\",layoutDependency:layoutDependency,layoutId:\"I1061:275;846:649\",children:[/*#__PURE__*/_jsx(Link,{href:{hash:\":gM2MpMyXG\",webPageId:\"augiA20Il\"},nodeId:\"komjGiEXn\",openInNewTab:false,smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-jr2ut8 framer-1msg0w3\",\"data-framer-name\":\"work frame\",layoutDependency:layoutDependency,layoutId:\"komjGiEXn\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-xu2pwi-container\",\"data-framer-name\":\"nav_work.riv\",layoutDependency:layoutDependency,layoutId:\"GhiSsnyhb-container\",name:\"nav_work.riv\",children:/*#__PURE__*/_jsx(RivePlayer_v5,{alignment:\"center\",artboard:\"nav_work\",autoplay:true,fit:\"cover\",height:\"100%\",id:\"GhiSsnyhb\",inputsJSON:'[{\"name\":\"Trigger 1\",\"type\":\"Trigger\",\"value\":false},{\"name\":\"Boolean 1\",\"type\":\"Boolean\",\"value\":false}]',isTouchScrollEnabled:false,layoutId:\"GhiSsnyhb\",layoutScaleFactor:1,name:\"nav_work.riv\",play:true,playOnCanvas:true,src:\"https://framerusercontent.com/assets/UlpLFVxiJiYlTBQHyZhQoYiOp0.riv\",stateMachines:\"nav work\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})}),/*#__PURE__*/_jsx(Link,{href:{hash:\":YBP1TBkbx\",webPageId:\"augiA20Il\"},nodeId:\"TtXJxvDjg\",openInNewTab:false,smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-gwsr3f framer-1msg0w3\",\"data-framer-name\":\"about frame\",layoutDependency:layoutDependency,layoutId:\"TtXJxvDjg\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-3peex3-container\",\"data-framer-name\":\"nav_about.riv\",layoutDependency:layoutDependency,layoutId:\"L0d8XuCv_-container\",name:\"nav_about.riv\",children:/*#__PURE__*/_jsx(RivePlayer_v5,{alignment:\"center\",artboard:\"nav_about\",autoplay:true,fit:\"cover\",height:\"100%\",id:\"L0d8XuCv_\",inputsJSON:'[{\"name\":\"CLick trig\",\"type\":\"Trigger\",\"value\":false},{\"name\":\"Boolean 1\",\"type\":\"Boolean\",\"value\":false}]',isTouchScrollEnabled:false,layoutId:\"L0d8XuCv_\",layoutScaleFactor:1,name:\"nav_about.riv\",play:true,playOnCanvas:true,src:\"https://framerusercontent.com/assets/l9Z97pFt68eLhBR6CF854qIIcuQ.riv\",stateMachines:\"nav about\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})}),/*#__PURE__*/_jsx(Link,{href:{hash:\":buHtDWIWL\",webPageId:\"augiA20Il\"},nodeId:\"BsLFAK_Y7\",openInNewTab:false,smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1dm9fp framer-1msg0w3\",\"data-framer-name\":\"contact frame\",layoutDependency:layoutDependency,layoutId:\"BsLFAK_Y7\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1ke4phn-container\",\"data-framer-name\":\"nav_contact.riv\",layoutDependency:layoutDependency,layoutId:\"BtMVljyZ7-container\",name:\"nav_contact.riv\",children:/*#__PURE__*/_jsx(RivePlayer_v5,{alignment:\"center\",artboard:\"nav_contact\",autoplay:true,fit:\"cover\",height:\"100%\",id:\"BtMVljyZ7\",inputsJSON:'[{\"name\":\"click trig\",\"type\":\"Trigger\",\"value\":false},{\"name\":\"hover\",\"type\":\"Boolean\",\"value\":false}]',isTouchScrollEnabled:false,layoutId:\"BtMVljyZ7\",layoutScaleFactor:1,name:\"nav_contact.riv\",play:true,playOnCanvas:true,src:\"https://framerusercontent.com/assets/89XOS3pfqKUfy9D9rEiFWIcxwaM.riv\",stateMachines:\"nav contact\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})]})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-PwPxn.framer-1msg0w3, .framer-PwPxn .framer-1msg0w3 { display: block; }\",\".framer-PwPxn.framer-49spcv { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; height: 72px; justify-content: space-between; overflow: visible; padding: 16px 40px 16px 40px; position: relative; width: 1440px; }\",\".framer-PwPxn .framer-1w2maj0 { flex: none; height: 48px; overflow: visible; position: relative; text-decoration: none; width: 200px; }\",\".framer-PwPxn .framer-15y65tb-container { bottom: 0px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; }\",\".framer-PwPxn .framer-d2oj77 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 23px; height: 50px; justify-content: flex-end; overflow: hidden; padding: 10px; position: relative; width: min-content; }\",\".framer-PwPxn .framer-jr2ut8 { flex: none; height: 38px; overflow: visible; position: relative; text-decoration: none; width: 50px; }\",\".framer-PwPxn .framer-xu2pwi-container { aspect-ratio: 1.3157894736842106 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 38px); left: 0px; position: absolute; top: 0px; width: 50px; }\",\".framer-PwPxn .framer-gwsr3f { flex: none; height: 38px; overflow: visible; position: relative; text-decoration: none; width: 56px; }\",\".framer-PwPxn .framer-3peex3-container { aspect-ratio: 1.4736842105263157 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 38px); left: 0px; position: absolute; top: 0px; width: 56px; }\",\".framer-PwPxn .framer-1dm9fp { flex: none; height: 38px; overflow: visible; position: relative; text-decoration: none; width: 73px; }\",\".framer-PwPxn .framer-1ke4phn-container { aspect-ratio: 1.9210526315789473 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 38px); left: 0px; position: absolute; top: 0px; width: 73px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-PwPxn .framer-d2oj77 { gap: 0px; } .framer-PwPxn .framer-d2oj77 > * { margin: 0px; margin-left: calc(23px / 2); margin-right: calc(23px / 2); } .framer-PwPxn .framer-d2oj77 > :first-child { margin-left: 0px; } .framer-PwPxn .framer-d2oj77 > :last-child { margin-right: 0px; } }\",\".framer-PwPxn.framer-v-16ozkpo.framer-49spcv { height: 64px; padding: 16px 24px 16px 24px; width: 1280px; }\",\".framer-PwPxn.framer-v-16ozkpo .framer-d2oj77 { gap: 16px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-PwPxn.framer-v-16ozkpo .framer-d2oj77 { gap: 0px; } .framer-PwPxn.framer-v-16ozkpo .framer-d2oj77 > * { margin: 0px; margin-left: calc(16px / 2); margin-right: calc(16px / 2); } .framer-PwPxn.framer-v-16ozkpo .framer-d2oj77 > :first-child { margin-left: 0px; } .framer-PwPxn.framer-v-16ozkpo .framer-d2oj77 > :last-child { margin-right: 0px; } }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 72\n * @framerIntrinsicWidth 1440\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"tLuBgv2Qg\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerLIUi7Wh6A=withCSS(Component,css,\"framer-PwPxn\");export default FramerLIUi7Wh6A;FramerLIUi7Wh6A.displayName=\"Top Nav\";FramerLIUi7Wh6A.defaultProps={height:72,width:1440};addPropertyControls(FramerLIUi7Wh6A,{variant:{options:[\"y1YQHQWeb\",\"tLuBgv2Qg\"],optionTitles:[\"Nav Bar/ Desktop\",\"Small Desktop\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerLIUi7Wh6A,[{explicitInter:true,fonts:[]},...RivePlayer_v5Fonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerLIUi7Wh6A\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1440\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"tLuBgv2Qg\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"72\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LIUi7Wh6A.map", "// Generated by Framer (e010222)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{Lottie}from\"https://framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/RLfsHd78NBd0kbafA9hd/Lottie.js\";const LottieFonts=getFonts(Lottie);const cycleOrder=[\"ZYJwOKNYd\",\"XkdEdEGK2\"];const serializationHash=\"framer-GOxo9\";const variantClassNames={XkdEdEGK2:\"framer-v-11gfhrj\",ZYJwOKNYd:\"framer-v-yyrahv\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={duration:0,type:\"tween\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Variant 1\":\"ZYJwOKNYd\",phone:\"XkdEdEGK2\"};const getProps=({height,id,width,...props})=>{var _humanReadableVariantMap_props_variant,_ref;return{...props,variant:(_ref=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref!==void 0?_ref:\"ZYJwOKNYd\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"ZYJwOKNYd\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(serializationHash,...sharedStyleClassNames,\"framer-yyrahv\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"ZYJwOKNYd\",ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},...addPropertyOverrides({XkdEdEGK2:{\"data-framer-name\":\"phone\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-10d494y-container\",layoutDependency:layoutDependency,layoutId:\"pXBPt4i_j-container\",children:/*#__PURE__*/_jsx(Lottie,{height:\"100%\",id:\"pXBPt4i_j\",isForwardsDirection:true,layoutId:\"pXBPt4i_j\",loop:true,pauseOnCanvas:true,playing:true,poster:\"Auto\",posterProgress:0,progress:0,speed:1,srcFile:\"https://framerusercontent.com/assets/BBkLiDSs3TXnYtdCcoWKbIv84.json\",srcType:\"Upload\",srcUrl:\"https://misc.framerstatic.com/lottie/logo.json\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-GOxo9.framer-1qbd8fy, .framer-GOxo9 .framer-1qbd8fy { display: block; }\",\".framer-GOxo9.framer-yyrahv { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: min-content; }\",\".framer-GOxo9 .framer-10d494y-container { aspect-ratio: 11.666666666666666 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 30px); position: relative; width: 350px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-GOxo9.framer-yyrahv { gap: 0px; } .framer-GOxo9.framer-yyrahv > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-GOxo9.framer-yyrahv > :first-child { margin-left: 0px; } .framer-GOxo9.framer-yyrahv > :last-child { margin-right: 0px; } }\",\".framer-GOxo9.framer-v-11gfhrj .framer-10d494y-container { height: 19px; width: var(--framer-aspect-ratio-supported, 219px); }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 30\n * @framerIntrinsicWidth 350\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"XkdEdEGK2\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerqCNfW_OL9=withCSS(Component,css,\"framer-GOxo9\");export default FramerqCNfW_OL9;FramerqCNfW_OL9.displayName=\"Made with love by \\xa9TIGRAN AZATYAN\";FramerqCNfW_OL9.defaultProps={height:30,width:350};addPropertyControls(FramerqCNfW_OL9,{variant:{options:[\"ZYJwOKNYd\",\"XkdEdEGK2\"],optionTitles:[\"Variant 1\",\"phone\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerqCNfW_OL9,[{explicitInter:true,fonts:[]},...LottieFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerqCNfW_OL9\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"XkdEdEGK2\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"350\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"30\",\"framerDisplayContentsDiv\":\"false\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./qCNfW_OL9.map"],
  "mappings": "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",
  "names": ["containerStyles", "emptyStateStyle", "defaultEvents", "ControlType", "fontSizeOptions", "fontControls", "font", "useOnEnter", "onEnter", "enabled", "useOnSpecificTargetChange", "useOnExit", "onExit", "goal", "callback", "isInTarget", "useIsInCurrentNavigationTarget", "ue", "useConstant", "init", "ref", "pe", "isBrowserSafari", "navigator", "userAgent", "useIsBrowserSafari", "se", "useRenderTarget", "se", "RenderTarget", "useIsOnCanvas", "se", "RenderTarget", "useRadius", "props", "borderRadius", "isMixedBorderRadius", "topLeftRadius", "topRightRadius", "bottomRightRadius", "bottomLeftRadius", "se", "borderRadiusControl", "ControlType", "paddingControl", "ControlType", "isMotionValue", "v", "MotionValue", "useAutoMotionValue", "inputValue", "options", "optionsRef", "pe", "animation", "didInitialMount", "isOnCanvas", "RenderTarget", "onChangeDeps", "onChange", "te", "transformer", "value", "ref", "value1", "useConstant", "isMotionValue", "motionValue", "ue", "ref1", "newValue", "ref2", "animate2", "_global", "global", "exports", "navigator", "root", "factory", "window", "propertyNames", "i", "len", "val", "tOfVal", "absArr", "flag", "element", "type", "currentTime", "totalTime", "frameMultiplier", "totalLoops", "currentLoop", "firstFrame", "totalFrames", "target", "nativeError", "_count", "h", "s", "v", "r", "g", "b", "f", "p", "q", "t", "max", "min", "d", "color", "offset", "hsv", "colorMap", "hex", "eventName", "args", "callback", "createRegularArray", "arr", "value", "createTypedArrayFactory", "prop", "container", "blendModeEnums", "mode", "_cos", "_sin", "_tan", "_rnd", "reset", "rotate", "angle", "mCos", "mSin", "rotateX", "rotateY", "rotateZ", "shear", "sx", "sy", "skew", "ax", "ay", "skewFromAxis", "scale", "sz", "setTransform", "a", "c", "e", "j", "k", "l", "m", "n", "o", "translate", "tx", "ty", "tz", "transform", "a2", "b2", "c2", "d2", "e2", "f2", "g2", "h2", "i2", "j2", "k2", "l2", "m2", "n2", "o2", "p2", "_p", "a1", "b1", "c1", "d1", "e1", "f1", "g1", "h1", "i1", "j1", "k1", "l1", "m1", "n1", "o1", "p1", "isIdentity", "equals", "matr", "clone", "cloneFromProps", "props", "applyToPoint", "x", "y", "z", "applyToX", "applyToY", "applyToZ", "getInverseMatrix", "determinant", "inverseMatrix", "inversePoint", "pt", "inversePoints", "pts", "retPts", "applyToTriplePoints", "pt1", "pt2", "pt3", "p0", "p4", "p5", "p12", "p13", "applyToPointArray", "applyToPointStringified", "toCSS", "cssValue", "roundMatrixProperty", "to2dCSS", "_a", "_b", "_c", "_d", "_e", "_f", "pool", "math", "width", "chunks", "digits", "rngname", "startdenom", "significance", "overflow", "mask", "nodecrypto", "seedrandom", "seed", "options", "key", "shortseed", "mixkey", "flatten", "tostring", "autoseed", "arc4", "ARC4", "prng", "is_math_call", "state", "copy", "keylen", "me", "count", "obj", "depth", "result", "typ", "stringseed", "smear", "out", "browser", "plugins", "ob", "getBezierEasing", "beziers", "nm", "str", "bezEasing", "BezierEasing", "NEWTON_ITERATIONS", "NEWTON_MIN_SLOPE", "SUBDIVISION_PRECISION", "SUBDIVISION_MAX_ITERATIONS", "kSplineTableSize", "kSampleStepSize", "float32ArraySupported", "A", "aA1", "aA2", "B", "calcBezier", "aT", "getSlope", "binarySubdivide", "aX", "aA", "aB", "mX1", "mX2", "currentX", "currentT", "newtonRaphsonIterate", "aGuessT", "currentSlope", "points", "mY1", "mY2", "mSampleValues", "intervalStart", "currentSample", "lastSample", "dist", "guessForT", "initialSlope", "lastTime", "vendors", "currTime", "timeToCall", "id", "sources", "destination", "sourcePrototype", "attr", "object", "prototype", "ProxyFunction", "pointOnLine2D", "x1", "y1", "x2", "y2", "x3", "y3", "det1", "pointOnLine3D", "z1", "z2", "z3", "dist1", "dist2", "dist3", "diffDist", "getBezierLength", "pt4", "curveSegments", "ptCoord", "perc", "addedLength", "ptDistance", "point", "lastPoint", "lengthData", "getSegmentsLength", "shapeData", "segmentsLength", "closed", "pathV", "pathO", "pathI", "lengths", "totalLength", "BezierData", "length", "PointData", "partial", "buildBezierData", "storedData", "bezierName", "bezierData", "getDistancePerc", "percents", "initPos", "lengthPos", "lPerc", "dir", "getPointInSegment", "percent", "t1", "u1", "ptX", "ptY", "bezierSegmentPoints", "getNewSegment", "startPerc", "endPerc", "t0", "u0", "u0u0u0", "t0u0u0_3", "t0t0u0_3", "t0t0t0", "u0u0u1", "t0u0u1_3", "t0t0u1_3", "t0t0t1", "u0u1u1", "t0u1u1_3", "t0t1u1_3", "t0t1t1", "u1u1u1", "t1u1u1_3", "t1t1u1_3", "t1t1t1", "completeLayers", "layers", "comps", "fontManager", "layerData", "jLen", "kLen", "maskProps", "convertPathsToAbsoluteValues", "findCompLayers", "completeShapes", "completeText", "path", "checkVersion", "minimum", "animVersionString", "animVersion", "checkText", "minimumVersion", "updateTextLayer", "textLayer", "documentData", "iterateLayers", "animationData", "checkChars", "pathData", "paths", "checkColors", "iterateShapes", "shapes", "checkShapes", "completeClosingShapes", "completeData", "data", "moduleOb", "fontData", "styles", "fWeight", "fStyle", "styleName", "maxWaitingTime", "emptyChar", "combinedCharacters", "trimFontOptions", "font", "familyArray", "enabledFamilies", "setUpNode", "family", "parentNode", "node", "checkLoadedFonts", "w", "loadedCount", "createHelper", "def", "tHelper", "fontProps", "tCanvasHelper", "addFonts", "defs", "fontArr", "_pendingFonts", "shouldLoadFont", "loadedSelector", "sc", "addChars", "chars", "found", "getCharData", "char", "style", "measureText", "fontName", "size", "index", "doubleSize", "singleSize", "getFontByName", "name", "getCombinedCharacterCodes", "setIsLoaded", "Font", "fontPrototype", "initFrame", "mathAbs", "interpolateValue", "frameNum", "caching", "offsetTime", "newValue", "iterationIndex", "keyData", "nextKeyData", "fnc", "nextKeyTime", "keyTime", "endValue", "ind", "distanceInLine", "segmentPerc", "outX", "outY", "inX", "inY", "keyValue", "quatStart", "createQuaternion", "quatEnd", "time", "quaternionToEuler", "slerp", "az", "aw", "bx", "by", "bz", "bw", "omega", "cosom", "sinom", "scale0", "scale1", "quat", "qx", "qy", "qz", "qw", "heading", "attitude", "bank", "values", "c3", "s1", "s2", "s3", "getValueAtCurrentTime", "initTime", "endTime", "renderResult", "setVValue", "multipliedValue", "processEffectsSequence", "finalValue", "addEffect", "effectFunction", "ValueProperty", "elem", "mult", "MultiDimensionalProperty", "KeyframedValueProperty", "KeyframedMultidimensionalProperty", "to", "ti", "arrLen", "getProp", "defaultVector", "applyToMatrix", "mat", "_mdf", "processKeys", "forceRender", "frameRate", "v1", "v2", "px", "py", "precalculateMatrix", "autoOrient", "addDynamicProperty", "TransformProperty", "getTransformProperty", "pos", "replace", "vX", "vY", "oX", "oY", "iX", "iY", "newPath", "vertices", "outPoints", "inPoints", "init", "cnt", "interpolateShape", "previousValue", "keyPropS", "keyPropE", "isHold", "vertexValue", "kf", "interpolateShapeCurrentTime", "lastFrame", "resetShape", "shapesEqual", "shape1", "shape2", "ShapeProperty", "KeyframedShapeProperty", "EllShapeProperty", "cPoint", "EllShapePropertyFactory", "s0", "_cw", "_v", "StarShapeProperty", "StarShapePropertyFactory", "numPts", "longFlag", "longRad", "shortRad", "longRound", "shortRound", "longPerimSegment", "shortPerimSegment", "rad", "roundness", "perimSegment", "currentAng", "ox", "oy", "RectShapeProperty", "RectShapePropertyFactory", "v0", "round", "getShapeProp", "dataProp", "keys", "getConstructorFunction", "getKeyframedConstructorFunction", "modifiers", "registerModifier", "getModifier", "shapeLength", "totalModifierLength", "segments", "shapeSegments", "segmentOb", "shapeS", "shapeE", "pathsData", "_isFirstFrame", "_s", "shapePaths", "totalShapeLength", "localShapeCollection", "edges", "newShapesData", "lastShapeInCollection", "lastShape", "newPaths", "shapePath", "newShape", "shapeSegment", "currentLengthData", "segmentCount", "segment", "segmentLength", "clonedPath", "currentV", "currentI", "currentO", "closerV", "distance", "newPosPerc", "rd", "amount", "centerPoint", "pathLength", "pMatrix", "rMatrix", "sMatrix", "inv", "scaleX", "scaleY", "elemsData", "elements", "newElements", "renderFlag", "items", "itemsTransform", "cont", "hasReloaded", "copies", "group", "elems", "transformData", "offsetModulo", "roundOffset", "pProps", "rProps", "sProps", "iteration", "renderer", "cLength", "diff", "pathNodes", "_o", "_i", "shapeString", "AudioController", "audioFactory", "audio", "rateValue", "assetPath", "proxyImage", "canvas", "ctx", "imageLoaded", "footageLoaded", "getAssetsPath", "assetData", "assetsPath", "originalPath", "imagePath", "testImageLoaded", "img", "intervalId", "box", "createImageData", "createImgData", "createFootageData", "footageData", "loadAssets", "assets", "cb", "setPath", "setAssetsPath", "getAsset", "destroy", "loadedImages", "loadedFootages", "setCacheType", "elementHelper", "ImagePreloaderFactory", "createFilter", "createAlphaToLuminanceFilter", "filId", "skipCoordinates", "fil", "feColorMatrix", "formatResponse", "xhr", "loadAsset", "errorCallback", "response", "err", "textData", "renderType", "animatorProps", "lettersChangedFlag", "alignment", "animators", "matrixHelper", "renderedLettersCount", "xPos", "yPos", "letters", "pathInfo", "currentLength", "currentPoint", "pointInd", "segmentInd", "prevPoint", "partialLength", "tanAngle", "yOff", "firstLine", "animatorSelector", "letterValue", "offf", "xPathPos", "yPathPos", "initPathPos", "initSegmentInd", "initPointInd", "currentLine", "elemOpacity", "sw", "fc", "letterSw", "letterSc", "letterFc", "letterM", "letterP", "letterO", "animatorJustifyOffset", "animatorFirstCharOffset", "justifyOffsetMult", "lastIndex", "isNewLine", "animatorOffset", "rot", "defaultData", "textAnimatorAnimatables", "updated", "_finalValue", "currentValue", "currentIndex", "textKeys", "text", "charactersArray", "charCode", "newLineFlag", "anchorGrouping", "currentSize", "currentPos", "lineWidths", "lineWidth", "maxLineWidth", "charData", "trackingOffset", "boxWidth", "boxHeight", "currentHeight", "finalText", "lastSpaceIndex", "uncollapsedSpaces", "currentChar", "animatorData", "letterData", "based", "indexes", "currentInd", "newInd", "newData", "dData", "_canResize", "_fontValue", "floor", "TextSelectorPropFactory", "easer", "tot", "newCharsFlag", "divisor", "getTextSelectorProp", "initialLength", "_create", "_release", "_length", "_maxLength", "newElement", "release", "double", "create", "shape", "cloned", "newShapeCollection", "shapeCollection", "parsePayloadLines", "payload", "lines", "line", "keysCount", "_markers", "markers", "_marker", "markerData", "num", "layer", "newLayers", "pInterface", "parentName", "hierarchy", "comp", "animData", "fontsContainer", "animationItem", "config", "ariaLabel", "titleElement", "titleId", "descElement", "descId", "maskElement", "rect", "maskId", "nextElement", "cProps", "trProps", "op", "actionFlag", "popped", "containerStyle", "origin", "elementWidth", "elementHeight", "elementRel", "animationRel", "par", "fillType", "newDOMElement", "nextDOMElement", "nextLayer", "tmpDOMElement", "perspectiveElem", "center", "matrix", "threeDContainerData", "lastThreeDContainerData", "currentContainer", "resizerElem", "wrapper", "svg", "cWidth", "cHeight", "floatingContainer", "globalData", "properties", "currentMasks", "layerId", "expansor", "feMorph", "maskType", "maskRef", "filterID", "isFirstFrame", "finalMat", "viewData", "pathString", "pathShapeValue", "isVisible", "transforms", "ptNew", "component", "_prototype", "position", "level", "transformers", "mProps", "styleOb", "pathElement", "gradientId", "gfill", "stops", "stop", "opacityId", "opFill", "_identityMatrix", "_matrixHelper", "createRenderFunction", "renderFill", "renderGradient", "renderGradientStroke", "renderStroke", "renderPath", "renderContentTransform", "styleData", "itemData", "pathStringTransformed", "redraw", "lLen", "lvl", "iterations", "styleElem", "hasOpacity", "attr1", "attr2", "cValues", "oValues", "ang", "sequence", "transformsManager", "styledShape", "effectsInterface", "blendModeValue", "layerElementParent", "gg", "masker", "maskGroup", "maskGrouper", "feCTr", "feFunc", "alphaRect", "cp", "clipId", "cpGroup", "shouldBreakProcess", "shapeStr", "_fontSize", "lineNumber", "colorData", "timeRemapped", "volumeValue", "textArray", "textContents", "currentTextContent", "usesGlyphs", "tSpan", "singleShape", "tElement", "justify", "textContent", "cachedSpansLength", "textBox", "renderedLetters", "renderedLetter", "textSpan", "tempShapes", "areAnimated", "elementData", "GradientConstructor", "transformProperty", "ownTransformers", "shapeProperty", "itemsData", "prevViewData", "render", "ownStyles", "ownModifiers", "currentTransform", "modifier", "processedPos", "animatedContent", "filter", "filterManager", "feMerge", "feMergeNode", "colorBlack", "colorWhite", "opacity", "feGaussianBlur", "kBlurrinessToSigma", "sigma", "dimensions", "sigmaX", "sigmaY", "edgeMode", "elemChildren", "groupPath", "dasharrayValue", "lineLength", "units", "feComponentTransfer", "feFuncR", "feFuncG", "feFuncB", "color1", "color2", "color3", "tableR", "tableG", "tableB", "effectElements", "inputBlack", "inputWhite", "gamma", "outputBlack", "outputWhite", "table", "colorValue", "outputDelta", "inputDelta", "filterSize", "feOffset", "feFlood", "feComposite", "col", "filterElem", "symbolId", "children", "nextChild", "useElem", "symbol", "newLength", "currentSavedOp", "forceRealStack", "imgW", "imgH", "imgRel", "canvasRel", "widthCrop", "heightCrop", "hasMasks", "shouldRender", "ownTransforms", "parentTransform", "groupTransform", "nodes", "currentStyle", "isMain", "shapeNodes", "groupTransformMat", "grd", "hasFill", "hasStroke", "commands", "pathArr", "lastFill", "lastStroke", "lastStrokeW", "transformedElementStyle", "matrixValue", "item", "boundingBox", "vPoint", "oPoint", "nextIPoint", "nextVPoint", "bounds", "p3", "b2ac", "t2", "tempBoundingBox", "changed", "shapeStyle", "shapeTransform", "innerElemStyle", "textColor", "tParent", "tCont", "tContStyle", "tContTranslation", "tStyle", "tSpanTranslation", "svgStyle", "translation", "textPath", "margin", "svgTransform", "perspectiveStyle", "perspective", "mTransf", "diffVector", "mag", "lookDir", "lookLengthOnXZ", "mRotationX", "mRotationY", "hasMatrixChanged", "matValue", "registeredAnimations", "playingAnimationsNum", "_stopped", "_isFrozen", "removeElement", "ev", "animItem", "subtractPlayingCount", "registerAnimation", "setupAnimation", "getRegisteredAnimations", "lenAnims", "animations", "addPlayingCount", "activate", "loadAnimation", "params", "setSpeed", "animation", "setDirection", "play", "resume", "nowTime", "elapsedTime", "first", "pause", "goToAndStop", "isFrame", "togglePause", "searchAnimations", "standalone", "animElements", "body", "div", "resize", "freeze", "unfreeze", "setVolume", "mute", "unmute", "animType", "wrapperAttributes", "loop", "autoplay", "prerender", "segmentPath", "error", "markerName", "marker", "numValue", "nextValue", "_isComplete", "end", "pendingFrame", "forceFlag", "initExpressions", "stackCount", "registers", "pushExpression", "popExpression", "releaseInstances", "registerExpressionProperty", "expression", "tOfV", "tOfA", "lenA", "retArr", "tOfB", "lenB", "mm", "arr1", "arr2", "vec", "tMin", "tMax", "value1", "value2", "_tMin", "rnd", "rndm", "inTangents", "outTangents", "arrPlaceholder", "inVertexPoint", "outVertexPoint", "wiggle", "freq", "amp", "iWiggle", "lenWiggle", "addedAmps", "periods", "duration", "elem1", "elem2", "fVec", "pitch", "yaw", "val1", "val2", "fn", "iKey", "lenKey", "obKey", "frames", "fps", "framesPerSecond", "_value", "searchExpressions", "getValueAtTime", "getSpeedAtTime", "delta", "speed", "getVelocityAtTime", "velocity", "getStaticValueAtTime", "setGroupProperty", "propertyGroup", "addPropertyDecorator", "loopOut", "durationFlag", "currentFrame", "keyframes", "lastKeyFrame", "cycleDuration", "firstKeyFrame", "ret", "initV", "endV", "current", "repeats", "lastValue", "nextLastValue", "loopIn", "firstValue", "nextFirstValue", "smooth", "samples", "endFrame", "sampleFrequency", "sampleValue", "getTransformValueAtTime", "anchor", "skewAxis", "rotation", "rotationZ", "rotationY", "rotationX", "orientation", "positionX", "positionY", "positionZ", "getTransformStaticValueAtTime", "propertyGetProp", "getShapeValueAtTime", "ShapePropertyConstructorFunction", "KeyframedShapePropertyConstructorFunction", "ShapeExpressions", "accumulatedLength", "initIndex", "endIndex", "vectorType", "xLength", "yLength", "magnitude", "unitVector", "propertyGetShapeProp", "trims", "addDecorator", "isKeyframed", "hasExpressions", "view", "interfaceFunction", "_propertyGroup", "parentPropertyGroup", "propertyName", "iterateElements", "groupInterfaceFactory", "fillInterfaceFactory", "strokeInterfaceFactory", "trimInterfaceFactory", "ellipseInterfaceFactory", "starInterfaceFactory", "rectInterfaceFactory", "roundedInterfaceFactory", "repeaterInterfaceFactory", "contentsInterfaceFactory", "interfaces", "transformInterface", "transformInterfaceFactory", "content", "_dashPropertyGroup", "dashOb", "addPropertyToDashOb", "_interfaceFunction", "parentGroupWrapper", "_prevValue", "_sourceText", "_thisLayerFunction", "stringValue", "getMatrix", "toWorldMat", "propMatrix", "transformMat", "toWorldVec", "toWorld", "fromWorldVec", "fromWorld", "applyPoint", "invertPoint", "fromComp", "sampleImage", "_registerMaskInterface", "maskManager", "_registerEffectsInterface", "effects", "anchorPointDescriptor", "outlineInterfaceFactory", "currentPropertyName", "currentProperty", "searchProperty", "propertyNameIndex", "dataInterfaceFactory", "_thisFunction", "_px", "_py", "_pz", "_transformFactory", "registerComposition", "_thisProjectFunction", "createEffectsInterface", "effectsData", "createGroupInterface", "groupInterface", "createValueInterface", "expressionProperty", "MaskInterface", "MaskManager", "_masksInterfaces", "maskFunction", "defaultUnidimensionalValue", "defaultMultidimensionalValue", "completeProperty", "expressionValue", "property", "valueProp", "UnidimensionalPropertyInterface", "MultidimensionalPropertyInterface", "arrValue", "defaultGetter", "TextExpressionSelectorProp", "getValueProxy", "total", "propertyGetTextProp", "effectItem", "eff", "href", "plugin", "variable", "vars", "pair", "exports$1", "npm_lottie_web_5_7_default", "SrcType", "Poster", "placeholderUrl", "Lottie", "props", "style", "srcUrl", "srcFile", "srcType", "poster", "progressRaw", "playing", "loop", "posterProgress", "pauseOnCanvas", "isForwardsDirection", "speed", "onClick", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "onComplete", "isOnCanvas", "RenderTarget", "shouldPlay", "direction", "isCustomPoster", "el", "pe", "didInitialMount", "animationInfo", "progress", "useAutoMotionValue", "v", "play", "_animationInfo_current_animation", "_animationInfo_current", "pause", "destroy", "scrubTo", "te", "normalizedProgress", "shouldPlayAfter", "frameNumberTarget", "fetchLottieData", "url", "d", "init", "dataUrl", "data", "setup", "options", "anim", "npm_lottie_web_5_7_default", "ue", "cleanup", "c", "val", "normalizedPosterProgress", "p", "motion", "addPropertyControls", "ControlType", "defaultEvents", "rive_exports", "__export", "h", "o", "s", "t", "global", "i", "o", "s", "v", "h", "fa", "a", "ha", "m", "y", "w", "B", "navigator", "_", "A", "R", "C", "E", "L", "T", "P", "M", "F", "b", "c", "O", "j", "I", "k", "x", "D", "U", "N", "$", "z", "X", "window", "Aa", "H", "Ja", "G", "q", "J", "K", "Oa", "Q", "ee", "Sa", "ne", "re", "Va", "Wa", "Xa", "Ya", "ie", "ae", "oe", "rt", "it", "at", "eb", "fb", "gb", "hb", "ib", "jb", "kb", "lb", "se", "nb", "ue", "pb", "qb", "rb", "ce", "tb", "ub", "le", "Ce", "he", "de", "yb", "fe", "Le", "Ab", "Ee", "Cb", "Db", "pe", "ve", "me", "be", "ge", "ye", "we", "_e", "Ae", "Re", "Lb", "Kb", "Mb", "Nb", "Ob", "Pb", "Qb", "Rb", "Sb", "Tb", "Vb", "Wb", "S", "Xb", "cc", "ec", "fc", "gc", "jc", "Te", "Pe", "mc", "nc", "oc", "pc", "Me", "Fe", "V", "rc", "sc", "tc", "Se", "xe", "W", "je", "xc", "Oe", "Ie", "Ac", "ke", "Cc", "Dc", "Ec", "Fc", "Gc", "De", "Ic", "Jc", "We", "Lc", "Ue", "Nc", "Oc", "Pc", "Be", "Rc", "Sc", "Ve", "Ne", "Y", "d", "Vc", "Wc", "Xc", "Yc", "Zc", "$c", "ad", "bd", "cd", "dd", "ed", "fd", "gd", "hd", "jd", "$e", "ld", "md", "Z", "Ye", "od", "pd", "sd", "td", "ud", "vd", "wd", "xd", "ze", "zd", "Ad", "Bd", "Cd", "Dd", "Ed", "Xe", "Gd", "He", "Id", "Jd", "Ge", "qe", "Ze", "Je", "Od", "Pd", "Ke", "Qe", "Sd", "e", "f", "g", "r", "n", "p", "et", "tt", "nt", "Vd", "l", "u", "Wd", "ot", "Zd", "$d", "Animation", "registerTouchInteractions", "getClientCoordinates", "processEventCallback", "sanitizeUrl", "isRelativeUrlWithoutProtocol", "decodeHtmlCharacters", "__webpack_require__", "decodeAudio", "decodeFont", "decodeImage", "extendStatics", "__", "adopt", "fulfilled", "step", "rejected", "verb", "RiveError", "resolveErrorMessage", "Layout", "RuntimeLoader", "StateMachineInput", "StateMachine", "Animator", "mapToStringArray", "EventManager", "TaskQueueManager", "AudioManager", "_clickListener", "FakeResizeObserver", "ObjectObservers", "RiveFile", "loadRiveFile", "Rive", "l", "npm_react_18_2_exports", "e", "f", "rive_exports", "o", "d", "global", "v", "p", "y", "n", "g", "r", "i", "a", "t", "s", "u", "c", "window", "m", "e", "R", "x", "T", "h", "i", "l", "p", "f", "v", "window", "y", "g", "t", "d", "P", "b", "w", "S", "L", "M", "k", "z", "j", "H", "I", "D", "F", "N", "W", "A", "B", "_", "U", "s", "X", "Y", "G", "q", "C", "E", "o", "r", "O", "n", "a", "u", "getFitValue", "fit", "v", "getAlignmentValue", "alignment", "useRiveInputs", "rive", "stateMachines", "inputsJSON", "se", "error", "config", "handler", "D", "RivePlayer_v5", "props", "src", "artboard", "autoplay", "play", "playOnCanvas", "onEventTriggered", "isTouchScrollEnabled", "layoutScaleFactor", "layout", "RiveComponent", "H", "inputs", "prevInputsRef", "pe", "ue", "input", "index", "prevInput", "handleEvent", "event", "RenderTarget", "p", "addPropertyControls", "ControlType", "eventData", "RivePlayer_v5Fonts", "getFonts", "RivePlayer_v5", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "transformTemplate1", "_", "t", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "click4", "height", "id", "width", "props", "_humanReadableVariantMap_props_variant", "_ref", "createLayoutDependency", "Component", "Y", "ref", "activeLocale", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "QQKevxhaU", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onTap1wiosh3", "args", "onTap1k1adgs", "ref1", "pe", "defaultLayoutId", "ae", "sharedStyleClassNames", "componentViewport", "useComponentViewport", "LayoutGroup", "cx", "ComponentViewportProvider", "css", "FramerBFnAFjSky", "withCSS", "BFnAFjSky_default", "addPropertyControls", "ControlType", "addFonts", "LottieFonts", "getFonts", "Lottie", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "transition2", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "click", "height", "id", "width", "props", "_humanReadableVariantMap_props_variant", "_ref", "createLayoutDependency", "Component", "Y", "ref", "activeLocale", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "odQaYqYsW", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onTap9698jk", "args", "ref1", "pe", "defaultLayoutId", "ae", "sharedStyleClassNames", "componentViewport", "useComponentViewport", "LayoutGroup", "Link", "cx", "ComponentViewportProvider", "css", "Framerc7FdTXA6I", "withCSS", "c7FdTXA6I_default", "addPropertyControls", "ControlType", "addFonts", "LottieFonts", "getFonts", "Lottie", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "transition2", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "click", "height", "id", "width", "props", "_humanReadableVariantMap_props_variant", "_ref", "createLayoutDependency", "Component", "Y", "ref", "activeLocale", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "fpLhVXu6X", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onTapwtxsbs", "args", "ref1", "pe", "defaultLayoutId", "ae", "sharedStyleClassNames", "componentViewport", "useComponentViewport", "LayoutGroup", "Link", "cx", "ComponentViewportProvider", "css", "FramerICX_O4fuf", "withCSS", "ICX_O4fuf_default", "addPropertyControls", "ControlType", "addFonts", "LottieFonts", "getFonts", "Lottie", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "transition2", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "click", "height", "id", "width", "props", "_humanReadableVariantMap_props_variant", "_ref", "createLayoutDependency", "Component", "Y", "ref", "activeLocale", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "CIICOxsOL", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onTap1jbmobq", "args", "ref1", "pe", "defaultLayoutId", "ae", "sharedStyleClassNames", "componentViewport", "useComponentViewport", "LayoutGroup", "Link", "cx", "ComponentViewportProvider", "css", "Framerznz3pw6vH", "withCSS", "znz3pw6vH_default", "addPropertyControls", "ControlType", "addFonts", "NavWorkFonts", "getFonts", "ICX_O4fuf_default", "NavAboutFonts", "znz3pw6vH_default", "NavContactFonts", "c7FdTXA6I_default", "MenuNavFonts", "BFnAFjSky_default", "RivePlayer_v5Fonts", "RivePlayer_v5", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "transition2", "transformTemplate1", "_", "t", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "activeLocale", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "fpLhVXu6X1fgeqxx", "args", "CIICOxsOL1fgeqxx", "odQaYqYsW1fgeqxx", "QQKevxhaU1hfvu7k", "QQKevxhaU1f7drvu", "scopingClassNames", "cx", "ref1", "pe", "isDisplayed", "defaultLayoutId", "ae", "componentViewport", "useComponentViewport", "LayoutGroup", "u", "ComponentViewportProvider", "Link", "css", "FramerB7oOPxShk", "withCSS", "B7oOPxShk_default", "addPropertyControls", "ControlType", "addFonts", "RivePlayer_v5Fonts", "getFonts", "RivePlayer_v5", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "activeLocale", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "scopingClassNames", "cx", "ref1", "pe", "defaultLayoutId", "ae", "componentViewport", "useComponentViewport", "LayoutGroup", "u", "Link", "ComponentViewportProvider", "css", "FramerLIUi7Wh6A", "withCSS", "LIUi7Wh6A_default", "addPropertyControls", "ControlType", "addFonts", "LottieFonts", "getFonts", "Lottie", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "width", "props", "_humanReadableVariantMap_props_variant", "_ref", "createLayoutDependency", "Component", "Y", "ref", "activeLocale", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "ref1", "pe", "defaultLayoutId", "ae", "sharedStyleClassNames", "componentViewport", "useComponentViewport", "LayoutGroup", "cx", "ComponentViewportProvider", "css", "FramerqCNfW_OL9", "withCSS", "qCNfW_OL9_default", "addPropertyControls", "ControlType", "addFonts"]
}
