{"version":3,"sources":["../node_modules/object-assign/index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/tiny-warning/dist/tiny-warning.esm.js","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../node_modules/history/esm/history.js","../node_modules/react-router-dom/node_modules/react-router/node_modules/mini-create-react-context/dist/esm/index.js","../node_modules/react-router-dom/node_modules/isarray/index.js","../node_modules/react-router-dom/node_modules/path-to-regexp/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../modules/index.js","../modules/createNameContext.js","../modules/HistoryContext.js","../modules/RouterContext.js","../modules/Router.js","../modules/MemoryRouter.js","../modules/Lifecycle.js","../modules/Prompt.js","../modules/generatePath.js","../modules/Redirect.js","../modules/matchPath.js","../modules/Route.js","../modules/StaticRouter.js","../modules/Switch.js","../modules/withRouter.js","../modules/hooks.js","../modules/NavLink.js","../modules/BrowserRouter.js","../modules/HashRouter.js","../modules/utils/locationUtils.js","../modules/Link.js","footer/links.tsx","../node_modules/core-js/library/modules/_defined.js","../node_modules/core-js/library/modules/_to-object.js","../node_modules/core-js/library/modules/_has.js","../node_modules/core-js/library/modules/_cof.js","../node_modules/core-js/library/modules/_iobject.js","../node_modules/core-js/library/modules/_to-iobject.js","../node_modules/core-js/library/modules/_to-integer.js","../node_modules/core-js/library/modules/_to-length.js","../node_modules/core-js/library/modules/_to-absolute-index.js","../node_modules/core-js/library/modules/_array-includes.js","../node_modules/core-js/library/modules/_core.js","../node_modules/core-js/library/modules/_global.js","../node_modules/core-js/library/modules/_library.js","../node_modules/core-js/library/modules/_shared.js","../node_modules/core-js/library/modules/_uid.js","../node_modules/core-js/library/modules/_shared-key.js","../node_modules/core-js/library/modules/_object-keys-internal.js","../node_modules/core-js/library/modules/_enum-bug-keys.js","../node_modules/core-js/library/modules/_object-keys.js","../node_modules/core-js/library/modules/_a-function.js","../node_modules/core-js/library/modules/_ctx.js","../node_modules/core-js/library/modules/_is-object.js","../node_modules/core-js/library/modules/_an-object.js","../node_modules/core-js/library/modules/_fails.js","../node_modules/core-js/library/modules/_descriptors.js","../node_modules/core-js/library/modules/_dom-create.js","../node_modules/core-js/library/modules/_ie8-dom-define.js","../node_modules/core-js/library/modules/_to-primitive.js","../node_modules/core-js/library/modules/_object-dp.js","../node_modules/core-js/library/modules/_property-desc.js","../node_modules/core-js/library/modules/_hide.js","../node_modules/core-js/library/modules/_export.js","../node_modules/core-js/library/modules/_object-sap.js","../node_modules/core-js/library/modules/es6.object.keys.js","../node_modules/core-js/library/fn/object/keys.js","../node_modules/babel-runtime/core-js/object/keys.js","../node_modules/core-js/library/fn/json/stringify.js","../node_modules/babel-runtime/core-js/json/stringify.js","../node_modules/core-js/library/modules/_object-gops.js","../node_modules/core-js/library/modules/_object-pie.js","../node_modules/core-js/library/modules/_object-assign.js","../node_modules/core-js/library/modules/es6.object.assign.js","../node_modules/core-js/library/fn/object/assign.js","../node_modules/babel-runtime/core-js/object/assign.js","../node_modules/babel-runtime/helpers/extends.js","../node_modules/core-js/library/modules/_object-gpo.js","../node_modules/core-js/library/modules/es6.object.get-prototype-of.js","../node_modules/core-js/library/fn/object/get-prototype-of.js","../node_modules/babel-runtime/core-js/object/get-prototype-of.js","../node_modules/babel-runtime/helpers/classCallCheck.js","../node_modules/core-js/library/modules/es6.object.define-property.js","../node_modules/core-js/library/fn/object/define-property.js","../node_modules/babel-runtime/core-js/object/define-property.js","../node_modules/babel-runtime/helpers/createClass.js","../node_modules/core-js/library/modules/_string-at.js","../node_modules/core-js/library/modules/_redefine.js","../node_modules/core-js/library/modules/_iterators.js","../node_modules/core-js/library/modules/_object-dps.js","../node_modules/core-js/library/modules/_html.js","../node_modules/core-js/library/modules/_object-create.js","../node_modules/core-js/library/modules/_wks.js","../node_modules/core-js/library/modules/_set-to-string-tag.js","../node_modules/core-js/library/modules/_iter-create.js","../node_modules/core-js/library/modules/_iter-define.js","../node_modules/core-js/library/modules/es6.string.iterator.js","../node_modules/core-js/library/modules/_add-to-unscopables.js","../node_modules/core-js/library/modules/_iter-step.js","../node_modules/core-js/library/modules/es6.array.iterator.js","../node_modules/core-js/library/modules/web.dom.iterable.js","../node_modules/core-js/library/modules/_wks-ext.js","../node_modules/core-js/library/fn/symbol/iterator.js","../node_modules/babel-runtime/core-js/symbol/iterator.js","../node_modules/core-js/library/modules/_meta.js","../node_modules/core-js/library/modules/_wks-define.js","../node_modules/core-js/library/modules/_enum-keys.js","../node_modules/core-js/library/modules/_is-array.js","../node_modules/core-js/library/modules/_object-gopn.js","../node_modules/core-js/library/modules/_object-gopn-ext.js","../node_modules/core-js/library/modules/_object-gopd.js","../node_modules/core-js/library/modules/es6.symbol.js","../node_modules/core-js/library/modules/es7.symbol.async-iterator.js","../node_modules/core-js/library/modules/es7.symbol.observable.js","../node_modules/core-js/library/fn/symbol/index.js","../node_modules/babel-runtime/core-js/symbol.js","../node_modules/babel-runtime/helpers/typeof.js","../node_modules/babel-runtime/helpers/possibleConstructorReturn.js","../node_modules/core-js/library/modules/_set-proto.js","../node_modules/core-js/library/modules/es6.object.set-prototype-of.js","../node_modules/core-js/library/fn/object/set-prototype-of.js","../node_modules/babel-runtime/core-js/object/set-prototype-of.js","../node_modules/core-js/library/modules/es6.object.create.js","../node_modules/core-js/library/fn/object/create.js","../node_modules/babel-runtime/core-js/object/create.js","../node_modules/babel-runtime/helpers/inherits.js","../node_modules/lottie-web/build/player/lottie.js","src/renderer/Renderer.js","node_modules/browser-pack/_prelude.js","src/animation/AnimationItem.js","src/enums/key_path_separator.js","src/enums/layer_types.js","src/enums/property_names.js","src/helpers/keyPathBuilder.js","src/helpers/layerAPIBuilder.js","src/helpers/stringSanitizer.js","src/helpers/transformationMatrix.js","src/helpers/typedArrays.js","src/index.js","src/key_path/KeyPathList.js","src/key_path/KeyPathNode.js","src/layer/LayerBase.js","src/layer/LayerList.js","src/layer/camera/Camera.js","src/layer/composition/Composition.js","src/layer/composition/TimeRemap.js","src/layer/effects/EffectElement.js","src/layer/effects/Effects.js","src/layer/image/ImageElement.js","src/layer/null_element/NullElement.js","src/layer/shape/Shape.js","src/layer/shape/ShapeContents.js","src/layer/shape/ShapeEllipse.js","src/layer/shape/ShapeFill.js","src/layer/shape/ShapeGradientFill.js","src/layer/shape/ShapeGradientStroke.js","src/layer/shape/ShapePath.js","src/layer/shape/ShapePolystar.js","src/layer/shape/ShapeRectangle.js","src/layer/shape/ShapeRepeater.js","src/layer/shape/ShapeRoundCorners.js","src/layer/shape/ShapeStroke.js","src/layer/shape/ShapeTrimPaths.js","src/layer/solid/SolidElement.js","src/layer/text/Text.js","src/layer/text/TextAnimator.js","src/layer/text/TextElement.js","src/layer/transform/Transform.js","src/property/Property.js","src/property/ValueProperty.js","../node_modules/lottie-react-web/dist/index.js","shared/arrow.json","shared/eye.json","shared/index.tsx","footer/index.tsx","galerie/paintings.json","../node_modules/tslib/tslib.es6.js","../node_modules/framer-motion/dist/es/context/MotionConfigContext.js","../node_modules/framer-motion/dist/es/context/PresenceContext.js","../node_modules/framer-motion/dist/es/utils/use-constant.js","../node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.js","../node_modules/framer-motion/dist/es/context/LayoutGroupContext.js","../node_modules/framer-motion/dist/es/components/AnimateSharedLayout/types.js","../node_modules/framer-motion/dist/es/components/AnimateSharedLayout/utils/batcher.js","../node_modules/framer-motion/dist/es/context/SharedLayoutContext.js","../node_modules/framer-motion/dist/es/motion/features/use-features.js","../node_modules/framer-motion/dist/es/context/MotionContext/index.js","../node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.js","../node_modules/framer-motion/dist/es/motion/features/layout/use-snapshot-on-unmount.js","../node_modules/framer-motion/dist/es/motion/utils/use-visual-element.js","../node_modules/framer-motion/dist/es/utils/is-ref-object.js","../node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.js","../node_modules/framer-motion/dist/es/render/utils/variants.js","../node_modules/framer-motion/dist/es/context/MotionContext/utils.js","../node_modules/framer-motion/dist/es/context/MotionContext/create.js","../node_modules/framer-motion/dist/es/motion/index.js","../node_modules/framer-motion/dist/es/events/use-dom-event.js","../node_modules/hey-listen/dist/hey-listen.es.js","../node_modules/popmotion/dist/es/utils/clamp.js","../node_modules/popmotion/dist/es/animations/utils/find-spring.js","../node_modules/popmotion/dist/es/animations/generators/spring.js","../node_modules/popmotion/dist/es/utils/progress.js","../node_modules/popmotion/dist/es/utils/mix.js","../node_modules/style-value-types/dist/es/utils.js","../node_modules/style-value-types/dist/es/numbers/index.js","../node_modules/style-value-types/dist/es/numbers/units.js","../node_modules/style-value-types/dist/es/color/utils.js","../node_modules/style-value-types/dist/es/color/hsla.js","../node_modules/style-value-types/dist/es/color/rgba.js","../node_modules/style-value-types/dist/es/color/hex.js","../node_modules/style-value-types/dist/es/color/index.js","../node_modules/style-value-types/dist/es/complex/index.js","../node_modules/style-value-types/dist/es/complex/filter.js","../node_modules/style-value-types/dist/es/index.js","../node_modules/popmotion/dist/es/utils/mix-color.js","../node_modules/popmotion/dist/es/utils/inc.js","../node_modules/popmotion/dist/es/utils/pipe.js","../node_modules/popmotion/dist/es/utils/mix-complex.js","../node_modules/popmotion/dist/es/utils/interpolate.js","../node_modules/popmotion/dist/es/easing/utils.js","../node_modules/popmotion/dist/es/easing/index.js","../node_modules/popmotion/dist/es/animations/generators/keyframes.js","../node_modules/popmotion/dist/es/animations/generators/decay.js","../node_modules/popmotion/dist/es/animations/utils/detect-animation-from-options.js","../node_modules/framesync/dist/es/on-next-frame.js","../node_modules/framesync/dist/es/create-render-step.js","../node_modules/process/browser.js","../node_modules/framesync/dist/es/index.js","../node_modules/popmotion/dist/es/animations/utils/elapsed.js","../node_modules/popmotion/dist/es/animations/index.js","../node_modules/popmotion/dist/es/utils/velocity-per-second.js","../node_modules/popmotion/dist/es/animations/inertia.js","../node_modules/popmotion/dist/es/utils/radians-to-degrees.js","../node_modules/popmotion/dist/es/utils/angle.js","../node_modules/popmotion/dist/es/utils/apply-offset.js","../node_modules/popmotion/dist/es/utils/attract.js","../node_modules/popmotion/dist/es/utils/degrees-to-radians.js","../node_modules/popmotion/dist/es/utils/is-point.js","../node_modules/popmotion/dist/es/utils/is-point-3d.js","../node_modules/popmotion/dist/es/utils/distance.js","../node_modules/popmotion/dist/es/utils/point-from-vector.js","../node_modules/popmotion/dist/es/utils/to-decimal.js","../node_modules/popmotion/dist/es/utils/smooth-frame.js","../node_modules/popmotion/dist/es/utils/smooth.js","../node_modules/popmotion/dist/es/utils/snap.js","../node_modules/popmotion/dist/es/utils/velocity-per-frame.js","../node_modules/popmotion/dist/es/utils/wrap.js","../node_modules/popmotion/dist/es/easing/cubic-bezier.js","../node_modules/popmotion/dist/es/easing/steps.js","../node_modules/popmotion/dist/es/index.js","../node_modules/framer-motion/dist/es/gestures/utils/event-type.js","../node_modules/framer-motion/dist/es/events/event-info.js","../node_modules/framer-motion/dist/es/events/utils.js","../node_modules/framer-motion/dist/es/events/use-pointer-event.js","../node_modules/framer-motion/dist/es/utils/time-conversion.js","../node_modules/framer-motion/dist/es/gestures/PanSession.js","../node_modules/framer-motion/dist/es/gestures/drag/utils/lock.js","../node_modules/framer-motion/dist/es/utils/noop.js","../node_modules/framer-motion/dist/es/utils/geometry/index.js","../node_modules/framer-motion/dist/es/utils/each-axis.js","../node_modules/framer-motion/dist/es/utils/geometry/delta-calc.js","../node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.js","../node_modules/framer-motion/dist/es/render/dom/projection/measure.js","../node_modules/framer-motion/dist/es/animation/utils/easing.js","../node_modules/framer-motion/dist/es/animation/utils/is-animatable.js","../node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.js","../node_modules/framer-motion/dist/es/animation/utils/default-transitions.js","../node_modules/framer-motion/dist/es/render/dom/utils/value-types.js","../node_modules/framer-motion/dist/es/animation/utils/transitions.js","../node_modules/framer-motion/dist/es/render/utils/types.js","../node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.js","../node_modules/framer-motion/dist/es/gestures/drag/use-drag.js","../node_modules/framer-motion/dist/es/motion/utils/make-renderless-component.js","../node_modules/framer-motion/dist/es/motion/features/drag.js","../node_modules/framer-motion/dist/es/utils/use-unmount-effect.js","../node_modules/framer-motion/dist/es/gestures/use-pan-gesture.js","../node_modules/framer-motion/dist/es/gestures/utils/is-node-or-child.js","../node_modules/framer-motion/dist/es/gestures/use-tap-gesture.js","../node_modules/framer-motion/dist/es/gestures/use-hover-gesture.js","../node_modules/framer-motion/dist/es/gestures/use-focus-gesture.js","../node_modules/framer-motion/dist/es/gestures/use-gestures.js","../node_modules/framer-motion/dist/es/gestures/types.js","../node_modules/framer-motion/dist/es/motion/features/gestures.js","../node_modules/framer-motion/dist/es/motion/utils/should-inherit-variant.js","../node_modules/framer-motion/dist/es/motion/features/exit.js","../node_modules/framer-motion/dist/es/utils/array.js","../node_modules/framer-motion/dist/es/utils/subscription-manager.js","../node_modules/framer-motion/dist/es/value/index.js","../node_modules/framer-motion/dist/es/utils/is-numerical-string.js","../node_modules/framer-motion/dist/es/utils/resolve-value.js","../node_modules/framer-motion/dist/es/render/utils/setters.js","../node_modules/framer-motion/dist/es/render/utils/animation.js","../node_modules/framer-motion/dist/es/animation/animation-controls.js","../node_modules/framer-motion/dist/es/utils/shallow-compare.js","../node_modules/framer-motion/dist/es/render/utils/animation-state.js","../node_modules/framer-motion/dist/es/motion/features/animation.js","../node_modules/framer-motion/dist/es/motion/features/layout/utils.js","../node_modules/framer-motion/dist/es/motion/features/layout/Animate.js","../node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.js","../node_modules/framer-motion/dist/es/render/dom/projection/scale-correction.js","../node_modules/framer-motion/dist/es/motion/utils/valid-prop.js","../node_modules/framer-motion/dist/es/value/utils/is-motion-value.js","../node_modules/framer-motion/dist/es/render/utils/state.js","../node_modules/framer-motion/dist/es/render/html/utils/transform.js","../node_modules/framer-motion/dist/es/render/html/utils/build-transform.js","../node_modules/framer-motion/dist/es/utils/geometry/delta-apply.js","../node_modules/framer-motion/dist/es/render/utils/lifecycles.js","../node_modules/framer-motion/dist/es/render/utils/motion-values.js","../node_modules/framer-motion/dist/es/render/utils/projection.js","../node_modules/framer-motion/dist/es/render/index.js","../node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.js","../node_modules/framer-motion/dist/es/motion/features/layout/Measure.js","../node_modules/framer-motion/dist/es/render/svg/supported-elements.js","../node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.js","../node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.js","../node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.js","../node_modules/framer-motion/dist/es/render/html/utils/build-styles.js","../node_modules/framer-motion/dist/es/render/html/utils/create-render-state.js","../node_modules/framer-motion/dist/es/render/html/use-props.js","../node_modules/@emotion/memoize/dist/memoize.browser.esm.js","../node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","../node_modules/framer-motion/dist/es/render/dom/utils/filter-props.js","../node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.js","../node_modules/framer-motion/dist/es/render/svg/utils/path.js","../node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.js","../node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.js","../node_modules/framer-motion/dist/es/render/svg/use-props.js","../node_modules/framer-motion/dist/es/render/dom/use-render.js","../node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.js","../node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.js","../node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.js","../node_modules/framer-motion/dist/es/render/dom/utils/parse-dom-variant.js","../node_modules/framer-motion/dist/es/render/html/visual-element.js","../node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.js","../node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.js","../node_modules/framer-motion/dist/es/render/svg/visual-element.js","../node_modules/framer-motion/dist/es/motion/utils/use-visual-state.js","../node_modules/framer-motion/dist/es/render/svg/config-motion.js","../node_modules/framer-motion/dist/es/render/html/config-motion.js","../node_modules/framer-motion/dist/es/render/dom/utils/create-config.js","../node_modules/framer-motion/dist/es/render/dom/motion-proxy.js","../node_modules/framer-motion/dist/es/render/dom/motion.js","../node_modules/framer-motion/dist/es/render/dom/motion-minimal.js","../node_modules/framer-motion/dist/es/utils/use-force-update.js","../node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.js","../node_modules/framer-motion/dist/es/components/AnimatePresence/index.js","../node_modules/framer-motion/dist/es/animation/animate.js","../node_modules/framer-motion/dist/es/components/AnimateSharedLayout/utils/crossfader.js","../node_modules/framer-motion/dist/es/components/AnimateSharedLayout/utils/stack.js","../node_modules/framer-motion/dist/es/components/AnimateSharedLayout/utils/rotate.js","../node_modules/framer-motion/dist/es/components/AnimateSharedLayout/index.js","../node_modules/framer-motion/dist/es/value/use-motion-value.js","../node_modules/framer-motion/dist/es/value/use-on-change.js","../node_modules/framer-motion/dist/es/value/use-combine-values.js","../node_modules/framer-motion/dist/es/value/use-motion-template.js","../node_modules/framer-motion/dist/es/utils/transform.js","../node_modules/framer-motion/dist/es/value/use-transform.js","../node_modules/framer-motion/dist/es/value/use-spring.js","../node_modules/framer-motion/dist/es/value/use-velocity.js","../node_modules/framer-motion/dist/es/value/scroll/utils.js","../node_modules/framer-motion/dist/es/value/scroll/use-element-scroll.js","../node_modules/framer-motion/dist/es/value/scroll/use-viewport-scroll.js","../node_modules/framer-motion/dist/es/utils/use-reduced-motion.js","../node_modules/framer-motion/dist/es/animation/use-animation.js","../node_modules/framer-motion/dist/es/utils/use-cycle.js","../node_modules/framer-motion/dist/es/gestures/drag/use-drag-controls.js","../node_modules/framer-motion/dist/es/animation/use-animated-state.js","../node_modules/framer-motion/dist/es/value/use-inverted-scale.js","../node_modules/framer-motion/dist/es/index.js","galerie/index.tsx","header/burger_cross.json","header/index.tsx","../node_modules/react-reveal/globals.js","../node_modules/react-reveal/RevealBase.js","../node_modules/react-reveal/wrap.js","../node_modules/react-reveal/Fade.js","../node_modules/react-reveal/Reveal.js","closeup/index.tsx","menu/index.tsx","galerie/scrollable.tsx","home/news.tsx","home/index.tsx","whoami/index.tsx","partners/index.tsx","youth/index.tsx","shared/Slider.tsx","teambuilding/index.tsx","workshop/index.tsx","legal/index.tsx","../node_modules/smoothscroll-polyfill/dist/smoothscroll.js","index.tsx"],"names":["getOwnPropertySymbols","Object","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","toObject","val","TypeError","shouldUseNative","assign","test1","String","getOwnPropertyNames","test2","i","fromCharCode","order2","map","n","join","test3","split","forEach","letter","keys","err","module","exports","target","source","from","symbols","to","s","arguments","length","key","call","l","require","Symbol","for","p","q","r","t","u","v","w","x","y","z","A","B","iterator","C","a","b","c","encodeURIComponent","D","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","E","F","props","context","refs","updater","G","H","isReactComponent","setState","Error","forceUpdate","I","constructor","isPureReactComponent","J","current","K","L","ref","__self","__source","M","e","d","g","k","f","children","h","Array","m","defaultProps","$$typeof","type","_owner","N","O","escape","replace","P","Q","R","pop","result","keyPrefix","func","count","S","push","T","U","isArray","next","done","value","V","toString","W","aa","X","Y","Z","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","Children","toArray","only","Component","Fragment","Profiler","PureComponent","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","createContext","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_context","createElement","createFactory","bind","createRef","forwardRef","render","isValidElement","lazy","_ctor","_status","_result","memo","compare","useCallback","useContext","useDebugValue","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","version","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","console","error","_setPrototypeOf","o","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","create","ReactIs","throwOnDirectAccess","_extends","apply","resolvePathname","isAbsolute","pathname","charAt","spliceOne","list","index","undefined","toParts","hasTrailingSlash","fromParts","isToAbs","isFromAbs","mustEndAbs","concat","last","up","part","unshift","substr","valueEqual","valueOf","obj","every","item","aValue","bValue","warning","isProduction","condition","message","text","warn","invariant","prefix","addLeadingSlash","path","stripLeadingSlash","hasBasename","toLowerCase","indexOf","stripBasename","stripTrailingSlash","slice","parsePath","search","hash","hashIndex","searchIndex","createPath","location","createLocation","state","currentLocation","decodeURI","URIError","locationsAreEqual","createTransitionManager","prompt","listeners","setPrompt","nextPrompt","confirmTransitionTo","action","getUserConfirmation","callback","appendListener","fn","isActive","listener","filter","notifyListeners","_len","args","_key","canUseDOM","window","document","getConfirmation","confirm","supportsHistory","ua","navigator","userAgent","history","supportsPopStateOnHashChange","supportsGoWithoutReloadUsingHash","isExtraneousPopstateEvent","event","PopStateEvent","HashChangeEvent","getHistoryState","createBrowserHistory","globalHistory","canUseHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_ref","_window$location","createKey","Math","random","transitionManager","nextState","handlePopState","handlePop","handleHashChange","forceNextPop","ok","revertPop","fromLocation","toLocation","toIndex","allKeys","fromIndex","delta","go","initialLocation","createHref","listenerCount","checkDOMListeners","addEventListener","removeEventListener","isBlocked","href","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","block","unblock","listen","unlisten","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","url","getHashPath","substring","pushHashPath","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","lastIndexOf","baseTag","querySelector","getAttribute","hashChanged","nextPaths","clamp","lowerBound","upperBound","min","max","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","entries","entry","nextIndex","nextEntries","splice","canGo","MAX_SIGNED_31_BIT_INT","commonjsGlobal","globalThis","global","getUniqueId","objectIs","createEventEmitter","handlers","on","handler","off","get","set","newValue","changedBits","onlyChild","createReactContext","defaultValue","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","_Component","_this","emitter","_proto","getChildContext","componentWillReceiveProps","nextProps","oldValue","childContextTypes","PropTypes","object","isRequired","_Component2","_this2","getValue","onUpdate","observedBits","_proto2","componentDidMount","componentWillUnmount","contextTypes","React","_objectWithoutPropertiesLoose","excluded","sourceKeys","createNamedContext","name","displayName","historyContext","Router","_isMounted","_pendingLocation","staticContext","computeRootMatch","params","isExact","RouterContext","match","HistoryContext","MemoryRouter","createHistory","Lifecycle","messageType","onMount","componentDidUpdate","prevProps","onUnmount","Prompt","when","method","self","release","cache","cacheLimit","cacheCount","compilePath","generator","pathToRegexp","compile","generatePath","pretty","Redirect","computedMatch","options","cacheKey","end","strict","sensitive","pathCache","regexp","matchPath","exact","paths","reduce","matched","exec","values","isEmptyChildren","evalChildrenDev","Route","component","addBasename","base","createURL","staticHandler","methodName","noop","StaticRouter","handlePush","navigateTo","handleReplace","handleListen","handleBlock","rest","Switch","element","child","withRouter","wrappedComponentRef","remainingProps","hoistStatics","WrappedComponent","buildNames","initialBuildName","secondaryBuildName","useHistory","useLocation","useParams","useRouteMatch","NavLink","BrowserRouter","HashRouter","resolveToLocation","normalizeToLocation","forwardRefShim","isModifiedEvent","metaKey","altKey","ctrlKey","shiftKey","LinkAnchor","forwardedRef","innerRef","navigate","onClick","ex","preventDefault","defaultPrevented","button","toType","refType","Link","isDuplicateNavigation","joinClassnames","classnames","ariaCurrentType","ariaCurrent","activeClassName","activeStyle","classNameProp","className","isActiveProp","locationProp","styleProp","style","escapedPath","meta","tc","fr","ip","op","nm","ddd","assets","id","layers","ind","ty","sr","ks","ix","ao","shapes","it","mn","hd","lc","lj","ml","bm","sk","sa","np","cix","st","td","refId","cl","tt","markers","parent","ti","hasMask","masksProperties","inv","mode","pt","title","year","dimension","technique","description","available","price","extendStatics","__extends","__","__assign","__rest","__decorate","decorators","desc","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","Promise","resolve","reject","fulfilled","step","rejected","adopt","then","__generator","body","_","label","sent","trys","ops","verb","__createBinding","k2","__exportStar","__values","__read","ar","__spread","__spreadArrays","il","j","jl","__await","__asyncGenerator","asyncIterator","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__importStar","mod","__esModule","default","__importDefault","__classPrivateFieldGet","receiver","privateMap","has","__classPrivateFieldSet","MotionConfigContext","transformPagePoint","features","isStatic","MotionConfig","_a","_b","transition","pluginContext","loadedFeatures","Set","PresenceContext","useConstant","init","usePresence","isPresent","onExitComplete","register","useUniqueId","useIsPresent","counter","incrementId","LayoutGroupContext","Presence","VisibilityAction","defaultHandler","measureLayout","updateLayoutMeasurement","layoutReady","notifyLayoutReady","createBatcher","queue","add","flush","order","sort","depth","resetAndMeasure","resetTransform","withoutTransform","presence","Present","clear","SharedLayoutContext","FramerTreeLayoutContext","isSharedLayout","useFeatures","defaultFeatures","visualElement","plugins","allFeatures","numFeatures","shouldRender","getComponent","MotionContext","useVisualElementContext","isBrowser","useIsomorphicLayoutEffect","useSnapshotOnUnmount","syncLayout","framerSyncLayout","remove","useLayoutId","layoutId","layoutGroupId","useVisualElement","visualState","createVisualElement","config","presenceContext","presenceId","blockInitialAnimation","initial","setProps","isPresenceRoot","syncRender","animationState","animateChanges","isRefObject","useMotionRef","externalRef","instance","mount","unmount","isVariantLabels","isVariantLabel","getCurrent","forEachValue","getVelocity","velocity","resolveVariantFromProps","definition","custom","currentValues","currentVelocity","variants","resolveVariant","getProps","checkIfControllingVariants","animate","start","whileHover","whileDrag","whileTap","whileFocus","exit","checkIfVariantNode","Boolean","getCurrentTreeVariants","inherit","useCreateMotionContext","variantLabelsAsDependency","prop","createMotionComponent","useRender","useVisualState","MotionComponent","addDomEvent","eventName","useDomEvent","safeMin","minDuration","maxDuration","minDamping","maxDamping","findSpring","envelope","derivative","duration","_c","bounce","_d","_e","mass","dampingRatio","undampedFreq","exponentialDecay","calcAngularFreq","exp","pow","factor","initialGuess","approximateRoot","isNaN","stiffness","damping","sqrt","rootIterations","durationKeys","physicsKeys","isSpringType","some","getSpringOptions","springOptions","isResolvedFromDuration","derived","spring","restSpeed","restDelta","resolveSpring","zero","resolveVelocity","createSpring","initialVelocity","initialDelta","undampedAngularFreq","abs","angularFreq_1","sin","cos","dampedAngularFreq_1","freqForT","sinh","cosh","isBelowVelocityThreshold","isBelowDisplacementThreshold","flipTarget","needsInterpolation","_t","progress","toFromDifference","mix","sanitize","Number","toFixed","floatRegex","colorRegex","singleColorRegex","isString","number","test","parse","parseFloat","transform","alpha","scale","createUnitType","unit","endsWith","degrees","percent","px","vh","vw","progressPercentage","isColorString","testProp","startsWith","splitColor","aName","bName","cName","hsla","hue","saturation","lightness","alpha$1","round","clampRgbUnit","rgbUnit","rgba","red","green","blue","parseHex","parseInt","hex","color","colorToken","numberToken","analyse","numColors","colors","numbers","tokenised","createTransformer","numValues","output","convertNumbersToZero","getAnimatableNone","parsed","transformer","complex","maxDefaults","applyDefaultFilter","functionRegex","functions","mixLinearColor","fromExpo","toExpo","colorTypes","getColorType","find","notAnimatable","mixColor","fromColorType","toColorType","fromColor","toColor","blended","mixFunc","zeroPoint","isNum","combineFunctions","pipe","transformers","_i","getMixer","origin","mixComplex","mixArray","blendValue","fromThis","mixObject","numNumbers","numRGB","numHSL","template","originStats","targetStats","mixNumber","detectMixerFactory","createMixers","ease","customMixer","mixers","mixerFactory","numMixers","mixer","easingFunction","fastInterpolate","slowInterpolate","input","inputLength","lastInputIndex","mixerIndex","foundMixerIndex","progressInRange","interpolate","isClamp","reverse","interpolator","reverseEasing","easing","mirrorEasing","createExpoIn","power","createBackIn","createAnticipate","backEasing","DEFAULT_OVERSHOOT_STRENGTH","BOUNCE_FIRST_THRESHOLD","BOUNCE_SECOND_THRESHOLD","BOUNCE_THIRD_THRESHOLD","linear","easeIn","easeOut","easeInOut","circIn","acos","circOut","circInOut","backIn","backOut","backInOut","anticipate","ca","cb","cc","bounceOut","p2","bounceIn","bounceInOut","defaultEasing","defaultOffset","_value","convertOffsetToTimes","offset","keyframes","times","createInterpolator","decay","timeConstant","_f","modifyTarget","amplitude","ideal","types","detectAnimationFromOptions","defaultTimestep","getCurrentTime","performance","now","Date","onNextFrame","requestAnimationFrame","setTimeout","createRenderStep","runNextFrame","toRun","toRunNextFrame","numToRun","isProcessing","toKeepAlive","WeakSet","schedule","keepAlive","immediate","addToCurrentFrame","buffer","cancel","delete","process","frameData","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","runClearTimeout","marker","clearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","len","run","Item","array","nextTick","env","argv","versions","addListener","once","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","binding","cwd","chdir","dir","umask","sync","maxElapsed","useDefaultElapsed","frame","timestamp","stepsOrder","steps","acc","startLoop","cancelSync","processStep","stepId","processFrame","getFrameData","loopElapsed","elapsed","delay","reverseElapsed","isForwardPlayback","hasRepeatDelayElapsed","framesync","update","passTimestamp","stop","driverControls","latest","interpolateFromNumber","autoplay","driver","_g","repeat","repeatMax","_h","repeatType","_j","repeatDelay","onPlay","onStop","onComplete","onRepeat","repeatCount","computedDuration","isComplete","animator","animation","velocityPerSecond","frameDuration","inertia","currentAnimation","bounceStiffness","bounceDamping","isOutOfBounds","boundaryNearest","startAnimation","startSpring","boundary_1","prev_1","current_1","heading_1","radiansToDegrees","radians","PI","angle","atan2","applyOffset","hasReceivedFrom","identity","createAttractor","alterDisplacement","constant","displacement","springModifiedDisplacement","attract","attractExpo","degreesToRadians","isPoint","point","isPoint3D","distance1D","distance","xDelta","yDelta","zDelta","pointFromVector","toDecimal","num","precision","smoothFrame","prevValue","nextValue","smoothing","smooth","strength","previousValue","lastUpdated","currentFramestamp","timeDelta","snap","points","i_1","numPoints_1","lastDistance","velocityPerFrame","xps","wrap","rangeSize","a1","a2","calcBezier","getSlope","subdivisionPrecision","subdivisionMaxIterations","binarySubdivide","aX","aA","aB","mX1","mX2","currentX","currentT","newtonIterations","newtonMinSlope","newtonRaphsonIterate","aGuessT","currentSlope","kSplineTableSize","kSampleStepSize","cubicBezier","mY1","mY2","sampleValues","Float32Array","getTForX","currentSample","intervalStart","lastSample","dist","guessForT","initialSlope","direction","expanded","rounded","floor","ceil","isMouseEvent","PointerEvent","pointerType","MouseEvent","isTouchEvent","hasTouches","touches","filterPrimaryPointer","eventHandler","defaultPagePoint","pageX","pageY","pointFromTouch","pointType","primaryTouch","changedTouches","pointFromMouse","extractEventInfo","getViewportPointFromEvent","wrapHandler","shouldFilterPrimaryPointer","supportsPointerEvents","onpointerdown","supportsTouchEvents","ontouchstart","supportsMouseEvents","onmousedown","mouseEventNames","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave","touchEventNames","getPointerEventName","addPointerEvent","usePointerEvent","secondsToMilliseconds","seconds","PanSession","startEvent","lastMoveEvent","lastMoveEventInfo","updatePoint","info","getPanInfo","isPanStarted","isDistancePastThreshold","onStart","onMove","handlePointerMove","transformPoint","buttons","handlePointerUp","onEnd","panInfo","initialInfo","onSessionStart","removeListeners","updateHandlers","subtractPoint","lastDevicePoint","startDevicePoint","timestampedPoint","lastPoint","time","Infinity","createLock","lock","globalHorizontalLock","globalVerticalLock","getGlobalLock","drag","openHorizontal_1","openVertical_1","isDragActive","openGestureLock","any","convertBoundingBoxToAxisBox","top","left","right","bottom","convertAxisBoxToBoundingBox","transformBoundingBox","topLeft","bottomRight","axisBox","copyAxisBox","box","zeroDelta","translate","originPoint","eachAxis","clampProgress","isNear","maxDistance","calcLength","axis","calcOrigin","sourceLength","targetLength","updateAxisDelta","updateBoxDelta","defaultOrigin","originX","originY","applyConstraints","elastic","calcConstrainedMinPoint","constraints","calcRelativeAxisConstraints","calcRelativeConstraints","layoutBox","calcViewportAxisConstraints","layoutAxis","constraintsAxis","calcViewportConstraints","constraintsBox","calcPositionFromProgress","axisLength","rebaseAxisConstraints","layout","relativeConstraints","defaultElastic","resolveDragElastic","dragElastic","resolveAxisElastic","minLabel","maxLabel","resolvePointElastic","getBoundingBox","getBoundingClientRect","easingLookup","easingDefinitionToFunction","x1","y1","x2","y2","isEasingArray","isAnimatable","isKeyframesTarget","underDampedSpring","criticallyDampedSpring","linearTween","defaultTransitions","rotate","rotateX","rotateY","rotateZ","scaleX","scaleY","opacity","backgroundColor","getDefaultTransition","valueKey","transitionFactory","auto","int","defaultValueTypes","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","width","maxWidth","height","maxHeight","size","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","scaleZ","skew","skewX","skewY","translateX","translateY","translateZ","perspective","transformPerspective","originZ","zIndex","WebkitFilter","fillOpacity","strokeOpacity","numOctaves","dimensionValueTypes","testValueType","findDimensionValueType","valueTypes","findValueType","getDefaultValueType","getValueAsType","defaultValueType","isTransitionDefined","delayChildren","staggerChildren","staggerDirection","legacyRepeatWarning","convertTransitionToAnimationOptions","yoyo","flip","loop","getDelayFromTransition","getValueTransition","hydrateKeyframes","getPopmotionAnimationOptions","getAnimation","valueTransition","isTargetAnimatable","isOriginAnimatable","delayTimer","controls","AnimationType","lastPointerEvent","elementDragControls","WeakMap","VisualElementDragControls","isDragging","currentDirection","hasMutatedConstraints","cursorProgress","openGlobalLock","panSession","enableLayoutProjection","originEvent","snapToCursor","stopMotion","dragPropagation","prepareBoundingBox","lockProjectionTarget","resolveDragConstraints","projection","axisValue","getAxisMotionValue","onDragStart","setActive","Drag","dragDirectionLock","getCurrentDirection","onDirectionLock","updateAxis","onDrag","rebaseProjectionTarget","measureViewportBox","dragConstraints","resolveRefConstraints","getLayoutState","onMeasureDragConstraints","constraintsElement","measuredConstraints","userConstraints","cancelDrag","unlockProjectionTarget","dragMomentum","onDragEnd","animateDragEnd","shouldDrag","length_1","center","updateVisualElementAxis","updateAxisMotionValue","axisLayout","axisProgress","setProjectionTargetAxis","dragKey","toUpperCase","dragTransition","momentumAnimations","startAxisValueAnimation","startLayoutAnimation","all","onDragTransitionEnd","stopLayoutAnimation","currentValue","scalePoint","boxProgress","getInstance","stopPointerListener","dragListener","stopResizeListener","stopLayoutUpdateListener","onLayoutUpdate","prevDragCursor","lockThreshold","useDrag","groupDragControls","dragControls","subscribe","makeRenderlessComponent","hook","useUnmountEffect","usePanGesture","onPan","onPanStart","onPanEnd","onPanSessionStart","hasPanEvents","onPointerDown","isNodeOrChild","parentElement","useTapGesture","onTap","onTapStart","onTapCancel","hasPressListeners","isPressing","cancelPointerEndListeners","removePointerEndListener","checkPointerEnd","Tap","onPointerUp","onPointerCancel","createHoverEvent","isHoverEventsEnabled","Hover","useHoverGesture","onHoverStart","onHoverEnd","useFocusGesture","Focus","useGestures","gestureProps","GestureComponent","Gestures","checkShouldInheritVariant","ExitComponent","Exit","addUniqueItem","arr","removeItem","SubscriptionManager","subscriptions","notify","numSubscriptions","getSize","isFloat","MotionValue","updateSubscribers","velocityUpdateSubscribers","renderSubscribers","canTrackVelocity","updateAndNotify","prev","postRender","scheduleVelocityCheck","velocityCheck","hasAnimated","onChange","subscription","clearListeners","onRenderRequest","attach","passiveEffect","getPrevious","stopAnimation","clearAnimation","isAnimating","destroy","motionValue","isNumericalString","isCustomValue","toValue","resolveFinalValueInKeyframes","setMotionValue","hasValue","addValue","setTarget","resolved","makeTargetAnimatable","transitionEnd","setVariants","variantLabels","variant","getVariant","variantChildren","setValues","checkTargetForNewValues","newValueKeys","numNewValues","targetValue","readValue","setBaseTarget","getOriginFromTransition","getOrigin","animateVisualElement","notifyAnimationStart","animations","animateVariant","resolvedDefinition","animateTarget","notifyAnimationComplete","transitionOverride","getChildAnimations","forwardDelay","animateChildren","first","animationTypeState","getState","valueTarget","shouldBlockAnimation","maxStaggerDuration","generateStaggerDuration","sortByTreeOrder","sortNodePosition","protectedKeys","needsAnimating","shouldBlock","animationControls","hasMounted","pendingAnimations","subscribers","animations_1","isAnimationControls","shallowCompare","prevLength","variantPriorityOrder","Animate","reversePriorityOrder","numAnimationTypes","animateList","createAnimationState","createState","allAnimatedKeys","isInitialRender","buildResolvedTypeValues","changedActiveType","getVariantContext","removedKeys","encounteredKeys","removedVariantIndex","_loop_1","typeState","propIsVariant","activeDelta","isInherited","manuallyAnimateOnMount","prevProp","shouldAnimateType","variantsHaveChanged","definitionList","resolvedValues","prevResolvedValues","markToAnimate","fallbackAnimation_1","fallbackTarget","getBaseTarget","shouldAnimate","isAnimated","setAnimateFunction","makeAnimator","createTypeState","AnimationState","Animation","tweenAxis","progressTarget","_super","frameTarget","currentAnimationTarget","stopAxisAnimation","isAnimatingTree","originBox","targetBox","visibilityAction","shouldStackAnimate","safeToRemove","boxHasMoved","hasMoved","isTargetLocked","animateAxis","setVisibility","Show","notifyLayoutAnimationComplete","animateMotionValue","unsubLayoutReady","layoutSafeToRemove","axisIsEqual","layoutProgress","getProjectionAnimationProgress","updateLayoutProjection","unsubscribeProgress","defaultTransition","AnimateLayoutContextProvider","isZeroBox","zeroAxis","AnimateLayout","isCSSVariable","cssVariableRegex","parseCSSVariable","maxDepth","getVariableValue","token","fallback","getComputedStyle","getPropertyValue","trim","resolveCSSVariables","HTMLElement","pixelsToPercent","pixels","correctBorderRadius","_layoutState","varToken","correctBoxShadow","treeScale","original","containsCSSVariables","includes","cssVariables","shadow","xScale","yScale","averageScale","cssVariable","borderCorrectionDefinition","valueScaleCorrection","applyTo","boxShadow","addScaleCorrection","correctors","validMotionProps","isValidMotionProp","isMotionValue","createProjectionState","isEnabled","targetFinal","createLayoutState","isHydrated","layoutCorrected","deltaFinal","deltaTransform","zeroLayout","transformAxes","transformProps","sortTransformProps","operationKey","axesKey","transformPropSet","isTransformProp","transformOriginProps","isTransformOriginProp","translateAlias","buildTransform","transformIsDefault","transformTemplate","transformKeys","enableHardwareAcceleration","allowTransformNone","transformString","transformHasZ","numTransformKeys","buildTransformOrigin","buildLayoutProjectionTransform","latestTransform","identityProjection","buildLayoutProjectionTransformOrigin","resetAxis","originAxis","resetBox","applyPointDelta","boxScale","applyAxisDelta","applyBoxDelta","applyAxisTransforms","final","transforms","scaleKey","originKey","axisOrigin","xKeys","yKeys","applyBoxTransforms","finalBox","removePointDelta","removeAxisDelta","removeAxisTransforms","removeBoxTransforms","applyTreeDeltas","treePath","treeLength","names","createLifecycles","managers","propSubscriptions","lifecycles","clearAllListeners","manager","updatePropListeners","propListener","updateMotionValuesFromProps","existingValue","getStaticValue","removeValue","updateLayoutDeltas","transformOrigin","treeType","build","renderInstance","readValueFromInstance","restoreTransform","removeValueFromRenderState","scrapeMotionValuesFromProps","latestValues","unsubscribeFromLeadVisualElement","crossfader","projectionTargetProgress","removeFromMotionTree","removeFromVariantTree","renderState","leadProjection","leadLatestValues","layoutState","hasViewportBoxUpdated","Map","valueSubscriptions","prevMotionValues","baseTarget","isProjecting","triggerBuild","valuesToRender","crossfadedValues","getCrossfadeState","notifyUpdate","initialMotionValues","isControllingVariants","isVariantNode","isVisible","newInstance","pointTo","addChild","addVariantChild","preRender","closestVariantNode","getClosestVariantNode","other","scheduleUpdateLayoutProjection","getLayoutId","setStaticValue","getLatestValues","visibility","scheduleRender","canMutate","suspendHoverEvents","bindToMotionValue","removeOnChange","latestValue","removeOnRenderRequest","newProps","startAtParent","context_1","numVariantProps","name_1","variantProps","snapshotViewportBox","prevViewportBox","setCrossfader","newCrossfader","withTransform","viewportBox","notifyBeforeLayoutMeasure","notifyLayoutMeasure","notifySetAxisTarget","force","shouldRebase","notifyLayoutUpdate","prevTreeScaleX","prevTreeScaleY","prevDeltaTransform","notifyViewportBoxUpdate","fireUpdateLayoutProjection","newLead","onSetAxisTarget","onLayoutAnimationComplete","Entering","resolveMotionValue","unwrappedValue","Measure","getSnapshotBeforeUpdate","syncUpdate","MeasureContextProvider","MeasureLayout","lowercaseSVGElements","isSVGComponent","isForcedMotionValue","buildHTMLStyles","vars","hasTransform","hasTransformOrigin","transformIsNone","valueType","valueAsType","correctedValue","createHtmlRenderState","copyRawValuesOnly","useInitialMotionValues","useStyle","transformValues","useHTMLProps","htmlProps","draggable","userSelect","WebkitUserSelect","WebkitTouchCallout","touchAction","memoize","arg","reactPropsRegex","charCodeAt","shouldForward","emotionIsPropValid_1","filterProps","isDom","forwardMotionProps","filteredProps","calcSVGTransformOrigin","dimensions","pxOriginX","progressToPixels","dashKeys","camelKeys","buildSVGPath","attrs","totalLength","spacing","useDashCase","pathLength","pathSpacing","buildSVGAttrs","attrX","attrY","pathOffset","totalPathLength","createSvgRenderState","useSVGProps","visualProps","rawStyles","createUseRender","elementProps","newValues","BoundingBoxDimension","positionalKeys","isPositionalKey","hasPositionalKey","setAndResetVelocity","isNumOrPxType","getPosFromMatrix","matrix","pos","getTranslateFromMatrix","pos2","pos3","_bbox","matrix3d","nonTranslationalTransformKeys","removeNonTranslationalTransform","removedTransforms","positionalValues","convertChangedValueTypes","changedKeys","originBbox","elementComputedStyle","display","originComputedStyle","targetBbox","checkAndConvertChangedValueTypes","targetPositionalKeys","removedTransformValues","hasAttemptedToRemoveTransformValues","changedValueTypeKeys","fromType","numKeyframes","convertedTarget","unitConversion","parseDomVariant","htmlConfig","domElement","defaultType","computedStyle","compareDocumentPosition","mutableState","setProperty","htmlVisualElement","CAMEL_CASE_PATTERN","REPLACE_TEMPLATE","camelToDash","str","camelCaseAttributes","renderSVG","setAttribute","svgVisualElement","_element","makeState","createRenderState","makeLatestValues","makeUseVisualState","scrapeMotionValues","motionValues","variantToSet","svgMotionConfig","getBBox","isPath","getTotalLength","tagName","htmlMotionConfig","createDomMotionConfig","baseConfig","createMotionProxy","deprecatedCustom","componentCache","Proxy","_target","allMotionFeatures","motion","createDomMotionComponent","useForceUpdate","unloadingRef","forcedRenderCount","setForcedRenderCount","getPresenceId","PresenceChild","presenceAffectsLayout","presenceChildren","newChildrenMap","childId","allComplete","getChildKey","updateChildLookup","allChildren","onlyElements","filtered","AnimatePresence","exitBeforeEnter","forceRender","layoutContext","filteredChildren","presentChildren","exiting","childrenToRender","presentKeys","targetKeys","numPresent","insertionIndex","removeIndex","findIndex","presentChild","createCrossfader","lead","follow","crossfadeOpacity","preserveFollowOpacity","leadState","followState","finalCrossfadeFrame","prevUpdate","startCrossfadeAnimation","fromLead","toLead","reset","updateCrossfade","latestLeadValues","latestFollowValues","prevValues","leadTargetOpacity","followTargetOpacity","easeCrossfadeIn","easeCrossfadeOut","mixValues","setOptions","newOptions","compress","borders","numBorders","hasFollowElement","borderLabel","followRadius","getRadius","leadRadius","radiusName","layoutStack","stack","leadIsExiting","prevState","needsCrossfadeAnimation","getLead","updateSnapshot","clearSnapshot","updateLeadAndFollow","Exiting","shouldCrossfade","getFollowLayout","resetRotate","hasRotate","resetValues","AnimateSharedLayout","stacks","updateScheduled","renderScheduled","syncContext","scheduleUpdate","removeChild","shouldComponentUpdate","updateStacks","getStack","addToStack","removeFromStack","contextType","useMotionValue","setLatest_1","useOnChange","useMultiOnChange","unsubscribe","useCombineMotionValues","combineValues","updateValue","useMotionTemplate","fragments","numFragments","buildValue","isCustomValueType","useImmediate","argOffset","inputValue","inputRange","outputRange","useTransform","inputRangeOrTransformer","useListTransform","useSpring","activeSpringAnimation","useVelocity","newVelocity","createScrollMotionValues","scrollX","scrollY","scrollXProgress","scrollYProgress","setProgress","maxOffset","createScrollUpdater","getOffsets","xOffset","yOffset","xMaxOffset","yMaxOffset","getElementScrollOffsets","scrollLeft","scrollTop","scrollWidth","offsetWidth","scrollHeight","offsetHeight","useElementScroll","updateScrollValues","scrollListener","passive","resizeListener","viewportScrollValues","getViewportScrollOffsets","pageXOffset","pageYOffset","clientWidth","innerWidth","clientHeight","innerHeight","hasListeners","addEventListeners","useViewportScroll","prefersReducedMotion","initPrefersReducedMotion","matchMedia","motionMediaQuery_1","setReducedMotionPreferences","matches","useReducedMotion","shouldReduceMotion","setShouldReduceMotion","useAnimation","useCycle","items","setItem","DragControls","componentControls","nativeEvent","updateConstraints","createDragControls","useDragControls","createObject","stateVisualElement","_state","initialState","useAnimatedState","setAnimationState","animationDefinition","maxScale","invertScale","hasWarned","useInvertedScale","parentScaleX","parentScaleY"],"mappings":"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EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,GACA,IAAA,GACA,KAAA,EAAA,YAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,GACA,KAAA,EAAA,YAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,GACA,KAAA,EAAA,YAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,GACA,KAAA,EAAA,YAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,GACA,KAAA,EAAA,YAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,GACA,KAAA,EAAA,YAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,KAEA,KAAA,EAAA,YAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GACA,KAAA,EAAA,YAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,MAGA,KAAA,EAAA,YAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,GACA,IAAA,GACA,KAAA,EAAA,YAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,GACA,KAAA,EAAA,YAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,GACA,KAAA,EAAA,YAAA,EAAA,EAAA,EAAA,EAAA,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","file":"src.10b6a4f1.js","sourceRoot":"../src","sourcesContent":["/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTimeb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","var isProduction = process.env.NODE_ENV === 'production';\nfunction warning(condition, message) {\n if (!isProduction) {\n if (condition) {\n return;\n }\n\n var text = \"Warning: \" + message;\n\n if (typeof console !== 'undefined') {\n console.warn(text);\n }\n\n try {\n throw Error(text);\n } catch (x) {}\n }\n}\n\nexport default warning;\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n throw new Error(prefix + \": \" + (message || ''));\n}\n\nexport default invariant;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport warning from 'tiny-warning';\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n _inheritsLoose(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = React.createContext || createReactContext;\n\nexport default index;\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","if (__DEV__) {\n if (typeof window !== \"undefined\") {\n const global = window;\n const key = \"__react_router_build__\";\n const buildNames = { cjs: \"CommonJS\", esm: \"ES modules\", umd: \"UMD\" };\n\n if (global[key] && global[key] !== process.env.BUILD_FORMAT) {\n const initialBuildName = buildNames[global[key]];\n const secondaryBuildName = buildNames[process.env.BUILD_FORMAT];\n\n // TODO: Add link to article that explains in detail how to avoid\n // loading 2 different builds.\n throw new Error(\n `You are loading the ${secondaryBuildName} build of React Router ` +\n `on a page that is already running the ${initialBuildName} ` +\n `build, so things won't work right.`\n );\n }\n\n global[key] = process.env.BUILD_FORMAT;\n }\n}\n\nexport { default as MemoryRouter } from \"./MemoryRouter.js\";\nexport { default as Prompt } from \"./Prompt.js\";\nexport { default as Redirect } from \"./Redirect.js\";\nexport { default as Route } from \"./Route.js\";\nexport { default as Router } from \"./Router.js\";\nexport { default as StaticRouter } from \"./StaticRouter.js\";\nexport { default as Switch } from \"./Switch.js\";\nexport { default as generatePath } from \"./generatePath.js\";\nexport { default as matchPath } from \"./matchPath.js\";\nexport { default as withRouter } from \"./withRouter.js\";\n\nexport { default as __HistoryContext } from \"./HistoryContext.js\";\nexport { default as __RouterContext } from \"./RouterContext.js\";\n\nexport { useHistory, useLocation, useParams, useRouteMatch } from \"./hooks.js\";\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","import createNamedContext from \"./createNameContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","import createNamedContext from \"./createNameContext\";\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n } else {\n this._pendingLocation = location;\n }\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n }\n\n render() {\n return (\n \n \n \n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change \"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\nfunction Prompt({ message, when = true }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n if (!when || context.staticContext) return null;\n\n const method = context.history.block;\n\n return (\n {\n self.release = method(message);\n }}\n onUpdate={(self, prevProps) => {\n if (prevProps.message !== message) {\n self.release();\n self.release = method(message);\n }\n }}\n onUnmount={self => {\n self.release();\n }}\n message={message}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n const messageType = PropTypes.oneOfType([PropTypes.func, PropTypes.string]);\n\n Prompt.propTypes = {\n when: PropTypes.bool,\n message: messageType.isRequired\n };\n}\n\nexport default Prompt;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n\n const generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\nfunction generatePath(path = \"/\", params = {}) {\n return path === \"/\" ? path : compilePath(path)(params, { pretty: true });\n}\n\nexport default generatePath;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\nimport generatePath from \"./generatePath.js\";\n\n/**\n * The public API for navigating programmatically with a component.\n */\nfunction Redirect({ computedMatch, to, push = false }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history, staticContext } = context;\n\n const method = push ? history.push : history.replace;\n const location = createLocation(\n computedMatch\n ? typeof to === \"string\"\n ? generatePath(to, computedMatch.params)\n : {\n ...to,\n pathname: generatePath(to.pathname, computedMatch.params)\n }\n : to\n );\n\n // When rendering in a static context,\n // set the new location immediately.\n if (staticContext) {\n method(location);\n return null;\n }\n\n return (\n {\n method(location);\n }}\n onUpdate={(self, prevProps) => {\n const prevLocation = createLocation(prevProps.to);\n if (\n !locationsAreEqual(prevLocation, {\n ...location,\n key: prevLocation.key\n })\n ) {\n method(location);\n }\n }}\n to={to}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nexport default Redirect;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return (\n \n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n \n );\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use and in the same route; will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with \", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return ;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * A public higher-order component to access the imperative API\n */\nfunction withRouter(Component) {\n const displayName = `withRouter(${Component.displayName || Component.name})`;\n const C = props => {\n const { wrappedComponentRef, ...remainingProps } = props;\n\n return (\n \n {context => {\n invariant(\n context,\n `You should not use <${displayName} /> outside a `\n );\n return (\n \n );\n }}\n \n );\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (__DEV__) {\n C.propTypes = {\n wrappedComponentRef: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.object\n ])\n };\n }\n\n return hoistStatics(C, Component);\n}\n\nexport default withRouter;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(RouterContext).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(RouterContext).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(RouterContext).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\", // TODO: deprecate\n activeStyle, // TODO: deprecate\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n let className =\n typeof classNameProp === \"function\"\n ? classNameProp(isActive)\n : classNameProp;\n\n let style =\n typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = { ...style, ...activeStyle };\n }\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return ;\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\",\n \"false\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.func])\n };\n}\n\nexport default NavLink;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport { createPath } from 'history';\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return ;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const isDuplicateNavigation = createPath(context.location) === createPath(normalizeToLocation(location));\n const method = (replace || isDuplicateNavigation) ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport style from \"./style.module.css\";\nexport default function ({ className }: { className: string }) {\n return (\n
\n Écrivez moi\n Appelez moi\n Facebook\n Instagram\n
\n );\n}\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","module.exports = true;\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };","exports.f = Object.getOwnPropertySymbols;\n","exports.f = {}.propertyIsEnumerable;\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _assign = require(\"../core-js/object/assign\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","module.exports = require('./_hide');\n","module.exports = {};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","module.exports = function () { /* empty */ };\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n","exports.f = require('./_wks');\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};","(typeof navigator !== \"undefined\") && (function(root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(function() {\n return factory(root);\n });\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory(root);\n } else {\n root.lottie = factory(root);\n root.bodymovin = root.lottie;\n }\n}((window || {}), function(window) {\n\t/* global locationHref:writable, animationManager, subframeEnabled:writable, defaultCurveSegments:writable, roundValues,\r\nexpressionsPlugin:writable, PropertyFactory, ShapePropertyFactory, Matrix, idPrefix:writable */\r\n/* exported locationHref, subframeEnabled, expressionsPlugin, idPrefix */\r\n\r\n'use strict';\r\n\r\n/* exported svgNS, locationHref, initialDefaultFrame */\r\n\r\nvar svgNS = 'http://www.w3.org/2000/svg';\r\n\r\nvar locationHref = '';\r\n\r\nvar initialDefaultFrame = -999999;\r\n\r\n/* global createSizedArray */\r\n/* exported subframeEnabled, expressionsPlugin, isSafari, cachedColors, bmPow, bmSqrt, bmFloor, bmMax, bmMin, ProjectInterface,\r\ndefaultCurveSegments, degToRads, roundCorner, bmRnd, styleDiv, BMEnterFrameEvent, BMCompleteEvent, BMCompleteLoopEvent,\r\nBMSegmentStartEvent, BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, BMAnimationConfigErrorEvent, createElementID,\r\naddSaturationToRGB, addBrightnessToRGB, addHueToRGB, rgbToHex */\r\n\r\nvar subframeEnabled = true;\r\nvar idPrefix = '';\r\nvar expressionsPlugin;\r\nvar isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\r\nvar cachedColors = {};\r\nvar bmRnd;\r\nvar bmPow = Math.pow;\r\nvar bmSqrt = Math.sqrt;\r\nvar bmFloor = Math.floor;\r\nvar bmMax = Math.max;\r\nvar bmMin = Math.min;\r\n\r\nvar BMMath = {};\r\n(function () {\r\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'];\r\n var i;\r\n var len = propertyNames.length;\r\n for (i = 0; i < len; i += 1) {\r\n BMMath[propertyNames[i]] = Math[propertyNames[i]];\r\n }\r\n}());\r\n\r\nfunction ProjectInterface() { return {}; }\r\n\r\nBMMath.random = Math.random;\r\nBMMath.abs = function (val) {\r\n var tOfVal = typeof val;\r\n if (tOfVal === 'object' && val.length) {\r\n var absArr = createSizedArray(val.length);\r\n var i;\r\n var len = val.length;\r\n for (i = 0; i < len; i += 1) {\r\n absArr[i] = Math.abs(val[i]);\r\n }\r\n return absArr;\r\n }\r\n return Math.abs(val);\r\n};\r\nvar defaultCurveSegments = 150;\r\nvar degToRads = Math.PI / 180;\r\nvar roundCorner = 0.5519;\r\n\r\nfunction roundValues(flag) {\r\n if (flag) {\r\n bmRnd = Math.round;\r\n } else {\r\n bmRnd = function (val) {\r\n return val;\r\n };\r\n }\r\n}\r\nroundValues(false);\r\n\r\nfunction styleDiv(element) {\r\n element.style.position = 'absolute';\r\n element.style.top = 0;\r\n element.style.left = 0;\r\n element.style.display = 'block';\r\n element.style.transformOrigin = '0 0';\r\n element.style.webkitTransformOrigin = '0 0';\r\n element.style.backfaceVisibility = 'visible';\r\n element.style.webkitBackfaceVisibility = 'visible';\r\n element.style.transformStyle = 'preserve-3d';\r\n element.style.webkitTransformStyle = 'preserve-3d';\r\n element.style.mozTransformStyle = 'preserve-3d';\r\n}\r\n\r\nfunction BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\r\n this.type = type;\r\n this.currentTime = currentTime;\r\n this.totalTime = totalTime;\r\n this.direction = frameMultiplier < 0 ? -1 : 1;\r\n}\r\n\r\nfunction BMCompleteEvent(type, frameMultiplier) {\r\n this.type = type;\r\n this.direction = frameMultiplier < 0 ? -1 : 1;\r\n}\r\n\r\nfunction BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\r\n this.type = type;\r\n this.currentLoop = currentLoop;\r\n this.totalLoops = totalLoops;\r\n this.direction = frameMultiplier < 0 ? -1 : 1;\r\n}\r\n\r\nfunction BMSegmentStartEvent(type, firstFrame, totalFrames) {\r\n this.type = type;\r\n this.firstFrame = firstFrame;\r\n this.totalFrames = totalFrames;\r\n}\r\n\r\nfunction BMDestroyEvent(type, target) {\r\n this.type = type;\r\n this.target = target;\r\n}\r\n\r\nfunction BMRenderFrameErrorEvent(nativeError, currentTime) {\r\n this.type = 'renderFrameError';\r\n this.nativeError = nativeError;\r\n this.currentTime = currentTime;\r\n}\r\n\r\nfunction BMConfigErrorEvent(nativeError) {\r\n this.type = 'configError';\r\n this.nativeError = nativeError;\r\n}\r\n\r\nfunction BMAnimationConfigErrorEvent(type, nativeError) {\r\n this.type = type;\r\n this.nativeError = nativeError;\r\n}\r\n\r\nvar createElementID = (function () {\r\n var _count = 0;\r\n return function createID() {\r\n _count += 1;\r\n return idPrefix + '__lottie_element_' + _count;\r\n };\r\n}());\r\n\r\nfunction HSVtoRGB(h, s, v) {\r\n var r;\r\n var g;\r\n var b;\r\n var i;\r\n var f;\r\n var p;\r\n var q;\r\n var t;\r\n i = Math.floor(h * 6);\r\n f = h * 6 - i;\r\n p = v * (1 - s);\r\n q = v * (1 - f * s);\r\n t = v * (1 - (1 - f) * s);\r\n switch (i % 6) {\r\n case 0: r = v; g = t; b = p; break;\r\n case 1: r = q; g = v; b = p; break;\r\n case 2: r = p; g = v; b = t; break;\r\n case 3: r = p; g = q; b = v; break;\r\n case 4: r = t; g = p; b = v; break;\r\n case 5: r = v; g = p; b = q; break;\r\n default: break;\r\n }\r\n return [r,\r\n g,\r\n b];\r\n}\r\n\r\nfunction RGBtoHSV(r, g, b) {\r\n var max = Math.max(r, g, b);\r\n var min = Math.min(r, g, b);\r\n var d = max - min;\r\n var h;\r\n var s = (max === 0 ? 0 : d / max);\r\n var v = max / 255;\r\n\r\n switch (max) {\r\n case min: h = 0; break;\r\n case r: h = (g - b) + d * (g < b ? 6 : 0); h /= 6 * d; break;\r\n case g: h = (b - r) + d * 2; h /= 6 * d; break;\r\n case b: h = (r - g) + d * 4; h /= 6 * d; break;\r\n default: break;\r\n }\r\n\r\n return [\r\n h,\r\n s,\r\n v,\r\n ];\r\n}\r\n\r\nfunction addSaturationToRGB(color, offset) {\r\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\r\n hsv[1] += offset;\r\n if (hsv[1] > 1) {\r\n hsv[1] = 1;\r\n } else if (hsv[1] <= 0) {\r\n hsv[1] = 0;\r\n }\r\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\r\n}\r\n\r\nfunction addBrightnessToRGB(color, offset) {\r\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\r\n hsv[2] += offset;\r\n if (hsv[2] > 1) {\r\n hsv[2] = 1;\r\n } else if (hsv[2] < 0) {\r\n hsv[2] = 0;\r\n }\r\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\r\n}\r\n\r\nfunction addHueToRGB(color, offset) {\r\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\r\n hsv[0] += offset / 360;\r\n if (hsv[0] > 1) {\r\n hsv[0] -= 1;\r\n } else if (hsv[0] < 0) {\r\n hsv[0] += 1;\r\n }\r\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\r\n}\r\n\r\nvar rgbToHex = (function () {\r\n var colorMap = [];\r\n var i;\r\n var hex;\r\n for (i = 0; i < 256; i += 1) {\r\n hex = i.toString(16);\r\n colorMap[i] = hex.length === 1 ? '0' + hex : hex;\r\n }\r\n\r\n return function (r, g, b) {\r\n if (r < 0) {\r\n r = 0;\r\n }\r\n if (g < 0) {\r\n g = 0;\r\n }\r\n if (b < 0) {\r\n b = 0;\r\n }\r\n return '#' + colorMap[r] + colorMap[g] + colorMap[b];\r\n };\r\n}());\r\n\r\nfunction BaseEvent() {}\r\nBaseEvent.prototype = {\r\n triggerEvent: function (eventName, args) {\r\n if (this._cbs[eventName]) {\r\n var callbacks = this._cbs[eventName];\r\n for (var i = 0; i < callbacks.length; i += 1) {\r\n callbacks[i](args);\r\n }\r\n }\r\n },\r\n addEventListener: function (eventName, callback) {\r\n if (!this._cbs[eventName]) {\r\n this._cbs[eventName] = [];\r\n }\r\n this._cbs[eventName].push(callback);\r\n\r\n return function () {\r\n this.removeEventListener(eventName, callback);\r\n }.bind(this);\r\n },\r\n removeEventListener: function (eventName, callback) {\r\n if (!callback) {\r\n this._cbs[eventName] = null;\r\n } else if (this._cbs[eventName]) {\r\n var i = 0;\r\n var len = this._cbs[eventName].length;\r\n while (i < len) {\r\n if (this._cbs[eventName][i] === callback) {\r\n this._cbs[eventName].splice(i, 1);\r\n i -= 1;\r\n len -= 1;\r\n }\r\n i += 1;\r\n }\r\n if (!this._cbs[eventName].length) {\r\n this._cbs[eventName] = null;\r\n }\r\n }\r\n },\r\n};\r\n\r\n/* exported createTypedArray, createSizedArray */\r\n\r\nvar createTypedArray = (function () {\r\n function createRegularArray(type, len) {\r\n var i = 0;\r\n var arr = [];\r\n var value;\r\n switch (type) {\r\n case 'int16':\r\n case 'uint8c':\r\n value = 1;\r\n break;\r\n default:\r\n value = 1.1;\r\n break;\r\n }\r\n for (i = 0; i < len; i += 1) {\r\n arr.push(value);\r\n }\r\n return arr;\r\n }\r\n function createTypedArrayFactory(type, len) {\r\n if (type === 'float32') {\r\n return new Float32Array(len);\r\n } if (type === 'int16') {\r\n return new Int16Array(len);\r\n } if (type === 'uint8c') {\r\n return new Uint8ClampedArray(len);\r\n }\r\n return createRegularArray(type, len);\r\n }\r\n if (typeof Uint8ClampedArray === 'function' && typeof Float32Array === 'function') {\r\n return createTypedArrayFactory;\r\n }\r\n return createRegularArray;\r\n}());\r\n\r\nfunction createSizedArray(len) {\r\n return Array.apply(null, { length: len });\r\n}\r\n\r\n/* global svgNS */\r\n/* exported createNS */\r\n\r\nfunction createNS(type) {\r\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\r\n return document.createElementNS(svgNS, type);\r\n}\r\n\r\n/* exported createTag */\r\n\r\nfunction createTag(type) {\r\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\r\n return document.createElement(type);\r\n}\r\n\r\nfunction DynamicPropertyContainer() {}\r\nDynamicPropertyContainer.prototype = {\r\n addDynamicProperty: function (prop) {\r\n if (this.dynamicProperties.indexOf(prop) === -1) {\r\n this.dynamicProperties.push(prop);\r\n this.container.addDynamicProperty(this);\r\n this._isAnimated = true;\r\n }\r\n },\r\n iterateDynamicProperties: function () {\r\n this._mdf = false;\r\n var i;\r\n var len = this.dynamicProperties.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.dynamicProperties[i].getValue();\r\n if (this.dynamicProperties[i]._mdf) {\r\n this._mdf = true;\r\n }\r\n }\r\n },\r\n initDynamicPropertyContainer: function (container) {\r\n this.container = container;\r\n this.dynamicProperties = [];\r\n this._mdf = false;\r\n this._isAnimated = false;\r\n },\r\n};\r\n\r\n/* exported getBlendMode */\r\n\r\nvar getBlendMode = (function () {\r\n var blendModeEnums = {\r\n 0: 'source-over',\r\n 1: 'multiply',\r\n 2: 'screen',\r\n 3: 'overlay',\r\n 4: 'darken',\r\n 5: 'lighten',\r\n 6: 'color-dodge',\r\n 7: 'color-burn',\r\n 8: 'hard-light',\r\n 9: 'soft-light',\r\n 10: 'difference',\r\n 11: 'exclusion',\r\n 12: 'hue',\r\n 13: 'saturation',\r\n 14: 'color',\r\n 15: 'luminosity',\r\n };\r\n\r\n return function (mode) {\r\n return blendModeEnums[mode] || '';\r\n };\r\n}());\r\n\r\n/* exported lineCapEnum, lineJoinEnum */\r\n\r\nvar lineCapEnum = {\r\n 1: 'butt',\r\n 2: 'round',\r\n 3: 'square',\r\n};\r\n\r\nvar lineJoinEnum = {\r\n 1: 'miter',\r\n 2: 'round',\r\n 3: 'bevel',\r\n};\r\n\r\n/* global createTypedArray */\r\n\r\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 */\r\n\r\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 */\r\n\r\nvar Matrix = (function () {\r\n var _cos = Math.cos;\r\n var _sin = Math.sin;\r\n var _tan = Math.tan;\r\n var _rnd = Math.round;\r\n\r\n function reset() {\r\n this.props[0] = 1;\r\n this.props[1] = 0;\r\n this.props[2] = 0;\r\n this.props[3] = 0;\r\n this.props[4] = 0;\r\n this.props[5] = 1;\r\n this.props[6] = 0;\r\n this.props[7] = 0;\r\n this.props[8] = 0;\r\n this.props[9] = 0;\r\n this.props[10] = 1;\r\n this.props[11] = 0;\r\n this.props[12] = 0;\r\n this.props[13] = 0;\r\n this.props[14] = 0;\r\n this.props[15] = 1;\r\n return this;\r\n }\r\n\r\n function rotate(angle) {\r\n if (angle === 0) {\r\n return this;\r\n }\r\n var mCos = _cos(angle);\r\n var mSin = _sin(angle);\r\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\r\n }\r\n\r\n function rotateX(angle) {\r\n if (angle === 0) {\r\n return this;\r\n }\r\n var mCos = _cos(angle);\r\n var mSin = _sin(angle);\r\n return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\r\n }\r\n\r\n function rotateY(angle) {\r\n if (angle === 0) {\r\n return this;\r\n }\r\n var mCos = _cos(angle);\r\n var mSin = _sin(angle);\r\n return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\r\n }\r\n\r\n function rotateZ(angle) {\r\n if (angle === 0) {\r\n return this;\r\n }\r\n var mCos = _cos(angle);\r\n var mSin = _sin(angle);\r\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\r\n }\r\n\r\n function shear(sx, sy) {\r\n return this._t(1, sy, sx, 1, 0, 0);\r\n }\r\n\r\n function skew(ax, ay) {\r\n return this.shear(_tan(ax), _tan(ay));\r\n }\r\n\r\n function skewFromAxis(ax, angle) {\r\n var mCos = _cos(angle);\r\n var mSin = _sin(angle);\r\n return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)\r\n ._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)\r\n ._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\r\n // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\r\n }\r\n\r\n function scale(sx, sy, sz) {\r\n if (!sz && sz !== 0) {\r\n sz = 1;\r\n }\r\n if (sx === 1 && sy === 1 && sz === 1) {\r\n return this;\r\n }\r\n return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\r\n }\r\n\r\n function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\r\n this.props[0] = a;\r\n this.props[1] = b;\r\n this.props[2] = c;\r\n this.props[3] = d;\r\n this.props[4] = e;\r\n this.props[5] = f;\r\n this.props[6] = g;\r\n this.props[7] = h;\r\n this.props[8] = i;\r\n this.props[9] = j;\r\n this.props[10] = k;\r\n this.props[11] = l;\r\n this.props[12] = m;\r\n this.props[13] = n;\r\n this.props[14] = o;\r\n this.props[15] = p;\r\n return this;\r\n }\r\n\r\n function translate(tx, ty, tz) {\r\n tz = tz || 0;\r\n if (tx !== 0 || ty !== 0 || tz !== 0) {\r\n return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\r\n }\r\n return this;\r\n }\r\n\r\n function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\r\n var _p = this.props;\r\n\r\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) {\r\n // NOTE: commenting this condition because TurboFan deoptimizes code when present\r\n // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\r\n _p[12] = _p[12] * a2 + _p[15] * m2;\r\n _p[13] = _p[13] * f2 + _p[15] * n2;\r\n _p[14] = _p[14] * k2 + _p[15] * o2;\r\n _p[15] *= p2;\r\n // }\r\n this._identityCalculated = false;\r\n return this;\r\n }\r\n\r\n var a1 = _p[0];\r\n var b1 = _p[1];\r\n var c1 = _p[2];\r\n var d1 = _p[3];\r\n var e1 = _p[4];\r\n var f1 = _p[5];\r\n var g1 = _p[6];\r\n var h1 = _p[7];\r\n var i1 = _p[8];\r\n var j1 = _p[9];\r\n var k1 = _p[10];\r\n var l1 = _p[11];\r\n var m1 = _p[12];\r\n var n1 = _p[13];\r\n var o1 = _p[14];\r\n var p1 = _p[15];\r\n\r\n /* matrix order (canvas compatible):\r\n * ace\r\n * bdf\r\n * 001\r\n */\r\n _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\r\n _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\r\n _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\r\n _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\r\n\r\n _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\r\n _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\r\n _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\r\n _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\r\n\r\n _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\r\n _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\r\n _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\r\n _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\r\n\r\n _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\r\n _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\r\n _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\r\n _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\r\n\r\n this._identityCalculated = false;\r\n return this;\r\n }\r\n\r\n function isIdentity() {\r\n if (!this._identityCalculated) {\r\n this._identity = !(this.props[0] !== 1 || this.props[1] !== 0 || this.props[2] !== 0 || this.props[3] !== 0 || this.props[4] !== 0 || this.props[5] !== 1 || this.props[6] !== 0 || this.props[7] !== 0 || this.props[8] !== 0 || this.props[9] !== 0 || this.props[10] !== 1 || this.props[11] !== 0 || this.props[12] !== 0 || this.props[13] !== 0 || this.props[14] !== 0 || this.props[15] !== 1);\r\n this._identityCalculated = true;\r\n }\r\n return this._identity;\r\n }\r\n\r\n function equals(matr) {\r\n var i = 0;\r\n while (i < 16) {\r\n if (matr.props[i] !== this.props[i]) {\r\n return false;\r\n }\r\n i += 1;\r\n }\r\n return true;\r\n }\r\n\r\n function clone(matr) {\r\n var i;\r\n for (i = 0; i < 16; i += 1) {\r\n matr.props[i] = this.props[i];\r\n }\r\n return matr;\r\n }\r\n\r\n function cloneFromProps(props) {\r\n var i;\r\n for (i = 0; i < 16; i += 1) {\r\n this.props[i] = props[i];\r\n }\r\n }\r\n\r\n function applyToPoint(x, y, z) {\r\n return {\r\n x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],\r\n y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],\r\n z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14],\r\n };\r\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 }; */\r\n }\r\n function applyToX(x, y, z) {\r\n return x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12];\r\n }\r\n function applyToY(x, y, z) {\r\n return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13];\r\n }\r\n function applyToZ(x, y, z) {\r\n return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14];\r\n }\r\n\r\n function getInverseMatrix() {\r\n var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4];\r\n var a = this.props[5] / determinant;\r\n var b = -this.props[1] / determinant;\r\n var c = -this.props[4] / determinant;\r\n var d = this.props[0] / determinant;\r\n var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / determinant;\r\n var f = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / determinant;\r\n var inverseMatrix = new Matrix();\r\n inverseMatrix.props[0] = a;\r\n inverseMatrix.props[1] = b;\r\n inverseMatrix.props[4] = c;\r\n inverseMatrix.props[5] = d;\r\n inverseMatrix.props[12] = e;\r\n inverseMatrix.props[13] = f;\r\n return inverseMatrix;\r\n }\r\n\r\n function inversePoint(pt) {\r\n var inverseMatrix = this.getInverseMatrix();\r\n return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\r\n }\r\n\r\n function inversePoints(pts) {\r\n var i;\r\n var len = pts.length;\r\n var retPts = [];\r\n for (i = 0; i < len; i += 1) {\r\n retPts[i] = inversePoint(pts[i]);\r\n }\r\n return retPts;\r\n }\r\n\r\n function applyToTriplePoints(pt1, pt2, pt3) {\r\n var arr = createTypedArray('float32', 6);\r\n if (this.isIdentity()) {\r\n arr[0] = pt1[0];\r\n arr[1] = pt1[1];\r\n arr[2] = pt2[0];\r\n arr[3] = pt2[1];\r\n arr[4] = pt3[0];\r\n arr[5] = pt3[1];\r\n } else {\r\n var p0 = this.props[0];\r\n var p1 = this.props[1];\r\n var p4 = this.props[4];\r\n var p5 = this.props[5];\r\n var p12 = this.props[12];\r\n var p13 = this.props[13];\r\n arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\r\n arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\r\n arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\r\n arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\r\n arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\r\n arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\r\n }\r\n return arr;\r\n }\r\n\r\n function applyToPointArray(x, y, z) {\r\n var arr;\r\n if (this.isIdentity()) {\r\n arr = [x, y, z];\r\n } else {\r\n arr = [\r\n x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],\r\n x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],\r\n x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14],\r\n ];\r\n }\r\n return arr;\r\n }\r\n\r\n function applyToPointStringified(x, y) {\r\n if (this.isIdentity()) {\r\n return x + ',' + y;\r\n }\r\n var _p = this.props;\r\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;\r\n }\r\n\r\n function toCSS() {\r\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.\r\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\r\n var i = 0;\r\n var props = this.props;\r\n var cssValue = 'matrix3d(';\r\n var v = 10000;\r\n while (i < 16) {\r\n cssValue += _rnd(props[i] * v) / v;\r\n cssValue += i === 15 ? ')' : ',';\r\n i += 1;\r\n }\r\n return cssValue;\r\n }\r\n\r\n function roundMatrixProperty(val) {\r\n var v = 10000;\r\n if ((val < 0.000001 && val > 0) || (val > -0.000001 && val < 0)) {\r\n return _rnd(val * v) / v;\r\n }\r\n return val;\r\n }\r\n\r\n function to2dCSS() {\r\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.\r\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\r\n var props = this.props;\r\n var _a = roundMatrixProperty(props[0]);\r\n var _b = roundMatrixProperty(props[1]);\r\n var _c = roundMatrixProperty(props[4]);\r\n var _d = roundMatrixProperty(props[5]);\r\n var _e = roundMatrixProperty(props[12]);\r\n var _f = roundMatrixProperty(props[13]);\r\n return 'matrix(' + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + ')';\r\n }\r\n\r\n return function () {\r\n this.reset = reset;\r\n this.rotate = rotate;\r\n this.rotateX = rotateX;\r\n this.rotateY = rotateY;\r\n this.rotateZ = rotateZ;\r\n this.skew = skew;\r\n this.skewFromAxis = skewFromAxis;\r\n this.shear = shear;\r\n this.scale = scale;\r\n this.setTransform = setTransform;\r\n this.translate = translate;\r\n this.transform = transform;\r\n this.applyToPoint = applyToPoint;\r\n this.applyToX = applyToX;\r\n this.applyToY = applyToY;\r\n this.applyToZ = applyToZ;\r\n this.applyToPointArray = applyToPointArray;\r\n this.applyToTriplePoints = applyToTriplePoints;\r\n this.applyToPointStringified = applyToPointStringified;\r\n this.toCSS = toCSS;\r\n this.to2dCSS = to2dCSS;\r\n this.clone = clone;\r\n this.cloneFromProps = cloneFromProps;\r\n this.equals = equals;\r\n this.inversePoints = inversePoints;\r\n this.inversePoint = inversePoint;\r\n this.getInverseMatrix = getInverseMatrix;\r\n this._t = this.transform;\r\n this.isIdentity = isIdentity;\r\n this._identity = true;\r\n this._identityCalculated = false;\r\n\r\n this.props = createTypedArray('float32', 16);\r\n this.reset();\r\n };\r\n}());\r\n\r\n/* eslint-disable */\r\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 */\r\n\r\n(function (pool, math) {\r\n//\r\n// The following constants are related to IEEE 754 limits.\r\n//\r\n var global = this,\r\n width = 256, // each RC4 output is 0 <= x < 256\r\n chunks = 6, // at least six RC4 outputs for each double\r\n digits = 52, // there are 52 significant digits in a double\r\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\r\n startdenom = math.pow(width, chunks),\r\n significance = math.pow(2, digits),\r\n overflow = significance * 2,\r\n mask = width - 1,\r\n nodecrypto; // node.js crypto module, initialized at the bottom.\r\n\r\n//\r\n// seedrandom()\r\n// This is the seedrandom function described above.\r\n//\r\n function seedrandom(seed, options, callback) {\r\n var key = [];\r\n options = (options === true) ? { entropy: true } : (options || {});\r\n\r\n // Flatten the seed string or build one from local entropy if needed.\r\n var shortseed = mixkey(flatten(\r\n options.entropy ? [seed, tostring(pool)] :\r\n (seed === null) ? autoseed() : seed, 3), key);\r\n\r\n // Use the seed to initialize an ARC4 generator.\r\n var arc4 = new ARC4(key);\r\n\r\n // This function returns a random double in [0, 1) that contains\r\n // randomness in every bit of the mantissa of the IEEE 754 value.\r\n var prng = function() {\r\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\r\n d = startdenom, // and denominator d = 2 ^ 48.\r\n x = 0; // and no 'extra last byte'.\r\n while (n < significance) { // Fill up all significant digits by\r\n n = (n + x) * width; // shifting numerator and\r\n d *= width; // denominator and generating a\r\n x = arc4.g(1); // new least-significant-byte.\r\n }\r\n while (n >= overflow) { // To avoid rounding up, before adding\r\n n /= 2; // last byte, shift everything\r\n d /= 2; // right using integer math until\r\n x >>>= 1; // we have exactly the desired bits.\r\n }\r\n return (n + x) / d; // Form the number within [0, 1).\r\n };\r\n\r\n prng.int32 = function() { return arc4.g(4) | 0; };\r\n prng.quick = function() { return arc4.g(4) / 0x100000000; };\r\n prng.double = prng;\r\n\r\n // Mix the randomness into accumulated entropy.\r\n mixkey(tostring(arc4.S), pool);\r\n\r\n // Calling convention: what to return as a function of prng, seed, is_math.\r\n return (options.pass || callback ||\r\n function(prng, seed, is_math_call, state) {\r\n if (state) {\r\n // Load the arc4 state from the given state if it has an S array.\r\n if (state.S) { copy(state, arc4); }\r\n // Only provide the .state method if requested via options.state.\r\n prng.state = function() { return copy(arc4, {}); };\r\n }\r\n\r\n // If called as a method of Math (Math.seedrandom()), mutate\r\n // Math.random because that is how seedrandom.js has worked since v1.0.\r\n if (is_math_call) { math[rngname] = prng; return seed; }\r\n\r\n // Otherwise, it is a newer calling convention, so return the\r\n // prng directly.\r\n else return prng;\r\n })(\r\n prng,\r\n shortseed,\r\n 'global' in options ? options.global : (this == math),\r\n options.state);\r\n }\r\n math['seed' + rngname] = seedrandom;\r\n\r\n//\r\n// ARC4\r\n//\r\n// An ARC4 implementation. The constructor takes a key in the form of\r\n// an array of at most (width) integers that should be 0 <= x < (width).\r\n//\r\n// The g(count) method returns a pseudorandom integer that concatenates\r\n// the next (count) outputs from ARC4. Its return value is a number x\r\n// that is in the range 0 <= x < (width ^ count).\r\n//\r\n function ARC4(key) {\r\n var t, keylen = key.length,\r\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\r\n\r\n // The empty key [] is treated as [0].\r\n if (!keylen) { key = [keylen++]; }\r\n\r\n // Set up S using the standard key scheduling algorithm.\r\n while (i < width) {\r\n s[i] = i++;\r\n }\r\n for (i = 0; i < width; i++) {\r\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\r\n s[j] = t;\r\n }\r\n\r\n // The \"g\" method returns the next (count) outputs as one number.\r\n me.g = function(count) {\r\n // Using instance members instead of closure state nearly doubles speed.\r\n var t, r = 0,\r\n i = me.i, j = me.j, s = me.S;\r\n while (count--) {\r\n t = s[i = mask & (i + 1)];\r\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\r\n }\r\n me.i = i; me.j = j;\r\n return r;\r\n // For robust unpredictability, the function call below automatically\r\n // discards an initial batch of values. This is called RC4-drop[256].\r\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\r\n };\r\n }\r\n\r\n//\r\n// copy()\r\n// Copies internal state of ARC4 to or from a plain object.\r\n//\r\n function copy(f, t) {\r\n t.i = f.i;\r\n t.j = f.j;\r\n t.S = f.S.slice();\r\n return t;\r\n }\r\n\r\n//\r\n// flatten()\r\n// Converts an object tree to nested arrays of strings.\r\n//\r\n function flatten(obj, depth) {\r\n var result = [], typ = (typeof obj), prop;\r\n if (depth && typ == 'object') {\r\n for (prop in obj) {\r\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\r\n }\r\n }\r\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\r\n }\r\n\r\n//\r\n// mixkey()\r\n// Mixes a string seed into a key that is an array of integers, and\r\n// returns a shortened string seed that is equivalent to the result key.\r\n//\r\n function mixkey(seed, key) {\r\n var stringseed = seed + '', smear, j = 0;\r\n while (j < stringseed.length) {\r\n key[mask & j] =\r\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\r\n }\r\n return tostring(key);\r\n }\r\n\r\n//\r\n// autoseed()\r\n// Returns an object for autoseeding, using window.crypto and Node crypto\r\n// module if available.\r\n//\r\n function autoseed() {\r\n try {\r\n if (nodecrypto) { return tostring(nodecrypto.randomBytes(width)); }\r\n var out = new Uint8Array(width);\r\n (global.crypto || global.msCrypto).getRandomValues(out);\r\n return tostring(out);\r\n } catch (e) {\r\n var browser = global.navigator,\r\n plugins = browser && browser.plugins;\r\n return [+new Date(), global, plugins, global.screen, tostring(pool)];\r\n }\r\n }\r\n\r\n//\r\n// tostring()\r\n// Converts an array of charcodes to a string\r\n//\r\n function tostring(a) {\r\n return String.fromCharCode.apply(0, a);\r\n }\r\n\r\n//\r\n// When seedrandom.js is loaded, we immediately mix a few bits\r\n// from the built-in RNG into the entropy pool. Because we do\r\n// not want to interfere with deterministic PRNG state later,\r\n// seedrandom will not call math.random on its own again after\r\n// initialization.\r\n//\r\n mixkey(math.random(), pool);\r\n\r\n//\r\n// Nodejs and AMD support: export the implementation as a module using\r\n// either convention.\r\n//\r\n\r\n// End anonymous scope, and pass initial values.\r\n})(\r\n [], // pool: entropy pool starts empty\r\n BMMath // math: package containing random, pow, and seedrandom\r\n);\r\n/* eslint-disable */\r\nvar BezierFactory = (function () {\r\n /**\r\n * BezierEasing - use bezier curve for transition easing function\r\n * by Gaëtan Renaudeau 2014 - 2015 – 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 */\r\n\r\n var ob = {};\r\n ob.getBezierEasing = getBezierEasing;\r\n var beziers = {};\r\n\r\n function getBezierEasing(a, b, c, d, nm) {\r\n var str = nm || ('bez_' + a + '_' + b + '_' + c + '_' + d).replace(/\\./g, 'p');\r\n if (beziers[str]) {\r\n return beziers[str];\r\n }\r\n var bezEasing = new BezierEasing([a, b, c, d]);\r\n beziers[str] = bezEasing;\r\n return bezEasing;\r\n }\r\n\r\n // These values are established by empiricism with tests (tradeoff: performance VS precision)\r\n var NEWTON_ITERATIONS = 4;\r\n var NEWTON_MIN_SLOPE = 0.001;\r\n var SUBDIVISION_PRECISION = 0.0000001;\r\n var SUBDIVISION_MAX_ITERATIONS = 10;\r\n\r\n var kSplineTableSize = 11;\r\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\r\n\r\n var float32ArraySupported = typeof Float32Array === 'function';\r\n\r\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; }\r\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1; }\r\n function C(aA1) { return 3.0 * aA1; }\r\n\r\n // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\r\n function calcBezier(aT, aA1, aA2) {\r\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\r\n }\r\n\r\n // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\r\n function getSlope(aT, aA1, aA2) {\r\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\r\n }\r\n\r\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\r\n var currentX,\r\n currentT,\r\n i = 0;\r\n do {\r\n currentT = aA + (aB - aA) / 2.0;\r\n currentX = calcBezier(currentT, mX1, mX2) - aX;\r\n if (currentX > 0.0) {\r\n aB = currentT;\r\n } else {\r\n aA = currentT;\r\n }\r\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\r\n return currentT;\r\n }\r\n\r\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\r\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\r\n var currentSlope = getSlope(aGuessT, mX1, mX2);\r\n if (currentSlope === 0.0) return aGuessT;\r\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\r\n aGuessT -= currentX / currentSlope;\r\n }\r\n return aGuessT;\r\n }\r\n\r\n /**\r\n * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n */\r\n function BezierEasing(points) {\r\n this._p = points;\r\n this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\r\n this._precomputed = false;\r\n\r\n this.get = this.get.bind(this);\r\n }\r\n\r\n BezierEasing.prototype = {\r\n\r\n get: function (x) {\r\n var mX1 = this._p[0],\r\n mY1 = this._p[1],\r\n mX2 = this._p[2],\r\n mY2 = this._p[3];\r\n if (!this._precomputed) this._precompute();\r\n if (mX1 === mY1 && mX2 === mY2) return x; // linear\r\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\r\n if (x === 0) return 0;\r\n if (x === 1) return 1;\r\n return calcBezier(this._getTForX(x), mY1, mY2);\r\n },\r\n\r\n // Private part\r\n\r\n _precompute: function () {\r\n var mX1 = this._p[0],\r\n mY1 = this._p[1],\r\n mX2 = this._p[2],\r\n mY2 = this._p[3];\r\n this._precomputed = true;\r\n if (mX1 !== mY1 || mX2 !== mY2) { this._calcSampleValues(); }\r\n },\r\n\r\n _calcSampleValues: function () {\r\n var mX1 = this._p[0],\r\n mX2 = this._p[2];\r\n for (var i = 0; i < kSplineTableSize; ++i) {\r\n this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\r\n }\r\n },\r\n\r\n /**\r\n * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n */\r\n _getTForX: function (aX) {\r\n var mX1 = this._p[0],\r\n mX2 = this._p[2],\r\n mSampleValues = this._mSampleValues;\r\n\r\n var intervalStart = 0.0;\r\n var currentSample = 1;\r\n var lastSample = kSplineTableSize - 1;\r\n\r\n for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\r\n intervalStart += kSampleStepSize;\r\n }\r\n --currentSample;\r\n\r\n // Interpolate to provide an initial guess for t\r\n var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\r\n var guessForT = intervalStart + dist * kSampleStepSize;\r\n\r\n var initialSlope = getSlope(guessForT, mX1, mX2);\r\n if (initialSlope >= NEWTON_MIN_SLOPE) {\r\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\r\n } if (initialSlope === 0.0) {\r\n return guessForT;\r\n }\r\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\r\n },\r\n };\r\n\r\n return ob;\r\n}());\r\n\r\n(function () {\r\n var lastTime = 0;\r\n var vendors = ['ms', 'moz', 'webkit', 'o'];\r\n for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { // eslint-disable-line no-plusplus\r\n window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];\r\n window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];\r\n }\r\n if (!window.requestAnimationFrame) {\r\n window.requestAnimationFrame = function (callback) {\r\n var currTime = new Date().getTime();\r\n var timeToCall = Math.max(0, 16 - (currTime - lastTime));\r\n var id = setTimeout(function () {\r\n callback(currTime + timeToCall);\r\n },\r\n timeToCall);\r\n lastTime = currTime + timeToCall;\r\n return id;\r\n };\r\n }\r\n if (!window.cancelAnimationFrame) {\r\n window.cancelAnimationFrame = function (id) {\r\n clearTimeout(id);\r\n };\r\n }\r\n}());\r\n\r\n/* exported extendPrototype, getDescriptor, createProxyFunction */\r\n\r\nfunction extendPrototype(sources, destination) {\r\n var i;\r\n var len = sources.length;\r\n var sourcePrototype;\r\n for (i = 0; i < len; i += 1) {\r\n sourcePrototype = sources[i].prototype;\r\n for (var attr in sourcePrototype) {\r\n if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\r\n }\r\n }\r\n}\r\n\r\nfunction getDescriptor(object, prop) {\r\n return Object.getOwnPropertyDescriptor(object, prop);\r\n}\r\n\r\nfunction createProxyFunction(prototype) {\r\n function ProxyFunction() {}\r\n ProxyFunction.prototype = prototype;\r\n return ProxyFunction;\r\n}\r\n\r\n/* global segmentsLengthPool, defaultCurveSegments, createSizedArray, bmPow, bmSqrt, bmFloor, createTypedArray, bezierLengthPool */\r\n/* exported bez */\r\n\r\nfunction bezFunction() {\r\n var math = Math;\r\n\r\n function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\r\n var det1 = (x1 * y2) + (y1 * x3) + (x2 * y3) - (x3 * y2) - (y3 * x1) - (x2 * y1);\r\n return det1 > -0.001 && det1 < 0.001;\r\n }\r\n\r\n function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\r\n if (z1 === 0 && z2 === 0 && z3 === 0) {\r\n return pointOnLine2D(x1, y1, x2, y2, x3, y3);\r\n }\r\n var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\r\n var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\r\n var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\r\n var diffDist;\r\n if (dist1 > dist2) {\r\n if (dist1 > dist3) {\r\n diffDist = dist1 - dist2 - dist3;\r\n } else {\r\n diffDist = dist3 - dist2 - dist1;\r\n }\r\n } else if (dist3 > dist2) {\r\n diffDist = dist3 - dist2 - dist1;\r\n } else {\r\n diffDist = dist2 - dist1 - dist3;\r\n }\r\n return diffDist > -0.0001 && diffDist < 0.0001;\r\n }\r\n\r\n var getBezierLength = (function () {\r\n return function (pt1, pt2, pt3, pt4) {\r\n var curveSegments = defaultCurveSegments;\r\n var k;\r\n var i;\r\n var len;\r\n var ptCoord;\r\n var perc;\r\n var addedLength = 0;\r\n var ptDistance;\r\n var point = [];\r\n var lastPoint = [];\r\n var lengthData = bezierLengthPool.newElement();\r\n len = pt3.length;\r\n for (k = 0; k < curveSegments; k += 1) {\r\n perc = k / (curveSegments - 1);\r\n ptDistance = 0;\r\n for (i = 0; i < len; i += 1) {\r\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];\r\n point[i] = ptCoord;\r\n if (lastPoint[i] !== null) {\r\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\r\n }\r\n lastPoint[i] = point[i];\r\n }\r\n if (ptDistance) {\r\n ptDistance = bmSqrt(ptDistance);\r\n addedLength += ptDistance;\r\n }\r\n lengthData.percents[k] = perc;\r\n lengthData.lengths[k] = addedLength;\r\n }\r\n lengthData.addedLength = addedLength;\r\n return lengthData;\r\n };\r\n }());\r\n\r\n function getSegmentsLength(shapeData) {\r\n var segmentsLength = segmentsLengthPool.newElement();\r\n var closed = shapeData.c;\r\n var pathV = shapeData.v;\r\n var pathO = shapeData.o;\r\n var pathI = shapeData.i;\r\n var i;\r\n var len = shapeData._length;\r\n var lengths = segmentsLength.lengths;\r\n var totalLength = 0;\r\n for (i = 0; i < len - 1; i += 1) {\r\n lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\r\n totalLength += lengths[i].addedLength;\r\n }\r\n if (closed && len) {\r\n lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\r\n totalLength += lengths[i].addedLength;\r\n }\r\n segmentsLength.totalLength = totalLength;\r\n return segmentsLength;\r\n }\r\n\r\n function BezierData(length) {\r\n this.segmentLength = 0;\r\n this.points = new Array(length);\r\n }\r\n\r\n function PointData(partial, point) {\r\n this.partialLength = partial;\r\n this.point = point;\r\n }\r\n\r\n var buildBezierData = (function () {\r\n var storedData = {};\r\n\r\n return function (pt1, pt2, pt3, pt4) {\r\n var bezierName = (pt1[0] + '_' + pt1[1] + '_' + pt2[0] + '_' + pt2[1] + '_' + pt3[0] + '_' + pt3[1] + '_' + pt4[0] + '_' + pt4[1]).replace(/\\./g, 'p');\r\n if (!storedData[bezierName]) {\r\n var curveSegments = defaultCurveSegments;\r\n var k;\r\n var i;\r\n var len;\r\n var ptCoord;\r\n var perc;\r\n var addedLength = 0;\r\n var ptDistance;\r\n var point;\r\n var lastPoint = null;\r\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])) {\r\n curveSegments = 2;\r\n }\r\n var bezierData = new BezierData(curveSegments);\r\n len = pt3.length;\r\n for (k = 0; k < curveSegments; k += 1) {\r\n point = createSizedArray(len);\r\n perc = k / (curveSegments - 1);\r\n ptDistance = 0;\r\n for (i = 0; i < len; i += 1) {\r\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];\r\n point[i] = ptCoord;\r\n if (lastPoint !== null) {\r\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\r\n }\r\n }\r\n ptDistance = bmSqrt(ptDistance);\r\n addedLength += ptDistance;\r\n bezierData.points[k] = new PointData(ptDistance, point);\r\n lastPoint = point;\r\n }\r\n bezierData.segmentLength = addedLength;\r\n storedData[bezierName] = bezierData;\r\n }\r\n return storedData[bezierName];\r\n };\r\n }());\r\n\r\n function getDistancePerc(perc, bezierData) {\r\n var percents = bezierData.percents;\r\n var lengths = bezierData.lengths;\r\n var len = percents.length;\r\n var initPos = bmFloor((len - 1) * perc);\r\n var lengthPos = perc * bezierData.addedLength;\r\n var lPerc = 0;\r\n if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\r\n return percents[initPos];\r\n }\r\n var dir = lengths[initPos] > lengthPos ? -1 : 1;\r\n var flag = true;\r\n while (flag) {\r\n if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\r\n lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\r\n flag = false;\r\n } else {\r\n initPos += dir;\r\n }\r\n if (initPos < 0 || initPos >= len - 1) {\r\n // FIX for TypedArrays that don't store floating point values with enough accuracy\r\n if (initPos === len - 1) {\r\n return percents[initPos];\r\n }\r\n flag = false;\r\n }\r\n }\r\n return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\r\n }\r\n\r\n function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\r\n var t1 = getDistancePerc(percent, bezierData);\r\n var u1 = 1 - t1;\r\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;\r\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;\r\n return [ptX, ptY];\r\n }\r\n\r\n var bezierSegmentPoints = createTypedArray('float32', 8);\r\n\r\n function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\r\n if (startPerc < 0) {\r\n startPerc = 0;\r\n } else if (startPerc > 1) {\r\n startPerc = 1;\r\n }\r\n var t0 = getDistancePerc(startPerc, bezierData);\r\n endPerc = endPerc > 1 ? 1 : endPerc;\r\n var t1 = getDistancePerc(endPerc, bezierData);\r\n var i;\r\n var len = pt1.length;\r\n var u0 = 1 - t0;\r\n var u1 = 1 - t1;\r\n var u0u0u0 = u0 * u0 * u0;\r\n var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\r\n var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\r\n var t0t0t0 = t0 * t0 * t0;\r\n //\r\n var u0u0u1 = u0 * u0 * u1;\r\n var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\r\n var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\r\n var t0t0t1 = t0 * t0 * t1;\r\n //\r\n var u0u1u1 = u0 * u1 * u1;\r\n var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\r\n var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\r\n var t0t1t1 = t0 * t1 * t1;\r\n //\r\n var u1u1u1 = u1 * u1 * u1;\r\n var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\r\n var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\r\n var t1t1t1 = t1 * t1 * t1;\r\n for (i = 0; i < len; i += 1) {\r\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\r\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\r\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\r\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\r\n }\r\n\r\n return bezierSegmentPoints;\r\n }\r\n\r\n return {\r\n getSegmentsLength: getSegmentsLength,\r\n getNewSegment: getNewSegment,\r\n getPointInSegment: getPointInSegment,\r\n buildBezierData: buildBezierData,\r\n pointOnLine2D: pointOnLine2D,\r\n pointOnLine3D: pointOnLine3D,\r\n };\r\n}\r\n\r\nvar bez = bezFunction();\r\n\r\n/* exported dataManager */\r\n\r\nfunction dataFunctionManager() {\r\n // var tCanvasHelper = createTag('canvas').getContext('2d');\r\n\r\n function completeLayers(layers, comps, fontManager) {\r\n var layerData;\r\n var i;\r\n var len = layers.length;\r\n var j;\r\n var jLen;\r\n var k;\r\n var kLen;\r\n for (i = 0; i < len; i += 1) {\r\n layerData = layers[i];\r\n if (('ks' in layerData) && !layerData.completed) {\r\n layerData.completed = true;\r\n if (layerData.tt) {\r\n layers[i - 1].td = layerData.tt;\r\n }\r\n if (layerData.hasMask) {\r\n var maskProps = layerData.masksProperties;\r\n jLen = maskProps.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n if (maskProps[j].pt.k.i) {\r\n convertPathsToAbsoluteValues(maskProps[j].pt.k);\r\n } else {\r\n kLen = maskProps[j].pt.k.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n if (maskProps[j].pt.k[k].s) {\r\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\r\n }\r\n if (maskProps[j].pt.k[k].e) {\r\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (layerData.ty === 0) {\r\n layerData.layers = findCompLayers(layerData.refId, comps);\r\n completeLayers(layerData.layers, comps, fontManager);\r\n } else if (layerData.ty === 4) {\r\n completeShapes(layerData.shapes);\r\n } else if (layerData.ty === 5) {\r\n completeText(layerData, fontManager);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function findCompLayers(id, comps) {\r\n var i = 0;\r\n var len = comps.length;\r\n while (i < len) {\r\n if (comps[i].id === id) {\r\n if (!comps[i].layers.__used) {\r\n comps[i].layers.__used = true;\r\n return comps[i].layers;\r\n }\r\n return JSON.parse(JSON.stringify(comps[i].layers));\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n }\r\n\r\n function completeShapes(arr) {\r\n var i;\r\n var len = arr.length;\r\n var j;\r\n var jLen;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n if (arr[i].ty === 'sh') {\r\n if (arr[i].ks.k.i) {\r\n convertPathsToAbsoluteValues(arr[i].ks.k);\r\n } else {\r\n jLen = arr[i].ks.k.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n if (arr[i].ks.k[j].s) {\r\n convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\r\n }\r\n if (arr[i].ks.k[j].e) {\r\n convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\r\n }\r\n }\r\n }\r\n } else if (arr[i].ty === 'gr') {\r\n completeShapes(arr[i].it);\r\n }\r\n }\r\n }\r\n\r\n function convertPathsToAbsoluteValues(path) {\r\n var i;\r\n var len = path.i.length;\r\n for (i = 0; i < len; i += 1) {\r\n path.i[i][0] += path.v[i][0];\r\n path.i[i][1] += path.v[i][1];\r\n path.o[i][0] += path.v[i][0];\r\n path.o[i][1] += path.v[i][1];\r\n }\r\n }\r\n\r\n function checkVersion(minimum, animVersionString) {\r\n var animVersion = animVersionString ? animVersionString.split('.') : [100, 100, 100];\r\n if (minimum[0] > animVersion[0]) {\r\n return true;\r\n } if (animVersion[0] > minimum[0]) {\r\n return false;\r\n }\r\n if (minimum[1] > animVersion[1]) {\r\n return true;\r\n } if (animVersion[1] > minimum[1]) {\r\n return false;\r\n }\r\n if (minimum[2] > animVersion[2]) {\r\n return true;\r\n } if (animVersion[2] > minimum[2]) {\r\n return false;\r\n }\r\n return null;\r\n }\r\n\r\n var checkText = (function () {\r\n var minimumVersion = [4, 4, 14];\r\n\r\n function updateTextLayer(textLayer) {\r\n var documentData = textLayer.t.d;\r\n textLayer.t.d = {\r\n k: [\r\n {\r\n s: documentData,\r\n t: 0,\r\n },\r\n ],\r\n };\r\n }\r\n\r\n function iterateLayers(layers) {\r\n var i;\r\n var len = layers.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (layers[i].ty === 5) {\r\n updateTextLayer(layers[i]);\r\n }\r\n }\r\n }\r\n\r\n return function (animationData) {\r\n if (checkVersion(minimumVersion, animationData.v)) {\r\n iterateLayers(animationData.layers);\r\n if (animationData.assets) {\r\n var i;\r\n var len = animationData.assets.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (animationData.assets[i].layers) {\r\n iterateLayers(animationData.assets[i].layers);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n }());\r\n\r\n var checkChars = (function () {\r\n var minimumVersion = [4, 7, 99];\r\n return function (animationData) {\r\n if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\r\n var i;\r\n var len = animationData.chars.length;\r\n var j;\r\n var jLen;\r\n var pathData;\r\n var paths;\r\n for (i = 0; i < len; i += 1) {\r\n if (animationData.chars[i].data && animationData.chars[i].data.shapes) {\r\n paths = animationData.chars[i].data.shapes[0].it;\r\n jLen = paths.length;\r\n\r\n for (j = 0; j < jLen; j += 1) {\r\n pathData = paths[j].ks.k;\r\n if (!pathData.__converted) {\r\n convertPathsToAbsoluteValues(paths[j].ks.k);\r\n pathData.__converted = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n }());\r\n\r\n var checkPathProperties = (function () {\r\n var minimumVersion = [5, 7, 15];\r\n\r\n function updateTextLayer(textLayer) {\r\n var pathData = textLayer.t.p;\r\n if (typeof pathData.a === 'number') {\r\n pathData.a = {\r\n a: 0,\r\n k: pathData.a,\r\n };\r\n }\r\n if (typeof pathData.p === 'number') {\r\n pathData.p = {\r\n a: 0,\r\n k: pathData.p,\r\n };\r\n }\r\n if (typeof pathData.r === 'number') {\r\n pathData.r = {\r\n a: 0,\r\n k: pathData.r,\r\n };\r\n }\r\n }\r\n\r\n function iterateLayers(layers) {\r\n var i;\r\n var len = layers.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (layers[i].ty === 5) {\r\n updateTextLayer(layers[i]);\r\n }\r\n }\r\n }\r\n\r\n return function (animationData) {\r\n if (checkVersion(minimumVersion, animationData.v)) {\r\n iterateLayers(animationData.layers);\r\n if (animationData.assets) {\r\n var i;\r\n var len = animationData.assets.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (animationData.assets[i].layers) {\r\n iterateLayers(animationData.assets[i].layers);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n }());\r\n\r\n var checkColors = (function () {\r\n var minimumVersion = [4, 1, 9];\r\n\r\n function iterateShapes(shapes) {\r\n var i;\r\n var len = shapes.length;\r\n var j;\r\n var jLen;\r\n for (i = 0; i < len; i += 1) {\r\n if (shapes[i].ty === 'gr') {\r\n iterateShapes(shapes[i].it);\r\n } else if (shapes[i].ty === 'fl' || shapes[i].ty === 'st') {\r\n if (shapes[i].c.k && shapes[i].c.k[0].i) {\r\n jLen = shapes[i].c.k.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n if (shapes[i].c.k[j].s) {\r\n shapes[i].c.k[j].s[0] /= 255;\r\n shapes[i].c.k[j].s[1] /= 255;\r\n shapes[i].c.k[j].s[2] /= 255;\r\n shapes[i].c.k[j].s[3] /= 255;\r\n }\r\n if (shapes[i].c.k[j].e) {\r\n shapes[i].c.k[j].e[0] /= 255;\r\n shapes[i].c.k[j].e[1] /= 255;\r\n shapes[i].c.k[j].e[2] /= 255;\r\n shapes[i].c.k[j].e[3] /= 255;\r\n }\r\n }\r\n } else {\r\n shapes[i].c.k[0] /= 255;\r\n shapes[i].c.k[1] /= 255;\r\n shapes[i].c.k[2] /= 255;\r\n shapes[i].c.k[3] /= 255;\r\n }\r\n }\r\n }\r\n }\r\n\r\n function iterateLayers(layers) {\r\n var i;\r\n var len = layers.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (layers[i].ty === 4) {\r\n iterateShapes(layers[i].shapes);\r\n }\r\n }\r\n }\r\n\r\n return function (animationData) {\r\n if (checkVersion(minimumVersion, animationData.v)) {\r\n iterateLayers(animationData.layers);\r\n if (animationData.assets) {\r\n var i;\r\n var len = animationData.assets.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (animationData.assets[i].layers) {\r\n iterateLayers(animationData.assets[i].layers);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n }());\r\n\r\n var checkShapes = (function () {\r\n var minimumVersion = [4, 4, 18];\r\n\r\n function completeClosingShapes(arr) {\r\n var i;\r\n var len = arr.length;\r\n var j;\r\n var jLen;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n if (arr[i].ty === 'sh') {\r\n if (arr[i].ks.k.i) {\r\n arr[i].ks.k.c = arr[i].closed;\r\n } else {\r\n jLen = arr[i].ks.k.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n if (arr[i].ks.k[j].s) {\r\n arr[i].ks.k[j].s[0].c = arr[i].closed;\r\n }\r\n if (arr[i].ks.k[j].e) {\r\n arr[i].ks.k[j].e[0].c = arr[i].closed;\r\n }\r\n }\r\n }\r\n } else if (arr[i].ty === 'gr') {\r\n completeClosingShapes(arr[i].it);\r\n }\r\n }\r\n }\r\n\r\n function iterateLayers(layers) {\r\n var layerData;\r\n var i;\r\n var len = layers.length;\r\n var j;\r\n var jLen;\r\n var k;\r\n var kLen;\r\n for (i = 0; i < len; i += 1) {\r\n layerData = layers[i];\r\n if (layerData.hasMask) {\r\n var maskProps = layerData.masksProperties;\r\n jLen = maskProps.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n if (maskProps[j].pt.k.i) {\r\n maskProps[j].pt.k.c = maskProps[j].cl;\r\n } else {\r\n kLen = maskProps[j].pt.k.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n if (maskProps[j].pt.k[k].s) {\r\n maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\r\n }\r\n if (maskProps[j].pt.k[k].e) {\r\n maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (layerData.ty === 4) {\r\n completeClosingShapes(layerData.shapes);\r\n }\r\n }\r\n }\r\n\r\n return function (animationData) {\r\n if (checkVersion(minimumVersion, animationData.v)) {\r\n iterateLayers(animationData.layers);\r\n if (animationData.assets) {\r\n var i;\r\n var len = animationData.assets.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (animationData.assets[i].layers) {\r\n iterateLayers(animationData.assets[i].layers);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n }());\r\n\r\n function completeData(animationData, fontManager) {\r\n if (animationData.__complete) {\r\n return;\r\n }\r\n checkColors(animationData);\r\n checkText(animationData);\r\n checkChars(animationData);\r\n checkPathProperties(animationData);\r\n checkShapes(animationData);\r\n completeLayers(animationData.layers, animationData.assets, fontManager);\r\n animationData.__complete = true;\r\n }\r\n\r\n function completeText(data) {\r\n if (data.t.a.length === 0 && !('m' in data.t.p)) {\r\n data.singleShape = true;\r\n }\r\n }\r\n\r\n var moduleOb = {};\r\n moduleOb.completeData = completeData;\r\n moduleOb.checkColors = checkColors;\r\n moduleOb.checkChars = checkChars;\r\n moduleOb.checkPathProperties = checkPathProperties;\r\n moduleOb.checkShapes = checkShapes;\r\n moduleOb.completeLayers = completeLayers;\r\n\r\n return moduleOb;\r\n}\r\n\r\nvar dataManager = dataFunctionManager();\r\n\r\n/* exported getFontProperties */\r\n\r\nfunction getFontProperties(fontData) {\r\n var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];\r\n\r\n var fWeight = 'normal'; var\r\n fStyle = 'normal';\r\n var len = styles.length;\r\n var styleName;\r\n for (var i = 0; i < len; i += 1) {\r\n styleName = styles[i].toLowerCase();\r\n switch (styleName) {\r\n case 'italic':\r\n fStyle = 'italic';\r\n break;\r\n case 'bold':\r\n fWeight = '700';\r\n break;\r\n case 'black':\r\n fWeight = '900';\r\n break;\r\n case 'medium':\r\n fWeight = '500';\r\n break;\r\n case 'regular':\r\n case 'normal':\r\n fWeight = '400';\r\n break;\r\n case 'light':\r\n case 'thin':\r\n fWeight = '200';\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n return {\r\n style: fStyle,\r\n weight: fontData.fWeight || fWeight,\r\n };\r\n}\r\n\r\n/* global createNS, createTag, getFontProperties */\r\n/* exported FontManager */\r\n\r\nvar FontManager = (function () {\r\n var maxWaitingTime = 5000;\r\n var emptyChar = {\r\n w: 0,\r\n size: 0,\r\n shapes: [],\r\n };\r\n var combinedCharacters = [];\r\n // Hindi characters\r\n combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366,\r\n 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379,\r\n 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\r\n\r\n var surrogateModifiers = [\r\n 'd83cdffb',\r\n 'd83cdffc',\r\n 'd83cdffd',\r\n 'd83cdffe',\r\n 'd83cdfff',\r\n ];\r\n\r\n var zeroWidthJoiner = [65039, 8205];\r\n\r\n function trimFontOptions(font) {\r\n var familyArray = font.split(',');\r\n var i;\r\n var len = familyArray.length;\r\n var enabledFamilies = [];\r\n for (i = 0; i < len; i += 1) {\r\n if (familyArray[i] !== 'sans-serif' && familyArray[i] !== 'monospace') {\r\n enabledFamilies.push(familyArray[i]);\r\n }\r\n }\r\n return enabledFamilies.join(',');\r\n }\r\n\r\n function setUpNode(font, family) {\r\n var parentNode = createTag('span');\r\n // Node is invisible to screen readers.\r\n parentNode.setAttribute('aria-hidden', true);\r\n parentNode.style.fontFamily = family;\r\n var node = createTag('span');\r\n // Characters that vary significantly among different fonts\r\n node.innerText = 'giItT1WQy@!-/#';\r\n // Visible - so we can measure it - but not on the screen\r\n parentNode.style.position = 'absolute';\r\n parentNode.style.left = '-10000px';\r\n parentNode.style.top = '-10000px';\r\n // Large font size makes even subtle changes obvious\r\n parentNode.style.fontSize = '300px';\r\n // Reset any font properties\r\n parentNode.style.fontVariant = 'normal';\r\n parentNode.style.fontStyle = 'normal';\r\n parentNode.style.fontWeight = 'normal';\r\n parentNode.style.letterSpacing = '0';\r\n parentNode.appendChild(node);\r\n document.body.appendChild(parentNode);\r\n\r\n // Remember width with no applied web font\r\n var width = node.offsetWidth;\r\n node.style.fontFamily = trimFontOptions(font) + ', ' + family;\r\n return { node: node, w: width, parent: parentNode };\r\n }\r\n\r\n function checkLoadedFonts() {\r\n var i;\r\n var len = this.fonts.length;\r\n var node;\r\n var w;\r\n var loadedCount = len;\r\n for (i = 0; i < len; i += 1) {\r\n if (this.fonts[i].loaded) {\r\n loadedCount -= 1;\r\n } else if (this.fonts[i].fOrigin === 'n' || this.fonts[i].origin === 0) {\r\n this.fonts[i].loaded = true;\r\n } else {\r\n node = this.fonts[i].monoCase.node;\r\n w = this.fonts[i].monoCase.w;\r\n if (node.offsetWidth !== w) {\r\n loadedCount -= 1;\r\n this.fonts[i].loaded = true;\r\n } else {\r\n node = this.fonts[i].sansCase.node;\r\n w = this.fonts[i].sansCase.w;\r\n if (node.offsetWidth !== w) {\r\n loadedCount -= 1;\r\n this.fonts[i].loaded = true;\r\n }\r\n }\r\n if (this.fonts[i].loaded) {\r\n this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);\r\n this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent);\r\n }\r\n }\r\n }\r\n\r\n if (loadedCount !== 0 && Date.now() - this.initTime < maxWaitingTime) {\r\n setTimeout(this.checkLoadedFontsBinded, 20);\r\n } else {\r\n setTimeout(this.setIsLoadedBinded, 10);\r\n }\r\n }\r\n\r\n function createHelper(def, fontData) {\r\n var tHelper = createNS('text');\r\n tHelper.style.fontSize = '100px';\r\n // tHelper.style.fontFamily = fontData.fFamily;\r\n\r\n var fontProps = getFontProperties(fontData);\r\n tHelper.setAttribute('font-family', fontData.fFamily);\r\n tHelper.setAttribute('font-style', fontProps.style);\r\n tHelper.setAttribute('font-weight', fontProps.weight);\r\n tHelper.textContent = '1';\r\n if (fontData.fClass) {\r\n tHelper.style.fontFamily = 'inherit';\r\n tHelper.setAttribute('class', fontData.fClass);\r\n } else {\r\n tHelper.style.fontFamily = fontData.fFamily;\r\n }\r\n def.appendChild(tHelper);\r\n var tCanvasHelper = createTag('canvas').getContext('2d');\r\n tCanvasHelper.font = fontData.fWeight + ' ' + fontData.fStyle + ' 100px ' + fontData.fFamily;\r\n // tCanvasHelper.font = ' 100px '+ fontData.fFamily;\r\n return tHelper;\r\n }\r\n\r\n function addFonts(fontData, defs) {\r\n if (!fontData) {\r\n this.isLoaded = true;\r\n return;\r\n }\r\n if (this.chars) {\r\n this.isLoaded = true;\r\n this.fonts = fontData.list;\r\n return;\r\n }\r\n\r\n var fontArr = fontData.list;\r\n var i;\r\n var len = fontArr.length;\r\n var _pendingFonts = len;\r\n for (i = 0; i < len; i += 1) {\r\n var shouldLoadFont = true;\r\n var loadedSelector;\r\n var j;\r\n fontArr[i].loaded = false;\r\n fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, 'monospace');\r\n fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, 'sans-serif');\r\n if (!fontArr[i].fPath) {\r\n fontArr[i].loaded = true;\r\n _pendingFonts -= 1;\r\n } else if (fontArr[i].fOrigin === 'p' || fontArr[i].origin === 3) {\r\n loadedSelector = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + fontArr[i].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + fontArr[i].fFamily + '\"]');\r\n\r\n if (loadedSelector.length > 0) {\r\n shouldLoadFont = false;\r\n }\r\n\r\n if (shouldLoadFont) {\r\n var s = createTag('style');\r\n s.setAttribute('f-forigin', fontArr[i].fOrigin);\r\n s.setAttribute('f-origin', fontArr[i].origin);\r\n s.setAttribute('f-family', fontArr[i].fFamily);\r\n s.type = 'text/css';\r\n s.innerText = '@font-face {font-family: ' + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\r\n defs.appendChild(s);\r\n }\r\n } else if (fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1) {\r\n loadedSelector = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]');\r\n\r\n for (j = 0; j < loadedSelector.length; j += 1) {\r\n if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\r\n // Font is already loaded\r\n shouldLoadFont = false;\r\n }\r\n }\r\n\r\n if (shouldLoadFont) {\r\n var l = createTag('link');\r\n l.setAttribute('f-forigin', fontArr[i].fOrigin);\r\n l.setAttribute('f-origin', fontArr[i].origin);\r\n l.type = 'text/css';\r\n l.rel = 'stylesheet';\r\n l.href = fontArr[i].fPath;\r\n document.body.appendChild(l);\r\n }\r\n } else if (fontArr[i].fOrigin === 't' || fontArr[i].origin === 2) {\r\n loadedSelector = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]');\r\n\r\n for (j = 0; j < loadedSelector.length; j += 1) {\r\n if (fontArr[i].fPath === loadedSelector[j].src) {\r\n // Font is already loaded\r\n shouldLoadFont = false;\r\n }\r\n }\r\n\r\n if (shouldLoadFont) {\r\n var sc = createTag('link');\r\n sc.setAttribute('f-forigin', fontArr[i].fOrigin);\r\n sc.setAttribute('f-origin', fontArr[i].origin);\r\n sc.setAttribute('rel', 'stylesheet');\r\n sc.setAttribute('href', fontArr[i].fPath);\r\n defs.appendChild(sc);\r\n }\r\n }\r\n fontArr[i].helper = createHelper(defs, fontArr[i]);\r\n fontArr[i].cache = {};\r\n this.fonts.push(fontArr[i]);\r\n }\r\n if (_pendingFonts === 0) {\r\n this.isLoaded = true;\r\n } else {\r\n // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\r\n // Adding this timeout seems to fix it\r\n setTimeout(this.checkLoadedFonts.bind(this), 100);\r\n }\r\n }\r\n\r\n function addChars(chars) {\r\n if (!chars) {\r\n return;\r\n }\r\n if (!this.chars) {\r\n this.chars = [];\r\n }\r\n var i;\r\n var len = chars.length;\r\n var j;\r\n var jLen = this.chars.length;\r\n var found;\r\n for (i = 0; i < len; i += 1) {\r\n j = 0;\r\n found = false;\r\n while (j < jLen) {\r\n if (this.chars[j].style === chars[i].style && this.chars[j].fFamily === chars[i].fFamily && this.chars[j].ch === chars[i].ch) {\r\n found = true;\r\n }\r\n j += 1;\r\n }\r\n if (!found) {\r\n this.chars.push(chars[i]);\r\n jLen += 1;\r\n }\r\n }\r\n }\r\n\r\n function getCharData(char, style, font) {\r\n var i = 0;\r\n var len = this.chars.length;\r\n while (i < len) {\r\n if (this.chars[i].ch === char && this.chars[i].style === style && this.chars[i].fFamily === font) {\r\n return this.chars[i];\r\n }\r\n i += 1;\r\n }\r\n if (((typeof char === 'string' && char.charCodeAt(0) !== 13) || !char)\r\n && console\r\n && console.warn // eslint-disable-line no-console\r\n && !this._warned\r\n ) {\r\n this._warned = true;\r\n console.warn('Missing character from exported characters list: ', char, style, font); // eslint-disable-line no-console\r\n }\r\n return emptyChar;\r\n }\r\n\r\n function measureText(char, fontName, size) {\r\n var fontData = this.getFontByName(fontName);\r\n var index = char.charCodeAt(0);\r\n if (!fontData.cache[index + 1]) {\r\n var tHelper = fontData.helper;\r\n // Canvas version\r\n // fontData.cache[index] = tHelper.measureText(char).width / 100;\r\n // SVG version\r\n // console.log(tHelper.getBBox().width)\r\n if (char === ' ') {\r\n tHelper.textContent = '|' + char + '|';\r\n var doubleSize = tHelper.getComputedTextLength();\r\n tHelper.textContent = '||';\r\n var singleSize = tHelper.getComputedTextLength();\r\n fontData.cache[index + 1] = (doubleSize - singleSize) / 100;\r\n } else {\r\n tHelper.textContent = char;\r\n fontData.cache[index + 1] = (tHelper.getComputedTextLength()) / 100;\r\n }\r\n }\r\n return fontData.cache[index + 1] * size;\r\n }\r\n\r\n function getFontByName(name) {\r\n var i = 0;\r\n var len = this.fonts.length;\r\n while (i < len) {\r\n if (this.fonts[i].fName === name) {\r\n return this.fonts[i];\r\n }\r\n i += 1;\r\n }\r\n return this.fonts[0];\r\n }\r\n\r\n function isModifier(firstCharCode, secondCharCode) {\r\n var sum = firstCharCode.toString(16) + secondCharCode.toString(16);\r\n return surrogateModifiers.indexOf(sum) !== -1;\r\n }\r\n\r\n function isZeroWidthJoiner(firstCharCode, secondCharCode) {\r\n if (!secondCharCode) {\r\n return firstCharCode === zeroWidthJoiner[1];\r\n }\r\n return firstCharCode === zeroWidthJoiner[0] && secondCharCode === zeroWidthJoiner[1];\r\n }\r\n\r\n function isCombinedCharacter(char) {\r\n return combinedCharacters.indexOf(char) !== -1;\r\n }\r\n\r\n function setIsLoaded() {\r\n this.isLoaded = true;\r\n }\r\n\r\n var Font = function () {\r\n this.fonts = [];\r\n this.chars = null;\r\n this.typekitLoaded = 0;\r\n this.isLoaded = false;\r\n this._warned = false;\r\n this.initTime = Date.now();\r\n this.setIsLoadedBinded = this.setIsLoaded.bind(this);\r\n this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\r\n };\r\n Font.isModifier = isModifier;\r\n Font.isZeroWidthJoiner = isZeroWidthJoiner;\r\n Font.isCombinedCharacter = isCombinedCharacter;\r\n\r\n var fontPrototype = {\r\n addChars: addChars,\r\n addFonts: addFonts,\r\n getCharData: getCharData,\r\n getFontByName: getFontByName,\r\n measureText: measureText,\r\n checkLoadedFonts: checkLoadedFonts,\r\n setIsLoaded: setIsLoaded,\r\n };\r\n\r\n Font.prototype = fontPrototype;\r\n\r\n return Font;\r\n}());\r\n\r\n/* global initialDefaultFrame, BezierFactory, degToRads, bez, createTypedArray */\r\n/* exported PropertyFactory */\r\n\r\nvar PropertyFactory = (function () {\r\n var initFrame = initialDefaultFrame;\r\n var mathAbs = Math.abs;\r\n\r\n function interpolateValue(frameNum, caching) {\r\n var offsetTime = this.offsetTime;\r\n var newValue;\r\n if (this.propType === 'multidimensional') {\r\n newValue = createTypedArray('float32', this.pv.length);\r\n }\r\n var iterationIndex = caching.lastIndex;\r\n var i = iterationIndex;\r\n var len = this.keyframes.length - 1;\r\n var flag = true;\r\n var keyData;\r\n var nextKeyData;\r\n\r\n while (flag) {\r\n keyData = this.keyframes[i];\r\n nextKeyData = this.keyframes[i + 1];\r\n if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\r\n if (keyData.h) {\r\n keyData = nextKeyData;\r\n }\r\n iterationIndex = 0;\r\n break;\r\n }\r\n if ((nextKeyData.t - offsetTime) > frameNum) {\r\n iterationIndex = i;\r\n break;\r\n }\r\n if (i < len - 1) {\r\n i += 1;\r\n } else {\r\n iterationIndex = 0;\r\n flag = false;\r\n }\r\n }\r\n\r\n var k;\r\n var kLen;\r\n var perc;\r\n var jLen;\r\n var j;\r\n var fnc;\r\n var nextKeyTime = nextKeyData.t - offsetTime;\r\n var keyTime = keyData.t - offsetTime;\r\n var endValue;\r\n if (keyData.to) {\r\n if (!keyData.bezierData) {\r\n keyData.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\r\n }\r\n var bezierData = keyData.bezierData;\r\n if (frameNum >= nextKeyTime || frameNum < keyTime) {\r\n var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\r\n kLen = bezierData.points[ind].point.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n newValue[k] = bezierData.points[ind].point[k];\r\n }\r\n // caching._lastKeyframeIndex = -1;\r\n } else {\r\n if (keyData.__fnct) {\r\n fnc = keyData.__fnct;\r\n } else {\r\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\r\n keyData.__fnct = fnc;\r\n }\r\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\r\n var distanceInLine = bezierData.segmentLength * perc;\r\n\r\n var segmentPerc;\r\n var addedLength = (caching.lastFrame < frameNum && caching._lastKeyframeIndex === i) ? caching._lastAddedLength : 0;\r\n j = (caching.lastFrame < frameNum && caching._lastKeyframeIndex === i) ? caching._lastPoint : 0;\r\n flag = true;\r\n jLen = bezierData.points.length;\r\n while (flag) {\r\n addedLength += bezierData.points[j].partialLength;\r\n if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\r\n kLen = bezierData.points[j].point.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n newValue[k] = bezierData.points[j].point[k];\r\n }\r\n break;\r\n } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\r\n segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\r\n kLen = bezierData.points[j].point.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\r\n }\r\n break;\r\n }\r\n if (j < jLen - 1) {\r\n j += 1;\r\n } else {\r\n flag = false;\r\n }\r\n }\r\n caching._lastPoint = j;\r\n caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\r\n caching._lastKeyframeIndex = i;\r\n }\r\n } else {\r\n var outX;\r\n var outY;\r\n var inX;\r\n var inY;\r\n var keyValue;\r\n len = keyData.s.length;\r\n endValue = nextKeyData.s || keyData.e;\r\n if (this.sh && keyData.h !== 1) {\r\n if (frameNum >= nextKeyTime) {\r\n newValue[0] = endValue[0];\r\n newValue[1] = endValue[1];\r\n newValue[2] = endValue[2];\r\n } else if (frameNum <= keyTime) {\r\n newValue[0] = keyData.s[0];\r\n newValue[1] = keyData.s[1];\r\n newValue[2] = keyData.s[2];\r\n } else {\r\n var quatStart = createQuaternion(keyData.s);\r\n var quatEnd = createQuaternion(endValue);\r\n var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\r\n quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\r\n }\r\n } else {\r\n for (i = 0; i < len; i += 1) {\r\n if (keyData.h !== 1) {\r\n if (frameNum >= nextKeyTime) {\r\n perc = 1;\r\n } else if (frameNum < keyTime) {\r\n perc = 0;\r\n } else {\r\n if (keyData.o.x.constructor === Array) {\r\n if (!keyData.__fnct) {\r\n keyData.__fnct = [];\r\n }\r\n if (!keyData.__fnct[i]) {\r\n outX = (typeof keyData.o.x[i] === 'undefined') ? keyData.o.x[0] : keyData.o.x[i];\r\n outY = (typeof keyData.o.y[i] === 'undefined') ? keyData.o.y[0] : keyData.o.y[i];\r\n inX = (typeof keyData.i.x[i] === 'undefined') ? keyData.i.x[0] : keyData.i.x[i];\r\n inY = (typeof keyData.i.y[i] === 'undefined') ? keyData.i.y[0] : keyData.i.y[i];\r\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\r\n keyData.__fnct[i] = fnc;\r\n } else {\r\n fnc = keyData.__fnct[i];\r\n }\r\n } else if (!keyData.__fnct) {\r\n outX = keyData.o.x;\r\n outY = keyData.o.y;\r\n inX = keyData.i.x;\r\n inY = keyData.i.y;\r\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\r\n keyData.__fnct = fnc;\r\n } else {\r\n fnc = keyData.__fnct;\r\n }\r\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\r\n }\r\n }\r\n\r\n endValue = nextKeyData.s || keyData.e;\r\n keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\r\n\r\n if (this.propType === 'multidimensional') {\r\n newValue[i] = keyValue;\r\n } else {\r\n newValue = keyValue;\r\n }\r\n }\r\n }\r\n }\r\n caching.lastIndex = iterationIndex;\r\n return newValue;\r\n }\r\n\r\n // based on @Toji's https://github.com/toji/gl-matrix/\r\n function slerp(a, b, t) {\r\n var out = [];\r\n var ax = a[0];\r\n var ay = a[1];\r\n var az = a[2];\r\n var aw = a[3];\r\n var bx = b[0];\r\n var by = b[1];\r\n var bz = b[2];\r\n var bw = b[3];\r\n\r\n var omega;\r\n var cosom;\r\n var sinom;\r\n var scale0;\r\n var scale1;\r\n\r\n cosom = ax * bx + ay * by + az * bz + aw * bw;\r\n if (cosom < 0.0) {\r\n cosom = -cosom;\r\n bx = -bx;\r\n by = -by;\r\n bz = -bz;\r\n bw = -bw;\r\n }\r\n if ((1.0 - cosom) > 0.000001) {\r\n omega = Math.acos(cosom);\r\n sinom = Math.sin(omega);\r\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\r\n scale1 = Math.sin(t * omega) / sinom;\r\n } else {\r\n scale0 = 1.0 - t;\r\n scale1 = t;\r\n }\r\n out[0] = scale0 * ax + scale1 * bx;\r\n out[1] = scale0 * ay + scale1 * by;\r\n out[2] = scale0 * az + scale1 * bz;\r\n out[3] = scale0 * aw + scale1 * bw;\r\n\r\n return out;\r\n }\r\n\r\n function quaternionToEuler(out, quat) {\r\n var qx = quat[0];\r\n var qy = quat[1];\r\n var qz = quat[2];\r\n var qw = quat[3];\r\n var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\r\n var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\r\n var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\r\n out[0] = heading / degToRads;\r\n out[1] = attitude / degToRads;\r\n out[2] = bank / degToRads;\r\n }\r\n\r\n function createQuaternion(values) {\r\n var heading = values[0] * degToRads;\r\n var attitude = values[1] * degToRads;\r\n var bank = values[2] * degToRads;\r\n var c1 = Math.cos(heading / 2);\r\n var c2 = Math.cos(attitude / 2);\r\n var c3 = Math.cos(bank / 2);\r\n var s1 = Math.sin(heading / 2);\r\n var s2 = Math.sin(attitude / 2);\r\n var s3 = Math.sin(bank / 2);\r\n var w = c1 * c2 * c3 - s1 * s2 * s3;\r\n var x = s1 * s2 * c3 + c1 * c2 * s3;\r\n var y = s1 * c2 * c3 + c1 * s2 * s3;\r\n var z = c1 * s2 * c3 - s1 * c2 * s3;\r\n\r\n return [x, y, z, w];\r\n }\r\n\r\n function getValueAtCurrentTime() {\r\n var frameNum = this.comp.renderedFrame - this.offsetTime;\r\n var initTime = this.keyframes[0].t - this.offsetTime;\r\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\r\n if (!(frameNum === this._caching.lastFrame || (this._caching.lastFrame !== initFrame && ((this._caching.lastFrame >= endTime && frameNum >= endTime) || (this._caching.lastFrame < initTime && frameNum < initTime))))) {\r\n if (this._caching.lastFrame >= frameNum) {\r\n this._caching._lastKeyframeIndex = -1;\r\n this._caching.lastIndex = 0;\r\n }\r\n\r\n var renderResult = this.interpolateValue(frameNum, this._caching);\r\n this.pv = renderResult;\r\n }\r\n this._caching.lastFrame = frameNum;\r\n return this.pv;\r\n }\r\n\r\n function setVValue(val) {\r\n var multipliedValue;\r\n if (this.propType === 'unidimensional') {\r\n multipliedValue = val * this.mult;\r\n if (mathAbs(this.v - multipliedValue) > 0.00001) {\r\n this.v = multipliedValue;\r\n this._mdf = true;\r\n }\r\n } else {\r\n var i = 0;\r\n var len = this.v.length;\r\n while (i < len) {\r\n multipliedValue = val[i] * this.mult;\r\n if (mathAbs(this.v[i] - multipliedValue) > 0.00001) {\r\n this.v[i] = multipliedValue;\r\n this._mdf = true;\r\n }\r\n i += 1;\r\n }\r\n }\r\n }\r\n\r\n function processEffectsSequence() {\r\n if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {\r\n return;\r\n }\r\n if (this.lock) {\r\n this.setVValue(this.pv);\r\n return;\r\n }\r\n this.lock = true;\r\n this._mdf = this._isFirstFrame;\r\n var i;\r\n var len = this.effectsSequence.length;\r\n var finalValue = this.kf ? this.pv : this.data.k;\r\n for (i = 0; i < len; i += 1) {\r\n finalValue = this.effectsSequence[i](finalValue);\r\n }\r\n this.setVValue(finalValue);\r\n this._isFirstFrame = false;\r\n this.lock = false;\r\n this.frameId = this.elem.globalData.frameId;\r\n }\r\n\r\n function addEffect(effectFunction) {\r\n this.effectsSequence.push(effectFunction);\r\n this.container.addDynamicProperty(this);\r\n }\r\n\r\n function ValueProperty(elem, data, mult, container) {\r\n this.propType = 'unidimensional';\r\n this.mult = mult || 1;\r\n this.data = data;\r\n this.v = mult ? data.k * mult : data.k;\r\n this.pv = data.k;\r\n this._mdf = false;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.k = false;\r\n this.kf = false;\r\n this.vel = 0;\r\n this.effectsSequence = [];\r\n this._isFirstFrame = true;\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function MultiDimensionalProperty(elem, data, mult, container) {\r\n this.propType = 'multidimensional';\r\n this.mult = mult || 1;\r\n this.data = data;\r\n this._mdf = false;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.k = false;\r\n this.kf = false;\r\n this.frameId = -1;\r\n var i;\r\n var len = data.k.length;\r\n this.v = createTypedArray('float32', len);\r\n this.pv = createTypedArray('float32', len);\r\n this.vel = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n this.v[i] = data.k[i] * this.mult;\r\n this.pv[i] = data.k[i];\r\n }\r\n this._isFirstFrame = true;\r\n this.effectsSequence = [];\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function KeyframedValueProperty(elem, data, mult, container) {\r\n this.propType = 'unidimensional';\r\n this.keyframes = data.k;\r\n this.offsetTime = elem.data.st;\r\n this.frameId = -1;\r\n this._caching = {\r\n lastFrame: initFrame, lastIndex: 0, value: 0, _lastKeyframeIndex: -1,\r\n };\r\n this.k = true;\r\n this.kf = true;\r\n this.data = data;\r\n this.mult = mult || 1;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.v = initFrame;\r\n this.pv = initFrame;\r\n this._isFirstFrame = true;\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.interpolateValue = interpolateValue;\r\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function KeyframedMultidimensionalProperty(elem, data, mult, container) {\r\n this.propType = 'multidimensional';\r\n var i;\r\n var len = data.k.length;\r\n var s;\r\n var e;\r\n var to;\r\n var ti;\r\n for (i = 0; i < len - 1; i += 1) {\r\n if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\r\n s = data.k[i].s;\r\n e = data.k[i + 1].s;\r\n to = data.k[i].to;\r\n ti = data.k[i].ti;\r\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]))) {\r\n data.k[i].to = null;\r\n data.k[i].ti = null;\r\n }\r\n if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\r\n if (s.length === 2 || (s[2] === e[2] && to[2] === 0 && ti[2] === 0)) {\r\n data.k[i].to = null;\r\n data.k[i].ti = null;\r\n }\r\n }\r\n }\r\n }\r\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\r\n this.data = data;\r\n this.keyframes = data.k;\r\n this.offsetTime = elem.data.st;\r\n this.k = true;\r\n this.kf = true;\r\n this._isFirstFrame = true;\r\n this.mult = mult || 1;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.interpolateValue = interpolateValue;\r\n this.frameId = -1;\r\n var arrLen = data.k[0].s.length;\r\n this.v = createTypedArray('float32', arrLen);\r\n this.pv = createTypedArray('float32', arrLen);\r\n for (i = 0; i < arrLen; i += 1) {\r\n this.v[i] = initFrame;\r\n this.pv[i] = initFrame;\r\n }\r\n this._caching = { lastFrame: initFrame, lastIndex: 0, value: createTypedArray('float32', arrLen) };\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function getProp(elem, data, type, mult, container) {\r\n var p;\r\n if (!data.k.length) {\r\n p = new ValueProperty(elem, data, mult, container);\r\n } else if (typeof (data.k[0]) === 'number') {\r\n p = new MultiDimensionalProperty(elem, data, mult, container);\r\n } else {\r\n switch (type) {\r\n case 0:\r\n p = new KeyframedValueProperty(elem, data, mult, container);\r\n break;\r\n case 1:\r\n p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n if (p.effectsSequence.length) {\r\n container.addDynamicProperty(p);\r\n }\r\n return p;\r\n }\r\n\r\n var ob = {\r\n getProp: getProp,\r\n };\r\n return ob;\r\n}());\r\n\r\n/* global Matrix, degToRads, PropertyFactory, extendPrototype, DynamicPropertyContainer */\r\n/* exported TransformPropertyFactory */\r\n\r\nvar TransformPropertyFactory = (function () {\r\n var defaultVector = [0, 0];\r\n\r\n function applyToMatrix(mat) {\r\n var _mdf = this._mdf;\r\n this.iterateDynamicProperties();\r\n this._mdf = this._mdf || _mdf;\r\n if (this.a) {\r\n mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\r\n }\r\n if (this.s) {\r\n mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\r\n }\r\n if (this.sk) {\r\n mat.skewFromAxis(-this.sk.v, this.sa.v);\r\n }\r\n if (this.r) {\r\n mat.rotate(-this.r.v);\r\n } else {\r\n mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2])\r\n .rotateY(this.or.v[1])\r\n .rotateX(this.or.v[0]);\r\n }\r\n if (this.data.p.s) {\r\n if (this.data.p.z) {\r\n mat.translate(this.px.v, this.py.v, -this.pz.v);\r\n } else {\r\n mat.translate(this.px.v, this.py.v, 0);\r\n }\r\n } else {\r\n mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\r\n }\r\n }\r\n function processKeys(forceRender) {\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n }\r\n if (this._isDirty) {\r\n this.precalculateMatrix();\r\n this._isDirty = false;\r\n }\r\n\r\n this.iterateDynamicProperties();\r\n\r\n if (this._mdf || forceRender) {\r\n var frameRate;\r\n this.v.cloneFromProps(this.pre.props);\r\n if (this.appliedTransformations < 1) {\r\n this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\r\n }\r\n if (this.appliedTransformations < 2) {\r\n this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\r\n }\r\n if (this.sk && this.appliedTransformations < 3) {\r\n this.v.skewFromAxis(-this.sk.v, this.sa.v);\r\n }\r\n if (this.r && this.appliedTransformations < 4) {\r\n this.v.rotate(-this.r.v);\r\n } else if (!this.r && this.appliedTransformations < 4) {\r\n this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2])\r\n .rotateY(this.or.v[1])\r\n .rotateX(this.or.v[0]);\r\n }\r\n if (this.autoOriented) {\r\n var v1;\r\n var v2;\r\n frameRate = this.elem.globalData.frameRate;\r\n if (this.p && this.p.keyframes && this.p.getValueAtTime) {\r\n if (this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t) {\r\n v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate, 0);\r\n v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);\r\n } else if (this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {\r\n v1 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t / frameRate), 0);\r\n v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);\r\n } else {\r\n v1 = this.p.pv;\r\n v2 = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);\r\n }\r\n } else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\r\n v1 = [];\r\n v2 = [];\r\n var px = this.px;\r\n var py = this.py;\r\n if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\r\n v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\r\n v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\r\n v2[0] = px.getValueAtTime((px.keyframes[0].t) / frameRate, 0);\r\n v2[1] = py.getValueAtTime((py.keyframes[0].t) / frameRate, 0);\r\n } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\r\n v1[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t / frameRate), 0);\r\n v1[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t / frameRate), 0);\r\n v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\r\n v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\r\n } else {\r\n v1 = [px.pv, py.pv];\r\n v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\r\n v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\r\n }\r\n } else {\r\n v2 = defaultVector;\r\n v1 = v2;\r\n }\r\n this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\r\n }\r\n if (this.data.p && this.data.p.s) {\r\n if (this.data.p.z) {\r\n this.v.translate(this.px.v, this.py.v, -this.pz.v);\r\n } else {\r\n this.v.translate(this.px.v, this.py.v, 0);\r\n }\r\n } else {\r\n this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\r\n }\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n }\r\n\r\n function precalculateMatrix() {\r\n if (!this.a.k) {\r\n this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\r\n this.appliedTransformations = 1;\r\n } else {\r\n return;\r\n }\r\n if (!this.s.effectsSequence.length) {\r\n this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\r\n this.appliedTransformations = 2;\r\n } else {\r\n return;\r\n }\r\n if (this.sk) {\r\n if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {\r\n this.pre.skewFromAxis(-this.sk.v, this.sa.v);\r\n this.appliedTransformations = 3;\r\n } else {\r\n return;\r\n }\r\n }\r\n if (this.r) {\r\n if (!this.r.effectsSequence.length) {\r\n this.pre.rotate(-this.r.v);\r\n this.appliedTransformations = 4;\r\n }\r\n } else if (!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {\r\n this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2])\r\n .rotateY(this.or.v[1])\r\n .rotateX(this.or.v[0]);\r\n this.appliedTransformations = 4;\r\n }\r\n }\r\n\r\n function autoOrient() {\r\n //\r\n // var prevP = this.getValueAtTime();\r\n }\r\n\r\n function addDynamicProperty(prop) {\r\n this._addDynamicProperty(prop);\r\n this.elem.addDynamicProperty(prop);\r\n this._isDirty = true;\r\n }\r\n\r\n function TransformProperty(elem, data, container) {\r\n this.elem = elem;\r\n this.frameId = -1;\r\n this.propType = 'transform';\r\n this.data = data;\r\n this.v = new Matrix();\r\n // Precalculated matrix with non animated properties\r\n this.pre = new Matrix();\r\n this.appliedTransformations = 0;\r\n this.initDynamicPropertyContainer(container || elem);\r\n if (data.p && data.p.s) {\r\n this.px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this);\r\n this.py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this);\r\n if (data.p.z) {\r\n this.pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this);\r\n }\r\n } else {\r\n this.p = PropertyFactory.getProp(elem, data.p || { k: [0, 0, 0] }, 1, 0, this);\r\n }\r\n if (data.rx) {\r\n this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);\r\n this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);\r\n this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);\r\n if (data.or.k[0].ti) {\r\n var i;\r\n var len = data.or.k.length;\r\n for (i = 0; i < len; i += 1) {\r\n data.or.k[i].to = null;\r\n data.or.k[i].ti = null;\r\n }\r\n }\r\n this.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this);\r\n // sh Indicates it needs to be capped between -180 and 180\r\n this.or.sh = true;\r\n } else {\r\n this.r = PropertyFactory.getProp(elem, data.r || { k: 0 }, 0, degToRads, this);\r\n }\r\n if (data.sk) {\r\n this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this);\r\n this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this);\r\n }\r\n this.a = PropertyFactory.getProp(elem, data.a || { k: [0, 0, 0] }, 1, 0, this);\r\n this.s = PropertyFactory.getProp(elem, data.s || { k: [100, 100, 100] }, 1, 0.01, this);\r\n // 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.\r\n if (data.o) {\r\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\r\n } else {\r\n this.o = { _mdf: false, v: 1 };\r\n }\r\n this._isDirty = true;\r\n if (!this.dynamicProperties.length) {\r\n this.getValue(true);\r\n }\r\n }\r\n\r\n TransformProperty.prototype = {\r\n applyToMatrix: applyToMatrix,\r\n getValue: processKeys,\r\n precalculateMatrix: precalculateMatrix,\r\n autoOrient: autoOrient,\r\n };\r\n\r\n extendPrototype([DynamicPropertyContainer], TransformProperty);\r\n TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\r\n TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\r\n\r\n function getTransformProperty(elem, data, container) {\r\n return new TransformProperty(elem, data, container);\r\n }\r\n\r\n return {\r\n getTransformProperty: getTransformProperty,\r\n };\r\n}());\r\n\r\n/* global createSizedArray, createSizedArray, pointPool */\r\n\r\nfunction ShapePath() {\r\n this.c = false;\r\n this._length = 0;\r\n this._maxLength = 8;\r\n this.v = createSizedArray(this._maxLength);\r\n this.o = createSizedArray(this._maxLength);\r\n this.i = createSizedArray(this._maxLength);\r\n}\r\n\r\nShapePath.prototype.setPathData = function (closed, len) {\r\n this.c = closed;\r\n this.setLength(len);\r\n var i = 0;\r\n while (i < len) {\r\n this.v[i] = pointPool.newElement();\r\n this.o[i] = pointPool.newElement();\r\n this.i[i] = pointPool.newElement();\r\n i += 1;\r\n }\r\n};\r\n\r\nShapePath.prototype.setLength = function (len) {\r\n while (this._maxLength < len) {\r\n this.doubleArrayLength();\r\n }\r\n this._length = len;\r\n};\r\n\r\nShapePath.prototype.doubleArrayLength = function () {\r\n this.v = this.v.concat(createSizedArray(this._maxLength));\r\n this.i = this.i.concat(createSizedArray(this._maxLength));\r\n this.o = this.o.concat(createSizedArray(this._maxLength));\r\n this._maxLength *= 2;\r\n};\r\n\r\nShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\r\n var arr;\r\n this._length = Math.max(this._length, pos + 1);\r\n if (this._length >= this._maxLength) {\r\n this.doubleArrayLength();\r\n }\r\n switch (type) {\r\n case 'v':\r\n arr = this.v;\r\n break;\r\n case 'i':\r\n arr = this.i;\r\n break;\r\n case 'o':\r\n arr = this.o;\r\n break;\r\n default:\r\n arr = [];\r\n break;\r\n }\r\n if (!arr[pos] || (arr[pos] && !replace)) {\r\n arr[pos] = pointPool.newElement();\r\n }\r\n arr[pos][0] = x;\r\n arr[pos][1] = y;\r\n};\r\n\r\nShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\r\n this.setXYAt(vX, vY, 'v', pos, replace);\r\n this.setXYAt(oX, oY, 'o', pos, replace);\r\n this.setXYAt(iX, iY, 'i', pos, replace);\r\n};\r\n\r\nShapePath.prototype.reverse = function () {\r\n var newPath = new ShapePath();\r\n newPath.setPathData(this.c, this._length);\r\n var vertices = this.v;\r\n var outPoints = this.o;\r\n var inPoints = this.i;\r\n var init = 0;\r\n if (this.c) {\r\n newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\r\n init = 1;\r\n }\r\n var cnt = this._length - 1;\r\n var len = this._length;\r\n\r\n var i;\r\n for (i = init; i < len; i += 1) {\r\n newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\r\n cnt -= 1;\r\n }\r\n return newPath;\r\n};\r\n\r\n/* global extendPrototype, roundCorner, BezierFactory, shapePool, degToRads,\r\n shapeCollectionPool, PropertyFactory, bmMin, DynamicPropertyContainer */\r\n/* exported ShapePropertyFactory */\r\n\r\nvar ShapePropertyFactory = (function () {\r\n var initFrame = -999999;\r\n\r\n function interpolateShape(frameNum, previousValue, caching) {\r\n var iterationIndex = caching.lastIndex;\r\n var keyPropS;\r\n var keyPropE;\r\n var isHold;\r\n var j;\r\n var k;\r\n var jLen;\r\n var kLen;\r\n var perc;\r\n var vertexValue;\r\n var kf = this.keyframes;\r\n if (frameNum < kf[0].t - this.offsetTime) {\r\n keyPropS = kf[0].s[0];\r\n isHold = true;\r\n iterationIndex = 0;\r\n } else if (frameNum >= kf[kf.length - 1].t - this.offsetTime) {\r\n keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\r\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 } */\r\n isHold = true;\r\n } else {\r\n var i = iterationIndex;\r\n var len = kf.length - 1;\r\n var flag = true;\r\n var keyData;\r\n var nextKeyData;\r\n while (flag) {\r\n keyData = kf[i];\r\n nextKeyData = kf[i + 1];\r\n if ((nextKeyData.t - this.offsetTime) > frameNum) {\r\n break;\r\n }\r\n if (i < len - 1) {\r\n i += 1;\r\n } else {\r\n flag = false;\r\n }\r\n }\r\n isHold = keyData.h === 1;\r\n iterationIndex = i;\r\n if (!isHold) {\r\n if (frameNum >= nextKeyData.t - this.offsetTime) {\r\n perc = 1;\r\n } else if (frameNum < keyData.t - this.offsetTime) {\r\n perc = 0;\r\n } else {\r\n var fnc;\r\n if (keyData.__fnct) {\r\n fnc = keyData.__fnct;\r\n } else {\r\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\r\n keyData.__fnct = fnc;\r\n }\r\n perc = fnc((frameNum - (keyData.t - this.offsetTime)) / ((nextKeyData.t - this.offsetTime) - (keyData.t - this.offsetTime)));\r\n }\r\n keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\r\n }\r\n keyPropS = keyData.s[0];\r\n }\r\n jLen = previousValue._length;\r\n kLen = keyPropS.i[0].length;\r\n caching.lastIndex = iterationIndex;\r\n\r\n for (j = 0; j < jLen; j += 1) {\r\n for (k = 0; k < kLen; k += 1) {\r\n vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\r\n previousValue.i[j][k] = vertexValue;\r\n vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\r\n previousValue.o[j][k] = vertexValue;\r\n vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\r\n previousValue.v[j][k] = vertexValue;\r\n }\r\n }\r\n }\r\n\r\n function interpolateShapeCurrentTime() {\r\n var frameNum = this.comp.renderedFrame - this.offsetTime;\r\n var initTime = this.keyframes[0].t - this.offsetTime;\r\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\r\n var lastFrame = this._caching.lastFrame;\r\n if (!(lastFrame !== initFrame && ((lastFrame < initTime && frameNum < initTime) || (lastFrame > endTime && frameNum > endTime)))) {\r\n /// /\r\n this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;\r\n this.interpolateShape(frameNum, this.pv, this._caching);\r\n /// /\r\n }\r\n this._caching.lastFrame = frameNum;\r\n return this.pv;\r\n }\r\n\r\n function resetShape() {\r\n this.paths = this.localShapeCollection;\r\n }\r\n\r\n function shapesEqual(shape1, shape2) {\r\n if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\r\n return false;\r\n }\r\n var i;\r\n var len = shape1._length;\r\n for (i = 0; i < len; i += 1) {\r\n if (shape1.v[i][0] !== shape2.v[i][0]\r\n || shape1.v[i][1] !== shape2.v[i][1]\r\n || shape1.o[i][0] !== shape2.o[i][0]\r\n || shape1.o[i][1] !== shape2.o[i][1]\r\n || shape1.i[i][0] !== shape2.i[i][0]\r\n || shape1.i[i][1] !== shape2.i[i][1]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n function setVValue(newPath) {\r\n if (!shapesEqual(this.v, newPath)) {\r\n this.v = shapePool.clone(newPath);\r\n this.localShapeCollection.releaseShapes();\r\n this.localShapeCollection.addShape(this.v);\r\n this._mdf = true;\r\n this.paths = this.localShapeCollection;\r\n }\r\n }\r\n\r\n function processEffectsSequence() {\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n } if (!this.effectsSequence.length) {\r\n this._mdf = false;\r\n return;\r\n }\r\n if (this.lock) {\r\n this.setVValue(this.pv);\r\n return;\r\n }\r\n this.lock = true;\r\n this._mdf = false;\r\n var finalValue;\r\n if (this.kf) {\r\n finalValue = this.pv;\r\n } else if (this.data.ks) {\r\n finalValue = this.data.ks.k;\r\n } else {\r\n finalValue = this.data.pt.k;\r\n }\r\n var i;\r\n var len = this.effectsSequence.length;\r\n for (i = 0; i < len; i += 1) {\r\n finalValue = this.effectsSequence[i](finalValue);\r\n }\r\n this.setVValue(finalValue);\r\n this.lock = false;\r\n this.frameId = this.elem.globalData.frameId;\r\n }\r\n\r\n function ShapeProperty(elem, data, type) {\r\n this.propType = 'shape';\r\n this.comp = elem.comp;\r\n this.container = elem;\r\n this.elem = elem;\r\n this.data = data;\r\n this.k = false;\r\n this.kf = false;\r\n this._mdf = false;\r\n var pathData = type === 3 ? data.pt.k : data.ks.k;\r\n this.v = shapePool.clone(pathData);\r\n this.pv = shapePool.clone(this.v);\r\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\r\n this.paths = this.localShapeCollection;\r\n this.paths.addShape(this.v);\r\n this.reset = resetShape;\r\n this.effectsSequence = [];\r\n }\r\n\r\n function addEffect(effectFunction) {\r\n this.effectsSequence.push(effectFunction);\r\n this.container.addDynamicProperty(this);\r\n }\r\n\r\n ShapeProperty.prototype.interpolateShape = interpolateShape;\r\n ShapeProperty.prototype.getValue = processEffectsSequence;\r\n ShapeProperty.prototype.setVValue = setVValue;\r\n ShapeProperty.prototype.addEffect = addEffect;\r\n\r\n function KeyframedShapeProperty(elem, data, type) {\r\n this.propType = 'shape';\r\n this.comp = elem.comp;\r\n this.elem = elem;\r\n this.container = elem;\r\n this.offsetTime = elem.data.st;\r\n this.keyframes = type === 3 ? data.pt.k : data.ks.k;\r\n this.k = true;\r\n this.kf = true;\r\n var len = this.keyframes[0].s[0].i.length;\r\n this.v = shapePool.newElement();\r\n this.v.setPathData(this.keyframes[0].s[0].c, len);\r\n this.pv = shapePool.clone(this.v);\r\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\r\n this.paths = this.localShapeCollection;\r\n this.paths.addShape(this.v);\r\n this.lastFrame = initFrame;\r\n this.reset = resetShape;\r\n this._caching = { lastFrame: initFrame, lastIndex: 0 };\r\n this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];\r\n }\r\n KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\r\n KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\r\n KeyframedShapeProperty.prototype.setVValue = setVValue;\r\n KeyframedShapeProperty.prototype.addEffect = addEffect;\r\n\r\n var EllShapeProperty = (function () {\r\n var cPoint = roundCorner;\r\n\r\n function EllShapePropertyFactory(elem, data) {\r\n /* this.v = {\r\n v: createSizedArray(4),\r\n i: createSizedArray(4),\r\n o: createSizedArray(4),\r\n c: true\r\n }; */\r\n this.v = shapePool.newElement();\r\n this.v.setPathData(true, 4);\r\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\r\n this.paths = this.localShapeCollection;\r\n this.localShapeCollection.addShape(this.v);\r\n this.d = data.d;\r\n this.elem = elem;\r\n this.comp = elem.comp;\r\n this.frameId = -1;\r\n this.initDynamicPropertyContainer(elem);\r\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\r\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\r\n if (this.dynamicProperties.length) {\r\n this.k = true;\r\n } else {\r\n this.k = false;\r\n this.convertEllToPath();\r\n }\r\n }\r\n\r\n EllShapePropertyFactory.prototype = {\r\n reset: resetShape,\r\n getValue: function () {\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n\r\n if (this._mdf) {\r\n this.convertEllToPath();\r\n }\r\n },\r\n convertEllToPath: function () {\r\n var p0 = this.p.v[0];\r\n var p1 = this.p.v[1];\r\n var s0 = this.s.v[0] / 2;\r\n var s1 = this.s.v[1] / 2;\r\n var _cw = this.d !== 3;\r\n var _v = this.v;\r\n _v.v[0][0] = p0;\r\n _v.v[0][1] = p1 - s1;\r\n _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\r\n _v.v[1][1] = p1;\r\n _v.v[2][0] = p0;\r\n _v.v[2][1] = p1 + s1;\r\n _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\r\n _v.v[3][1] = p1;\r\n _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\r\n _v.i[0][1] = p1 - s1;\r\n _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\r\n _v.i[1][1] = p1 - s1 * cPoint;\r\n _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\r\n _v.i[2][1] = p1 + s1;\r\n _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\r\n _v.i[3][1] = p1 + s1 * cPoint;\r\n _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\r\n _v.o[0][1] = p1 - s1;\r\n _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\r\n _v.o[1][1] = p1 + s1 * cPoint;\r\n _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\r\n _v.o[2][1] = p1 + s1;\r\n _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\r\n _v.o[3][1] = p1 - s1 * cPoint;\r\n },\r\n };\r\n\r\n extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\r\n\r\n return EllShapePropertyFactory;\r\n }());\r\n\r\n var StarShapeProperty = (function () {\r\n function StarShapePropertyFactory(elem, data) {\r\n this.v = shapePool.newElement();\r\n this.v.setPathData(true, 0);\r\n this.elem = elem;\r\n this.comp = elem.comp;\r\n this.data = data;\r\n this.frameId = -1;\r\n this.d = data.d;\r\n this.initDynamicPropertyContainer(elem);\r\n if (data.sy === 1) {\r\n this.ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this);\r\n this.is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this);\r\n this.convertToPath = this.convertStarToPath;\r\n } else {\r\n this.convertToPath = this.convertPolygonToPath;\r\n }\r\n this.pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this);\r\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\r\n this.r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this);\r\n this.or = PropertyFactory.getProp(elem, data.or, 0, 0, this);\r\n this.os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this);\r\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\r\n this.localShapeCollection.addShape(this.v);\r\n this.paths = this.localShapeCollection;\r\n if (this.dynamicProperties.length) {\r\n this.k = true;\r\n } else {\r\n this.k = false;\r\n this.convertToPath();\r\n }\r\n }\r\n\r\n StarShapePropertyFactory.prototype = {\r\n reset: resetShape,\r\n getValue: function () {\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n if (this._mdf) {\r\n this.convertToPath();\r\n }\r\n },\r\n convertStarToPath: function () {\r\n var numPts = Math.floor(this.pt.v) * 2;\r\n var angle = (Math.PI * 2) / numPts;\r\n /* this.v.v.length = numPts;\r\n this.v.i.length = numPts;\r\n this.v.o.length = numPts; */\r\n var longFlag = true;\r\n var longRad = this.or.v;\r\n var shortRad = this.ir.v;\r\n var longRound = this.os.v;\r\n var shortRound = this.is.v;\r\n var longPerimSegment = (2 * Math.PI * longRad) / (numPts * 2);\r\n var shortPerimSegment = (2 * Math.PI * shortRad) / (numPts * 2);\r\n var i;\r\n var rad;\r\n var roundness;\r\n var perimSegment;\r\n var currentAng = -Math.PI / 2;\r\n currentAng += this.r.v;\r\n var dir = this.data.d === 3 ? -1 : 1;\r\n this.v._length = 0;\r\n for (i = 0; i < numPts; i += 1) {\r\n rad = longFlag ? longRad : shortRad;\r\n roundness = longFlag ? longRound : shortRound;\r\n perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\r\n var x = rad * Math.cos(currentAng);\r\n var y = rad * Math.sin(currentAng);\r\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\r\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\r\n x += +this.p.v[0];\r\n y += +this.p.v[1];\r\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\r\n\r\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; */\r\n longFlag = !longFlag;\r\n currentAng += angle * dir;\r\n }\r\n },\r\n convertPolygonToPath: function () {\r\n var numPts = Math.floor(this.pt.v);\r\n var angle = (Math.PI * 2) / numPts;\r\n var rad = this.or.v;\r\n var roundness = this.os.v;\r\n var perimSegment = (2 * Math.PI * rad) / (numPts * 4);\r\n var i;\r\n var currentAng = -Math.PI * 0.5;\r\n var dir = this.data.d === 3 ? -1 : 1;\r\n currentAng += this.r.v;\r\n this.v._length = 0;\r\n for (i = 0; i < numPts; i += 1) {\r\n var x = rad * Math.cos(currentAng);\r\n var y = rad * Math.sin(currentAng);\r\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\r\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\r\n x += +this.p.v[0];\r\n y += +this.p.v[1];\r\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\r\n currentAng += angle * dir;\r\n }\r\n this.paths.length = 0;\r\n this.paths[0] = this.v;\r\n },\r\n\r\n };\r\n extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\r\n\r\n return StarShapePropertyFactory;\r\n }());\r\n\r\n var RectShapeProperty = (function () {\r\n function RectShapePropertyFactory(elem, data) {\r\n this.v = shapePool.newElement();\r\n this.v.c = true;\r\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\r\n this.localShapeCollection.addShape(this.v);\r\n this.paths = this.localShapeCollection;\r\n this.elem = elem;\r\n this.comp = elem.comp;\r\n this.frameId = -1;\r\n this.d = data.d;\r\n this.initDynamicPropertyContainer(elem);\r\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\r\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\r\n this.r = PropertyFactory.getProp(elem, data.r, 0, 0, this);\r\n if (this.dynamicProperties.length) {\r\n this.k = true;\r\n } else {\r\n this.k = false;\r\n this.convertRectToPath();\r\n }\r\n }\r\n\r\n RectShapePropertyFactory.prototype = {\r\n convertRectToPath: function () {\r\n var p0 = this.p.v[0];\r\n var p1 = this.p.v[1];\r\n var v0 = this.s.v[0] / 2;\r\n var v1 = this.s.v[1] / 2;\r\n var round = bmMin(v0, v1, this.r.v);\r\n var cPoint = round * (1 - roundCorner);\r\n this.v._length = 0;\r\n\r\n if (this.d === 2 || this.d === 1) {\r\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\r\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\r\n if (round !== 0) {\r\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\r\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\r\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\r\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\r\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\r\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\r\n } else {\r\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\r\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\r\n }\r\n } else {\r\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\r\n if (round !== 0) {\r\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\r\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\r\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\r\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\r\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\r\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\r\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\r\n } else {\r\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\r\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\r\n this.v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\r\n }\r\n }\r\n },\r\n getValue: function () {\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n if (this._mdf) {\r\n this.convertRectToPath();\r\n }\r\n },\r\n reset: resetShape,\r\n };\r\n extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\r\n\r\n return RectShapePropertyFactory;\r\n }());\r\n\r\n function getShapeProp(elem, data, type) {\r\n var prop;\r\n if (type === 3 || type === 4) {\r\n var dataProp = type === 3 ? data.pt : data.ks;\r\n var keys = dataProp.k;\r\n if (keys.length) {\r\n prop = new KeyframedShapeProperty(elem, data, type);\r\n } else {\r\n prop = new ShapeProperty(elem, data, type);\r\n }\r\n } else if (type === 5) {\r\n prop = new RectShapeProperty(elem, data);\r\n } else if (type === 6) {\r\n prop = new EllShapeProperty(elem, data);\r\n } else if (type === 7) {\r\n prop = new StarShapeProperty(elem, data);\r\n }\r\n if (prop.k) {\r\n elem.addDynamicProperty(prop);\r\n }\r\n return prop;\r\n }\r\n\r\n function getConstructorFunction() {\r\n return ShapeProperty;\r\n }\r\n\r\n function getKeyframedConstructorFunction() {\r\n return KeyframedShapeProperty;\r\n }\r\n\r\n var ob = {};\r\n ob.getShapeProp = getShapeProp;\r\n ob.getConstructorFunction = getConstructorFunction;\r\n ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\r\n return ob;\r\n}());\r\n\r\n/* global shapeCollectionPool, initialDefaultFrame, extendPrototype, DynamicPropertyContainer */\r\n/* exported ShapeModifiers */\r\n\r\nvar ShapeModifiers = (function () {\r\n var ob = {};\r\n var modifiers = {};\r\n ob.registerModifier = registerModifier;\r\n ob.getModifier = getModifier;\r\n\r\n function registerModifier(nm, factory) {\r\n if (!modifiers[nm]) {\r\n modifiers[nm] = factory;\r\n }\r\n }\r\n\r\n function getModifier(nm, elem, data) {\r\n return new modifiers[nm](elem, data);\r\n }\r\n\r\n return ob;\r\n}());\r\n\r\nfunction ShapeModifier() {}\r\nShapeModifier.prototype.initModifierProperties = function () {};\r\nShapeModifier.prototype.addShapeToModifier = function () {};\r\nShapeModifier.prototype.addShape = function (data) {\r\n if (!this.closed) {\r\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.\r\n data.sh.container.addDynamicProperty(data.sh);\r\n var shapeData = { shape: data.sh, data: data, localShapeCollection: shapeCollectionPool.newShapeCollection() };\r\n this.shapes.push(shapeData);\r\n this.addShapeToModifier(shapeData);\r\n if (this._isAnimated) {\r\n data.setAsAnimated();\r\n }\r\n }\r\n};\r\nShapeModifier.prototype.init = function (elem, data) {\r\n this.shapes = [];\r\n this.elem = elem;\r\n this.initDynamicPropertyContainer(elem);\r\n this.initModifierProperties(elem, data);\r\n this.frameId = initialDefaultFrame;\r\n this.closed = false;\r\n this.k = false;\r\n if (this.dynamicProperties.length) {\r\n this.k = true;\r\n } else {\r\n this.getValue(true);\r\n }\r\n};\r\nShapeModifier.prototype.processKeys = function () {\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n};\r\n\r\nextendPrototype([DynamicPropertyContainer], ShapeModifier);\r\n\r\n/* global extendPrototype, ShapeModifier, PropertyFactory, segmentsLengthPool, bez, shapePool, ShapeModifiers */\r\n\r\nfunction TrimModifier() {\r\n}\r\nextendPrototype([ShapeModifier], TrimModifier);\r\nTrimModifier.prototype.initModifierProperties = function (elem, data) {\r\n this.s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this);\r\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this);\r\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0, this);\r\n this.sValue = 0;\r\n this.eValue = 0;\r\n this.getValue = this.processKeys;\r\n this.m = data.m;\r\n this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\r\n};\r\n\r\nTrimModifier.prototype.addShapeToModifier = function (shapeData) {\r\n shapeData.pathsData = [];\r\n};\r\n\r\nTrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\r\n var segments = [];\r\n if (e <= 1) {\r\n segments.push({\r\n s: s,\r\n e: e,\r\n });\r\n } else if (s >= 1) {\r\n segments.push({\r\n s: s - 1,\r\n e: e - 1,\r\n });\r\n } else {\r\n segments.push({\r\n s: s,\r\n e: 1,\r\n });\r\n segments.push({\r\n s: 0,\r\n e: e - 1,\r\n });\r\n }\r\n var shapeSegments = [];\r\n var i;\r\n var len = segments.length;\r\n var segmentOb;\r\n for (i = 0; i < len; i += 1) {\r\n segmentOb = segments[i];\r\n if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\r\n var shapeS;\r\n var shapeE;\r\n if (segmentOb.s * totalModifierLength <= addedLength) {\r\n shapeS = 0;\r\n } else {\r\n shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\r\n }\r\n if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\r\n shapeE = 1;\r\n } else {\r\n shapeE = ((segmentOb.e * totalModifierLength - addedLength) / shapeLength);\r\n }\r\n shapeSegments.push([shapeS, shapeE]);\r\n }\r\n }\r\n if (!shapeSegments.length) {\r\n shapeSegments.push([0, 0]);\r\n }\r\n return shapeSegments;\r\n};\r\n\r\nTrimModifier.prototype.releasePathsData = function (pathsData) {\r\n var i;\r\n var len = pathsData.length;\r\n for (i = 0; i < len; i += 1) {\r\n segmentsLengthPool.release(pathsData[i]);\r\n }\r\n pathsData.length = 0;\r\n return pathsData;\r\n};\r\n\r\nTrimModifier.prototype.processShapes = function (_isFirstFrame) {\r\n var s;\r\n var e;\r\n if (this._mdf || _isFirstFrame) {\r\n var o = (this.o.v % 360) / 360;\r\n if (o < 0) {\r\n o += 1;\r\n }\r\n if (this.s.v > 1) {\r\n s = 1 + o;\r\n } else if (this.s.v < 0) {\r\n s = 0 + o;\r\n } else {\r\n s = this.s.v + o;\r\n }\r\n if (this.e.v > 1) {\r\n e = 1 + o;\r\n } else if (this.e.v < 0) {\r\n e = 0 + o;\r\n } else {\r\n e = this.e.v + o;\r\n }\r\n\r\n if (s > e) {\r\n var _s = s;\r\n s = e;\r\n e = _s;\r\n }\r\n s = Math.round(s * 10000) * 0.0001;\r\n e = Math.round(e * 10000) * 0.0001;\r\n this.sValue = s;\r\n this.eValue = e;\r\n } else {\r\n s = this.sValue;\r\n e = this.eValue;\r\n }\r\n var shapePaths;\r\n var i;\r\n var len = this.shapes.length;\r\n var j;\r\n var jLen;\r\n var pathsData;\r\n var pathData;\r\n var totalShapeLength;\r\n var totalModifierLength = 0;\r\n\r\n if (e === s) {\r\n for (i = 0; i < len; i += 1) {\r\n this.shapes[i].localShapeCollection.releaseShapes();\r\n this.shapes[i].shape._mdf = true;\r\n this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;\r\n if (this._mdf) {\r\n this.shapes[i].pathsData.length = 0;\r\n }\r\n }\r\n } else if (!((e === 1 && s === 0) || (e === 0 && s === 1))) {\r\n var segments = [];\r\n var shapeData;\r\n var localShapeCollection;\r\n for (i = 0; i < len; i += 1) {\r\n shapeData = this.shapes[i];\r\n // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\r\n if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) {\r\n shapeData.shape.paths = shapeData.localShapeCollection;\r\n } else {\r\n shapePaths = shapeData.shape.paths;\r\n jLen = shapePaths._length;\r\n totalShapeLength = 0;\r\n if (!shapeData.shape._mdf && shapeData.pathsData.length) {\r\n totalShapeLength = shapeData.totalShapeLength;\r\n } else {\r\n pathsData = this.releasePathsData(shapeData.pathsData);\r\n for (j = 0; j < jLen; j += 1) {\r\n pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\r\n pathsData.push(pathData);\r\n totalShapeLength += pathData.totalLength;\r\n }\r\n shapeData.totalShapeLength = totalShapeLength;\r\n shapeData.pathsData = pathsData;\r\n }\r\n\r\n totalModifierLength += totalShapeLength;\r\n shapeData.shape._mdf = true;\r\n }\r\n }\r\n var shapeS = s;\r\n var shapeE = e;\r\n var addedLength = 0;\r\n var edges;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n shapeData = this.shapes[i];\r\n if (shapeData.shape._mdf) {\r\n localShapeCollection = shapeData.localShapeCollection;\r\n localShapeCollection.releaseShapes();\r\n // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\r\n if (this.m === 2 && len > 1) {\r\n edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\r\n addedLength += shapeData.totalShapeLength;\r\n } else {\r\n edges = [[shapeS, shapeE]];\r\n }\r\n jLen = edges.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n shapeS = edges[j][0];\r\n shapeE = edges[j][1];\r\n segments.length = 0;\r\n if (shapeE <= 1) {\r\n segments.push({\r\n s: shapeData.totalShapeLength * shapeS,\r\n e: shapeData.totalShapeLength * shapeE,\r\n });\r\n } else if (shapeS >= 1) {\r\n segments.push({\r\n s: shapeData.totalShapeLength * (shapeS - 1),\r\n e: shapeData.totalShapeLength * (shapeE - 1),\r\n });\r\n } else {\r\n segments.push({\r\n s: shapeData.totalShapeLength * shapeS,\r\n e: shapeData.totalShapeLength,\r\n });\r\n segments.push({\r\n s: 0,\r\n e: shapeData.totalShapeLength * (shapeE - 1),\r\n });\r\n }\r\n var newShapesData = this.addShapes(shapeData, segments[0]);\r\n if (segments[0].s !== segments[0].e) {\r\n if (segments.length > 1) {\r\n var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\r\n if (lastShapeInCollection.c) {\r\n var lastShape = newShapesData.pop();\r\n this.addPaths(newShapesData, localShapeCollection);\r\n newShapesData = this.addShapes(shapeData, segments[1], lastShape);\r\n } else {\r\n this.addPaths(newShapesData, localShapeCollection);\r\n newShapesData = this.addShapes(shapeData, segments[1]);\r\n }\r\n }\r\n this.addPaths(newShapesData, localShapeCollection);\r\n }\r\n }\r\n shapeData.shape.paths = localShapeCollection;\r\n }\r\n }\r\n } else if (this._mdf) {\r\n for (i = 0; i < len; i += 1) {\r\n // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\r\n // Don't remove this even if it's losing cached info.\r\n this.shapes[i].pathsData.length = 0;\r\n this.shapes[i].shape._mdf = true;\r\n }\r\n }\r\n};\r\n\r\nTrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\r\n var i;\r\n var len = newPaths.length;\r\n for (i = 0; i < len; i += 1) {\r\n localShapeCollection.addShape(newPaths[i]);\r\n }\r\n};\r\n\r\nTrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\r\n shapePath.setXYAt(pt2[0], pt2[1], 'o', pos);\r\n shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1);\r\n if (newShape) {\r\n shapePath.setXYAt(pt1[0], pt1[1], 'v', pos);\r\n }\r\n shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1);\r\n};\r\n\r\nTrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\r\n shapePath.setXYAt(points[1], points[5], 'o', pos);\r\n shapePath.setXYAt(points[2], points[6], 'i', pos + 1);\r\n if (newShape) {\r\n shapePath.setXYAt(points[0], points[4], 'v', pos);\r\n }\r\n shapePath.setXYAt(points[3], points[7], 'v', pos + 1);\r\n};\r\n\r\nTrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\r\n var pathsData = shapeData.pathsData;\r\n var shapePaths = shapeData.shape.paths.shapes;\r\n var i;\r\n var len = shapeData.shape.paths._length;\r\n var j;\r\n var jLen;\r\n var addedLength = 0;\r\n var currentLengthData;\r\n var segmentCount;\r\n var lengths;\r\n var segment;\r\n var shapes = [];\r\n var initPos;\r\n var newShape = true;\r\n if (!shapePath) {\r\n shapePath = shapePool.newElement();\r\n segmentCount = 0;\r\n initPos = 0;\r\n } else {\r\n segmentCount = shapePath._length;\r\n initPos = shapePath._length;\r\n }\r\n shapes.push(shapePath);\r\n for (i = 0; i < len; i += 1) {\r\n lengths = pathsData[i].lengths;\r\n shapePath.c = shapePaths[i].c;\r\n jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\r\n for (j = 1; j < jLen; j += 1) {\r\n currentLengthData = lengths[j - 1];\r\n if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\r\n addedLength += currentLengthData.addedLength;\r\n shapePath.c = false;\r\n } else if (addedLength > shapeSegment.e) {\r\n shapePath.c = false;\r\n break;\r\n } else {\r\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\r\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\r\n newShape = false;\r\n } else {\r\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]);\r\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape);\r\n // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\r\n newShape = false;\r\n shapePath.c = false;\r\n }\r\n addedLength += currentLengthData.addedLength;\r\n segmentCount += 1;\r\n }\r\n }\r\n if (shapePaths[i].c && lengths.length) {\r\n currentLengthData = lengths[j - 1];\r\n if (addedLength <= shapeSegment.e) {\r\n var segmentLength = lengths[j - 1].addedLength;\r\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\r\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\r\n newShape = false;\r\n } else {\r\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]);\r\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape);\r\n // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\r\n newShape = false;\r\n shapePath.c = false;\r\n }\r\n } else {\r\n shapePath.c = false;\r\n }\r\n addedLength += currentLengthData.addedLength;\r\n segmentCount += 1;\r\n }\r\n if (shapePath._length) {\r\n shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos);\r\n shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], 'o', shapePath._length - 1);\r\n }\r\n if (addedLength > shapeSegment.e) {\r\n break;\r\n }\r\n if (i < len - 1) {\r\n shapePath = shapePool.newElement();\r\n newShape = true;\r\n shapes.push(shapePath);\r\n segmentCount = 0;\r\n }\r\n }\r\n return shapes;\r\n};\r\n\r\nShapeModifiers.registerModifier('tm', TrimModifier);\r\n\r\n/* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, roundCorner, ShapeModifiers */\r\n\r\nfunction RoundCornersModifier() {}\r\nextendPrototype([ShapeModifier], RoundCornersModifier);\r\nRoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\r\n this.getValue = this.processKeys;\r\n this.rd = PropertyFactory.getProp(elem, data.r, 0, null, this);\r\n this._isAnimated = !!this.rd.effectsSequence.length;\r\n};\r\n\r\nRoundCornersModifier.prototype.processPath = function (path, round) {\r\n var clonedPath = shapePool.newElement();\r\n clonedPath.c = path.c;\r\n var i;\r\n var len = path._length;\r\n var currentV;\r\n var currentI;\r\n var currentO;\r\n var closerV;\r\n var distance;\r\n var newPosPerc;\r\n var index = 0;\r\n var vX;\r\n var vY;\r\n var oX;\r\n var oY;\r\n var iX;\r\n var iY;\r\n for (i = 0; i < len; i += 1) {\r\n currentV = path.v[i];\r\n currentO = path.o[i];\r\n currentI = path.i[i];\r\n if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\r\n if ((i === 0 || i === len - 1) && !path.c) {\r\n clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\r\n /* clonedPath.v[index] = currentV;\r\n clonedPath.o[index] = currentO;\r\n clonedPath.i[index] = currentI; */\r\n index += 1;\r\n } else {\r\n if (i === 0) {\r\n closerV = path.v[len - 1];\r\n } else {\r\n closerV = path.v[i - 1];\r\n }\r\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\r\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\r\n iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\r\n vX = iX;\r\n iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\r\n vY = iY;\r\n oX = vX - (vX - currentV[0]) * roundCorner;\r\n oY = vY - (vY - currentV[1]) * roundCorner;\r\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\r\n index += 1;\r\n\r\n if (i === len - 1) {\r\n closerV = path.v[0];\r\n } else {\r\n closerV = path.v[i + 1];\r\n }\r\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\r\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\r\n oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\r\n vX = oX;\r\n oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\r\n vY = oY;\r\n iX = vX - (vX - currentV[0]) * roundCorner;\r\n iY = vY - (vY - currentV[1]) * roundCorner;\r\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\r\n index += 1;\r\n }\r\n } else {\r\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);\r\n index += 1;\r\n }\r\n }\r\n return clonedPath;\r\n};\r\n\r\nRoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\r\n var shapePaths;\r\n var i;\r\n var len = this.shapes.length;\r\n var j;\r\n var jLen;\r\n var rd = this.rd.v;\r\n\r\n if (rd !== 0) {\r\n var shapeData;\r\n var localShapeCollection;\r\n for (i = 0; i < len; i += 1) {\r\n shapeData = this.shapes[i];\r\n localShapeCollection = shapeData.localShapeCollection;\r\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\r\n localShapeCollection.releaseShapes();\r\n shapeData.shape._mdf = true;\r\n shapePaths = shapeData.shape.paths.shapes;\r\n jLen = shapeData.shape.paths._length;\r\n for (j = 0; j < jLen; j += 1) {\r\n localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\r\n }\r\n }\r\n shapeData.shape.paths = shapeData.localShapeCollection;\r\n }\r\n }\r\n if (!this.dynamicProperties.length) {\r\n this._mdf = false;\r\n }\r\n};\r\n\r\nShapeModifiers.registerModifier('rd', RoundCornersModifier);\r\n\r\n/* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, ShapeModifiers */\r\n\r\nfunction PuckerAndBloatModifier() {}\r\nextendPrototype([ShapeModifier], PuckerAndBloatModifier);\r\nPuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\r\n this.getValue = this.processKeys;\r\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\r\n this._isAnimated = !!this.amount.effectsSequence.length;\r\n};\r\n\r\nPuckerAndBloatModifier.prototype.processPath = function (path, amount) {\r\n var percent = amount / 100;\r\n var centerPoint = [0, 0];\r\n var pathLength = path._length;\r\n var i = 0;\r\n for (i = 0; i < pathLength; i += 1) {\r\n centerPoint[0] += path.v[i][0];\r\n centerPoint[1] += path.v[i][1];\r\n }\r\n centerPoint[0] /= pathLength;\r\n centerPoint[1] /= pathLength;\r\n var clonedPath = shapePool.newElement();\r\n clonedPath.c = path.c;\r\n var vX;\r\n var vY;\r\n var oX;\r\n var oY;\r\n var iX;\r\n var iY;\r\n for (i = 0; i < pathLength; i += 1) {\r\n vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\r\n vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\r\n oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\r\n oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\r\n iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\r\n iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\r\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\r\n }\r\n return clonedPath;\r\n};\r\n\r\nPuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\r\n var shapePaths;\r\n var i;\r\n var len = this.shapes.length;\r\n var j;\r\n var jLen;\r\n var amount = this.amount.v;\r\n\r\n if (amount !== 0) {\r\n var shapeData;\r\n var localShapeCollection;\r\n for (i = 0; i < len; i += 1) {\r\n shapeData = this.shapes[i];\r\n localShapeCollection = shapeData.localShapeCollection;\r\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\r\n localShapeCollection.releaseShapes();\r\n shapeData.shape._mdf = true;\r\n shapePaths = shapeData.shape.paths.shapes;\r\n jLen = shapeData.shape.paths._length;\r\n for (j = 0; j < jLen; j += 1) {\r\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\r\n }\r\n }\r\n shapeData.shape.paths = shapeData.localShapeCollection;\r\n }\r\n }\r\n if (!this.dynamicProperties.length) {\r\n this._mdf = false;\r\n }\r\n};\r\nShapeModifiers.registerModifier('pb', PuckerAndBloatModifier);\r\n\r\n/* global extendPrototype, ShapeModifier, TransformPropertyFactory, PropertyFactory, Matrix, ShapeModifiers */\r\n\r\nfunction RepeaterModifier() {}\r\nextendPrototype([ShapeModifier], RepeaterModifier);\r\n\r\nRepeaterModifier.prototype.initModifierProperties = function (elem, data) {\r\n this.getValue = this.processKeys;\r\n this.c = PropertyFactory.getProp(elem, data.c, 0, null, this);\r\n this.o = PropertyFactory.getProp(elem, data.o, 0, null, this);\r\n this.tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this);\r\n this.so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this);\r\n this.eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this);\r\n this.data = data;\r\n if (!this.dynamicProperties.length) {\r\n this.getValue(true);\r\n }\r\n this._isAnimated = !!this.dynamicProperties.length;\r\n this.pMatrix = new Matrix();\r\n this.rMatrix = new Matrix();\r\n this.sMatrix = new Matrix();\r\n this.tMatrix = new Matrix();\r\n this.matrix = new Matrix();\r\n};\r\n\r\nRepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\r\n var dir = inv ? -1 : 1;\r\n var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\r\n var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\r\n pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\r\n rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\r\n rMatrix.rotate(-transform.r.v * dir * perc);\r\n rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\r\n sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\r\n sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\r\n sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\r\n};\r\n\r\nRepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\r\n this.elem = elem;\r\n this.arr = arr;\r\n this.pos = pos;\r\n this.elemsData = elemsData;\r\n this._currentCopies = 0;\r\n this._elements = [];\r\n this._groups = [];\r\n this.frameId = -1;\r\n this.initDynamicPropertyContainer(elem);\r\n this.initModifierProperties(elem, arr[pos]);\r\n while (pos > 0) {\r\n pos -= 1;\r\n // this._elements.unshift(arr.splice(pos,1)[0]);\r\n this._elements.unshift(arr[pos]);\r\n }\r\n if (this.dynamicProperties.length) {\r\n this.k = true;\r\n } else {\r\n this.getValue(true);\r\n }\r\n};\r\n\r\nRepeaterModifier.prototype.resetElements = function (elements) {\r\n var i;\r\n var len = elements.length;\r\n for (i = 0; i < len; i += 1) {\r\n elements[i]._processed = false;\r\n if (elements[i].ty === 'gr') {\r\n this.resetElements(elements[i].it);\r\n }\r\n }\r\n};\r\n\r\nRepeaterModifier.prototype.cloneElements = function (elements) {\r\n var newElements = JSON.parse(JSON.stringify(elements));\r\n this.resetElements(newElements);\r\n return newElements;\r\n};\r\n\r\nRepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\r\n var i;\r\n var len = elements.length;\r\n for (i = 0; i < len; i += 1) {\r\n elements[i]._render = renderFlag;\r\n if (elements[i].ty === 'gr') {\r\n this.changeGroupRender(elements[i].it, renderFlag);\r\n }\r\n }\r\n};\r\n\r\nRepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\r\n var items;\r\n var itemsTransform;\r\n var i;\r\n var dir;\r\n var cont;\r\n var hasReloaded = false;\r\n if (this._mdf || _isFirstFrame) {\r\n var copies = Math.ceil(this.c.v);\r\n if (this._groups.length < copies) {\r\n while (this._groups.length < copies) {\r\n var group = {\r\n it: this.cloneElements(this._elements),\r\n ty: 'gr',\r\n };\r\n group.it.push({\r\n a: { a: 0, ix: 1, k: [0, 0] }, nm: 'Transform', o: { a: 0, ix: 7, k: 100 }, p: { a: 0, ix: 2, k: [0, 0] }, r: { a: 1, ix: 6, k: [{ s: 0, e: 0, t: 0 }, { s: 0, e: 0, t: 1 }] }, s: { a: 0, ix: 3, k: [100, 100] }, sa: { a: 0, ix: 5, k: 0 }, sk: { a: 0, ix: 4, k: 0 }, ty: 'tr',\r\n });\r\n\r\n this.arr.splice(0, 0, group);\r\n this._groups.splice(0, 0, group);\r\n this._currentCopies += 1;\r\n }\r\n this.elem.reloadShapes();\r\n hasReloaded = true;\r\n }\r\n cont = 0;\r\n var renderFlag;\r\n for (i = 0; i <= this._groups.length - 1; i += 1) {\r\n renderFlag = cont < copies;\r\n this._groups[i]._render = renderFlag;\r\n this.changeGroupRender(this._groups[i].it, renderFlag);\r\n if (!renderFlag) {\r\n var elems = this.elemsData[i].it;\r\n var transformData = elems[elems.length - 1];\r\n if (transformData.transform.op.v !== 0) {\r\n transformData.transform.op._mdf = true;\r\n transformData.transform.op.v = 0;\r\n } else {\r\n transformData.transform.op._mdf = false;\r\n }\r\n }\r\n cont += 1;\r\n }\r\n\r\n this._currentCopies = copies;\r\n /// /\r\n\r\n var offset = this.o.v;\r\n var offsetModulo = offset % 1;\r\n var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\r\n var pProps = this.pMatrix.props;\r\n var rProps = this.rMatrix.props;\r\n var sProps = this.sMatrix.props;\r\n this.pMatrix.reset();\r\n this.rMatrix.reset();\r\n this.sMatrix.reset();\r\n this.tMatrix.reset();\r\n this.matrix.reset();\r\n var iteration = 0;\r\n\r\n if (offset > 0) {\r\n while (iteration < roundOffset) {\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\r\n iteration += 1;\r\n }\r\n if (offsetModulo) {\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, offsetModulo, false);\r\n iteration += offsetModulo;\r\n }\r\n } else if (offset < 0) {\r\n while (iteration > roundOffset) {\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);\r\n iteration -= 1;\r\n }\r\n if (offsetModulo) {\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -offsetModulo, true);\r\n iteration -= offsetModulo;\r\n }\r\n }\r\n i = this.data.m === 1 ? 0 : this._currentCopies - 1;\r\n dir = this.data.m === 1 ? 1 : -1;\r\n cont = this._currentCopies;\r\n var j;\r\n var jLen;\r\n while (cont) {\r\n items = this.elemsData[i].it;\r\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\r\n jLen = itemsTransform.length;\r\n items[items.length - 1].transform.mProps._mdf = true;\r\n items[items.length - 1].transform.op._mdf = true;\r\n items[items.length - 1].transform.op.v = this._currentCopies === 1\r\n ? this.so.v\r\n : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));\r\n\r\n if (iteration !== 0) {\r\n if ((i !== 0 && dir === 1) || (i !== this._currentCopies - 1 && dir === -1)) {\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\r\n }\r\n this.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]);\r\n this.matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\r\n this.matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\r\n\r\n for (j = 0; j < jLen; j += 1) {\r\n itemsTransform[j] = this.matrix.props[j];\r\n }\r\n this.matrix.reset();\r\n } else {\r\n this.matrix.reset();\r\n for (j = 0; j < jLen; j += 1) {\r\n itemsTransform[j] = this.matrix.props[j];\r\n }\r\n }\r\n iteration += 1;\r\n cont -= 1;\r\n i += dir;\r\n }\r\n } else {\r\n cont = this._currentCopies;\r\n i = 0;\r\n dir = 1;\r\n while (cont) {\r\n items = this.elemsData[i].it;\r\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\r\n items[items.length - 1].transform.mProps._mdf = false;\r\n items[items.length - 1].transform.op._mdf = false;\r\n cont -= 1;\r\n i += dir;\r\n }\r\n }\r\n return hasReloaded;\r\n};\r\n\r\nRepeaterModifier.prototype.addShape = function () {};\r\n\r\nShapeModifiers.registerModifier('rp', RepeaterModifier);\r\n\r\n/* global createSizedArray, shapePool */\r\n\r\nfunction ShapeCollection() {\r\n this._length = 0;\r\n this._maxLength = 4;\r\n this.shapes = createSizedArray(this._maxLength);\r\n}\r\n\r\nShapeCollection.prototype.addShape = function (shapeData) {\r\n if (this._length === this._maxLength) {\r\n this.shapes = this.shapes.concat(createSizedArray(this._maxLength));\r\n this._maxLength *= 2;\r\n }\r\n this.shapes[this._length] = shapeData;\r\n this._length += 1;\r\n};\r\n\r\nShapeCollection.prototype.releaseShapes = function () {\r\n var i;\r\n for (i = 0; i < this._length; i += 1) {\r\n shapePool.release(this.shapes[i]);\r\n }\r\n this._length = 0;\r\n};\r\n\r\n/* global createSizedArray, createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\r\n\r\nfunction DashProperty(elem, data, renderer, container) {\r\n this.elem = elem;\r\n this.frameId = -1;\r\n this.dataProps = createSizedArray(data.length);\r\n this.renderer = renderer;\r\n this.k = false;\r\n this.dashStr = '';\r\n this.dashArray = createTypedArray('float32', data.length ? data.length - 1 : 0);\r\n this.dashoffset = createTypedArray('float32', 1);\r\n this.initDynamicPropertyContainer(container);\r\n var i;\r\n var len = data.length || 0;\r\n var prop;\r\n for (i = 0; i < len; i += 1) {\r\n prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this);\r\n this.k = prop.k || this.k;\r\n this.dataProps[i] = { n: data[i].n, p: prop };\r\n }\r\n if (!this.k) {\r\n this.getValue(true);\r\n }\r\n this._isAnimated = this.k;\r\n}\r\n\r\nDashProperty.prototype.getValue = function (forceRender) {\r\n if (this.elem.globalData.frameId === this.frameId && !forceRender) {\r\n return;\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n this._mdf = this._mdf || forceRender;\r\n if (this._mdf) {\r\n var i = 0;\r\n var len = this.dataProps.length;\r\n if (this.renderer === 'svg') {\r\n this.dashStr = '';\r\n }\r\n for (i = 0; i < len; i += 1) {\r\n if (this.dataProps[i].n !== 'o') {\r\n if (this.renderer === 'svg') {\r\n this.dashStr += ' ' + this.dataProps[i].p.v;\r\n } else {\r\n this.dashArray[i] = this.dataProps[i].p.v;\r\n }\r\n } else {\r\n this.dashoffset[0] = this.dataProps[i].p.v;\r\n }\r\n }\r\n }\r\n};\r\nextendPrototype([DynamicPropertyContainer], DashProperty);\r\n\r\n/* global createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\r\nfunction GradientProperty(elem, data, container) {\r\n this.data = data;\r\n this.c = createTypedArray('uint8c', data.p * 4);\r\n var cLength = data.k.k[0].s ? (data.k.k[0].s.length - data.p * 4) : data.k.k.length - data.p * 4;\r\n this.o = createTypedArray('float32', cLength);\r\n this._cmdf = false;\r\n this._omdf = false;\r\n this._collapsable = this.checkCollapsable();\r\n this._hasOpacity = cLength;\r\n this.initDynamicPropertyContainer(container);\r\n this.prop = PropertyFactory.getProp(elem, data.k, 1, null, this);\r\n this.k = this.prop.k;\r\n this.getValue(true);\r\n}\r\n\r\nGradientProperty.prototype.comparePoints = function (values, points) {\r\n var i = 0;\r\n var len = this.o.length / 2;\r\n var diff;\r\n while (i < len) {\r\n diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\r\n if (diff > 0.01) {\r\n return false;\r\n }\r\n i += 1;\r\n }\r\n return true;\r\n};\r\n\r\nGradientProperty.prototype.checkCollapsable = function () {\r\n if (this.o.length / 2 !== this.c.length / 4) {\r\n return false;\r\n }\r\n if (this.data.k.k[0].s) {\r\n var i = 0;\r\n var len = this.data.k.k.length;\r\n while (i < len) {\r\n if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {\r\n return false;\r\n }\r\n i += 1;\r\n }\r\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) {\r\n return false;\r\n }\r\n return true;\r\n};\r\n\r\nGradientProperty.prototype.getValue = function (forceRender) {\r\n this.prop.getValue();\r\n this._mdf = false;\r\n this._cmdf = false;\r\n this._omdf = false;\r\n if (this.prop._mdf || forceRender) {\r\n var i;\r\n var len = this.data.p * 4;\r\n var mult;\r\n var val;\r\n for (i = 0; i < len; i += 1) {\r\n mult = i % 4 === 0 ? 100 : 255;\r\n val = Math.round(this.prop.v[i] * mult);\r\n if (this.c[i] !== val) {\r\n this.c[i] = val;\r\n this._cmdf = !forceRender;\r\n }\r\n }\r\n if (this.o.length) {\r\n len = this.prop.v.length;\r\n for (i = this.data.p * 4; i < len; i += 1) {\r\n mult = i % 2 === 0 ? 100 : 1;\r\n val = i % 2 === 0 ? Math.round(this.prop.v[i] * 100) : this.prop.v[i];\r\n if (this.o[i - this.data.p * 4] !== val) {\r\n this.o[i - this.data.p * 4] = val;\r\n this._omdf = !forceRender;\r\n }\r\n }\r\n }\r\n this._mdf = !forceRender;\r\n }\r\n};\r\n\r\nextendPrototype([DynamicPropertyContainer], GradientProperty);\r\n\r\n/* exported buildShapeString */\r\n\r\nvar buildShapeString = function (pathNodes, length, closed, mat) {\r\n if (length === 0) {\r\n return '';\r\n }\r\n var _o = pathNodes.o;\r\n var _i = pathNodes.i;\r\n var _v = pathNodes.v;\r\n var i;\r\n var shapeString = ' M' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\r\n for (i = 1; i < length; i += 1) {\r\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]);\r\n }\r\n if (closed && length) {\r\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]);\r\n shapeString += 'z';\r\n }\r\n return shapeString;\r\n};\r\n\r\n/* global Howl */\r\n/* exported audioControllerFactory */\r\n\r\nvar audioControllerFactory = (function () {\r\n function AudioController(audioFactory) {\r\n this.audios = [];\r\n this.audioFactory = audioFactory;\r\n this._volume = 1;\r\n this._isMuted = false;\r\n }\r\n\r\n AudioController.prototype = {\r\n addAudio: function (audio) {\r\n this.audios.push(audio);\r\n },\r\n pause: function () {\r\n var i;\r\n var len = this.audios.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.audios[i].pause();\r\n }\r\n },\r\n resume: function () {\r\n var i;\r\n var len = this.audios.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.audios[i].resume();\r\n }\r\n },\r\n setRate: function (rateValue) {\r\n var i;\r\n var len = this.audios.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.audios[i].setRate(rateValue);\r\n }\r\n },\r\n createAudio: function (assetPath) {\r\n if (this.audioFactory) {\r\n return this.audioFactory(assetPath);\r\n } if (Howl) {\r\n return new Howl({\r\n src: [assetPath],\r\n });\r\n }\r\n return {\r\n isPlaying: false,\r\n play: function () { this.isPlaying = true; },\r\n seek: function () { this.isPlaying = false; },\r\n playing: function () {},\r\n rate: function () {},\r\n setVolume: function () {},\r\n };\r\n },\r\n setAudioFactory: function (audioFactory) {\r\n this.audioFactory = audioFactory;\r\n },\r\n setVolume: function (value) {\r\n this._volume = value;\r\n this._updateVolume();\r\n },\r\n mute: function () {\r\n this._isMuted = true;\r\n this._updateVolume();\r\n },\r\n unmute: function () {\r\n this._isMuted = false;\r\n this._updateVolume();\r\n },\r\n getVolume: function () {\r\n return this._volume;\r\n },\r\n _updateVolume: function () {\r\n var i;\r\n var len = this.audios.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.audios[i].volume(this._volume * (this._isMuted ? 0 : 1));\r\n }\r\n },\r\n };\r\n\r\n return function () {\r\n return new AudioController();\r\n };\r\n}());\r\n\r\n/* global createTag, createNS, isSafari, assetLoader */\r\n/* exported ImagePreloader */\r\n\r\nvar ImagePreloader = (function () {\r\n var proxyImage = (function () {\r\n var canvas = createTag('canvas');\r\n canvas.width = 1;\r\n canvas.height = 1;\r\n var ctx = canvas.getContext('2d');\r\n ctx.fillStyle = 'rgba(0,0,0,0)';\r\n ctx.fillRect(0, 0, 1, 1);\r\n return canvas;\r\n }());\r\n\r\n function imageLoaded() {\r\n this.loadedAssets += 1;\r\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\r\n if (this.imagesLoadedCb) {\r\n this.imagesLoadedCb(null);\r\n }\r\n }\r\n }\r\n function footageLoaded() {\r\n this.loadedFootagesCount += 1;\r\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\r\n if (this.imagesLoadedCb) {\r\n this.imagesLoadedCb(null);\r\n }\r\n }\r\n }\r\n\r\n function getAssetsPath(assetData, assetsPath, originalPath) {\r\n var path = '';\r\n if (assetData.e) {\r\n path = assetData.p;\r\n } else if (assetsPath) {\r\n var imagePath = assetData.p;\r\n if (imagePath.indexOf('images/') !== -1) {\r\n imagePath = imagePath.split('/')[1];\r\n }\r\n path = assetsPath + imagePath;\r\n } else {\r\n path = originalPath;\r\n path += assetData.u ? assetData.u : '';\r\n path += assetData.p;\r\n }\r\n return path;\r\n }\r\n\r\n function testImageLoaded(img) {\r\n var _count = 0;\r\n var intervalId = setInterval(function () {\r\n var box = img.getBBox();\r\n if (box.width || _count > 500) {\r\n this._imageLoaded();\r\n clearInterval(intervalId);\r\n }\r\n _count += 1;\r\n }.bind(this), 50);\r\n }\r\n\r\n function createImageData(assetData) {\r\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\r\n var img = createNS('image');\r\n if (isSafari) {\r\n this.testImageLoaded(img);\r\n } else {\r\n img.addEventListener('load', this._imageLoaded, false);\r\n }\r\n img.addEventListener('error', function () {\r\n ob.img = proxyImage;\r\n this._imageLoaded();\r\n }.bind(this), false);\r\n img.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\r\n if (this._elementHelper.append) {\r\n this._elementHelper.append(img);\r\n } else {\r\n this._elementHelper.appendChild(img);\r\n }\r\n var ob = {\r\n img: img,\r\n assetData: assetData,\r\n };\r\n return ob;\r\n }\r\n\r\n function createImgData(assetData) {\r\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\r\n var img = createTag('img');\r\n img.crossOrigin = 'anonymous';\r\n img.addEventListener('load', this._imageLoaded, false);\r\n img.addEventListener('error', function () {\r\n ob.img = proxyImage;\r\n this._imageLoaded();\r\n }.bind(this), false);\r\n img.src = path;\r\n var ob = {\r\n img: img,\r\n assetData: assetData,\r\n };\r\n return ob;\r\n }\r\n\r\n function createFootageData(data) {\r\n var ob = {\r\n assetData: data,\r\n };\r\n var path = getAssetsPath(data, this.assetsPath, this.path);\r\n assetLoader.load(path, function (footageData) {\r\n ob.img = footageData;\r\n this._footageLoaded();\r\n }.bind(this), function () {\r\n ob.img = {};\r\n this._footageLoaded();\r\n }.bind(this));\r\n return ob;\r\n }\r\n\r\n function loadAssets(assets, cb) {\r\n this.imagesLoadedCb = cb;\r\n var i;\r\n var len = assets.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (!assets[i].layers) {\r\n if (!assets[i].t || assets[i].t === 'seq') {\r\n this.totalImages += 1;\r\n this.images.push(this._createImageData(assets[i]));\r\n } else if (assets[i].t === 3) {\r\n this.totalFootages += 1;\r\n this.images.push(this.createFootageData(assets[i]));\r\n }\r\n }\r\n }\r\n }\r\n\r\n function setPath(path) {\r\n this.path = path || '';\r\n }\r\n\r\n function setAssetsPath(path) {\r\n this.assetsPath = path || '';\r\n }\r\n\r\n function getAsset(assetData) {\r\n var i = 0;\r\n var len = this.images.length;\r\n while (i < len) {\r\n if (this.images[i].assetData === assetData) {\r\n return this.images[i].img;\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n }\r\n\r\n function destroy() {\r\n this.imagesLoadedCb = null;\r\n this.images.length = 0;\r\n }\r\n\r\n function loadedImages() {\r\n return this.totalImages === this.loadedAssets;\r\n }\r\n\r\n function loadedFootages() {\r\n return this.totalFootages === this.loadedFootagesCount;\r\n }\r\n\r\n function setCacheType(type, elementHelper) {\r\n if (type === 'svg') {\r\n this._elementHelper = elementHelper;\r\n this._createImageData = this.createImageData.bind(this);\r\n } else {\r\n this._createImageData = this.createImgData.bind(this);\r\n }\r\n }\r\n\r\n function ImagePreloaderFactory() {\r\n this._imageLoaded = imageLoaded.bind(this);\r\n this._footageLoaded = footageLoaded.bind(this);\r\n this.testImageLoaded = testImageLoaded.bind(this);\r\n this.createFootageData = createFootageData.bind(this);\r\n this.assetsPath = '';\r\n this.path = '';\r\n this.totalImages = 0;\r\n this.totalFootages = 0;\r\n this.loadedAssets = 0;\r\n this.loadedFootagesCount = 0;\r\n this.imagesLoadedCb = null;\r\n this.images = [];\r\n }\r\n\r\n ImagePreloaderFactory.prototype = {\r\n loadAssets: loadAssets,\r\n setAssetsPath: setAssetsPath,\r\n setPath: setPath,\r\n loadedImages: loadedImages,\r\n loadedFootages: loadedFootages,\r\n destroy: destroy,\r\n getAsset: getAsset,\r\n createImgData: createImgData,\r\n createImageData: createImageData,\r\n imageLoaded: imageLoaded,\r\n footageLoaded: footageLoaded,\r\n setCacheType: setCacheType,\r\n };\r\n\r\n return ImagePreloaderFactory;\r\n}());\r\n\r\n/* exported featureSupport */\r\n\r\nvar featureSupport = (function () {\r\n var ob = {\r\n maskType: true,\r\n };\r\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)) {\r\n ob.maskType = false;\r\n }\r\n return ob;\r\n}());\r\n\r\n/* global createNS */\r\n/* exported filtersFactory */\r\n\r\nvar filtersFactory = (function () {\r\n var ob = {};\r\n ob.createFilter = createFilter;\r\n ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\r\n\r\n function createFilter(filId, skipCoordinates) {\r\n var fil = createNS('filter');\r\n fil.setAttribute('id', filId);\r\n if (skipCoordinates !== true) {\r\n fil.setAttribute('filterUnits', 'objectBoundingBox');\r\n fil.setAttribute('x', '0%');\r\n fil.setAttribute('y', '0%');\r\n fil.setAttribute('width', '100%');\r\n fil.setAttribute('height', '100%');\r\n }\r\n return fil;\r\n }\r\n\r\n function createAlphaToLuminanceFilter() {\r\n var feColorMatrix = createNS('feColorMatrix');\r\n feColorMatrix.setAttribute('type', 'matrix');\r\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\r\n feColorMatrix.setAttribute('values', '0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1');\r\n return feColorMatrix;\r\n }\r\n\r\n return ob;\r\n}());\r\n\r\n/* exported assetLoader */\r\n\r\nvar assetLoader = (function () {\r\n function formatResponse(xhr) {\r\n if (xhr.response && typeof xhr.response === 'object') {\r\n return xhr.response;\r\n } if (xhr.response && typeof xhr.response === 'string') {\r\n return JSON.parse(xhr.response);\r\n } if (xhr.responseText) {\r\n return JSON.parse(xhr.responseText);\r\n }\r\n return null;\r\n }\r\n\r\n function loadAsset(path, callback, errorCallback) {\r\n var response;\r\n var xhr = new XMLHttpRequest();\r\n // set responseType after calling open or IE will break.\r\n try {\r\n // This crashes on Android WebView prior to KitKat\r\n xhr.responseType = 'json';\r\n } catch (err) {} // eslint-disable-line no-empty\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState === 4) {\r\n if (xhr.status === 200) {\r\n response = formatResponse(xhr);\r\n callback(response);\r\n } else {\r\n try {\r\n response = formatResponse(xhr);\r\n callback(response);\r\n } catch (err) {\r\n if (errorCallback) {\r\n errorCallback(err);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n xhr.open('GET', path, true);\r\n xhr.send();\r\n }\r\n return {\r\n load: loadAsset,\r\n };\r\n}());\r\n\r\n/* global createSizedArray, PropertyFactory, TextAnimatorDataProperty, bez, addHueToRGB,\r\n addSaturationToRGB, addBrightnessToRGB, LetterProps, Matrix, extendPrototype, DynamicPropertyContainer */\r\n\r\nfunction TextAnimatorProperty(textData, renderType, elem) {\r\n this._isFirstFrame = true;\r\n this._hasMaskedPath = false;\r\n this._frameId = -1;\r\n this._textData = textData;\r\n this._renderType = renderType;\r\n this._elem = elem;\r\n this._animatorsData = createSizedArray(this._textData.a.length);\r\n this._pathData = {};\r\n this._moreOptions = {\r\n alignment: {},\r\n };\r\n this.renderedLetters = [];\r\n this.lettersChangedFlag = false;\r\n this.initDynamicPropertyContainer(elem);\r\n}\r\n\r\nTextAnimatorProperty.prototype.searchProperties = function () {\r\n var i;\r\n var len = this._textData.a.length;\r\n var animatorProps;\r\n var getProp = PropertyFactory.getProp;\r\n for (i = 0; i < len; i += 1) {\r\n animatorProps = this._textData.a[i];\r\n this._animatorsData[i] = new TextAnimatorDataProperty(this._elem, animatorProps, this);\r\n }\r\n if (this._textData.p && 'm' in this._textData.p) {\r\n this._pathData = {\r\n a: getProp(this._elem, this._textData.p.a, 0, 0, this),\r\n f: getProp(this._elem, this._textData.p.f, 0, 0, this),\r\n l: getProp(this._elem, this._textData.p.l, 0, 0, this),\r\n r: getProp(this._elem, this._textData.p.r, 0, 0, this),\r\n p: getProp(this._elem, this._textData.p.p, 0, 0, this),\r\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m),\r\n };\r\n this._hasMaskedPath = true;\r\n } else {\r\n this._hasMaskedPath = false;\r\n }\r\n this._moreOptions.alignment = getProp(this._elem, this._textData.m.a, 1, 0, this);\r\n};\r\n\r\nTextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\r\n this.lettersChangedFlag = lettersChangedFlag;\r\n if (!this._mdf && !this._isFirstFrame && !lettersChangedFlag && (!this._hasMaskedPath || !this._pathData.m._mdf)) {\r\n return;\r\n }\r\n this._isFirstFrame = false;\r\n var alignment = this._moreOptions.alignment.v;\r\n var animators = this._animatorsData;\r\n var textData = this._textData;\r\n var matrixHelper = this.mHelper;\r\n var renderType = this._renderType;\r\n var renderedLettersCount = this.renderedLetters.length;\r\n var xPos;\r\n var yPos;\r\n var i;\r\n var len;\r\n var letters = documentData.l;\r\n var pathInfo;\r\n var currentLength;\r\n var currentPoint;\r\n var segmentLength;\r\n var flag;\r\n var pointInd;\r\n var segmentInd;\r\n var prevPoint;\r\n var points;\r\n var segments;\r\n var partialLength;\r\n var totalLength;\r\n var perc;\r\n var tanAngle;\r\n var mask;\r\n if (this._hasMaskedPath) {\r\n mask = this._pathData.m;\r\n if (!this._pathData.n || this._pathData._mdf) {\r\n var paths = mask.v;\r\n if (this._pathData.r.v) {\r\n paths = paths.reverse();\r\n }\r\n // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\r\n pathInfo = {\r\n tLength: 0,\r\n segments: [],\r\n };\r\n len = paths._length - 1;\r\n var bezierData;\r\n totalLength = 0;\r\n for (i = 0; i < len; i += 1) {\r\n bezierData = bez.buildBezierData(paths.v[i],\r\n paths.v[i + 1],\r\n [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]],\r\n [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\r\n pathInfo.tLength += bezierData.segmentLength;\r\n pathInfo.segments.push(bezierData);\r\n totalLength += bezierData.segmentLength;\r\n }\r\n i = len;\r\n if (mask.v.c) {\r\n bezierData = bez.buildBezierData(paths.v[i],\r\n paths.v[0],\r\n [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]],\r\n [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\r\n pathInfo.tLength += bezierData.segmentLength;\r\n pathInfo.segments.push(bezierData);\r\n totalLength += bezierData.segmentLength;\r\n }\r\n this._pathData.pi = pathInfo;\r\n }\r\n pathInfo = this._pathData.pi;\r\n\r\n currentLength = this._pathData.f.v;\r\n segmentInd = 0;\r\n pointInd = 1;\r\n segmentLength = 0;\r\n flag = true;\r\n segments = pathInfo.segments;\r\n if (currentLength < 0 && mask.v.c) {\r\n if (pathInfo.tLength < Math.abs(currentLength)) {\r\n currentLength = -Math.abs(currentLength) % pathInfo.tLength;\r\n }\r\n segmentInd = segments.length - 1;\r\n points = segments[segmentInd].points;\r\n pointInd = points.length - 1;\r\n while (currentLength < 0) {\r\n currentLength += points[pointInd].partialLength;\r\n pointInd -= 1;\r\n if (pointInd < 0) {\r\n segmentInd -= 1;\r\n points = segments[segmentInd].points;\r\n pointInd = points.length - 1;\r\n }\r\n }\r\n }\r\n points = segments[segmentInd].points;\r\n prevPoint = points[pointInd - 1];\r\n currentPoint = points[pointInd];\r\n partialLength = currentPoint.partialLength;\r\n }\r\n\r\n len = letters.length;\r\n xPos = 0;\r\n yPos = 0;\r\n var yOff = documentData.finalSize * 1.2 * 0.714;\r\n var firstLine = true;\r\n var animatorProps;\r\n var animatorSelector;\r\n var j;\r\n var jLen;\r\n var letterValue;\r\n\r\n jLen = animators.length;\r\n\r\n var mult;\r\n var ind = -1;\r\n var offf;\r\n var xPathPos;\r\n var yPathPos;\r\n var initPathPos = currentLength;\r\n var initSegmentInd = segmentInd;\r\n var initPointInd = pointInd;\r\n var currentLine = -1;\r\n var elemOpacity;\r\n var sc;\r\n var sw;\r\n var fc;\r\n var k;\r\n var letterSw;\r\n var letterSc;\r\n var letterFc;\r\n var letterM = '';\r\n var letterP = this.defaultPropsArray;\r\n var letterO;\r\n\r\n //\r\n if (documentData.j === 2 || documentData.j === 1) {\r\n var animatorJustifyOffset = 0;\r\n var animatorFirstCharOffset = 0;\r\n var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\r\n var lastIndex = 0;\r\n var isNewLine = true;\r\n\r\n for (i = 0; i < len; i += 1) {\r\n if (letters[i].n) {\r\n if (animatorJustifyOffset) {\r\n animatorJustifyOffset += animatorFirstCharOffset;\r\n }\r\n while (lastIndex < i) {\r\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\r\n lastIndex += 1;\r\n }\r\n animatorJustifyOffset = 0;\r\n isNewLine = true;\r\n } else {\r\n for (j = 0; j < jLen; j += 1) {\r\n animatorProps = animators[j].a;\r\n if (animatorProps.t.propType) {\r\n if (isNewLine && documentData.j === 2) {\r\n animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\r\n }\r\n animatorSelector = animators[j].s;\r\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\r\n if (mult.length) {\r\n animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\r\n } else {\r\n animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\r\n }\r\n }\r\n }\r\n isNewLine = false;\r\n }\r\n }\r\n if (animatorJustifyOffset) {\r\n animatorJustifyOffset += animatorFirstCharOffset;\r\n }\r\n while (lastIndex < i) {\r\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\r\n lastIndex += 1;\r\n }\r\n }\r\n //\r\n\r\n for (i = 0; i < len; i += 1) {\r\n matrixHelper.reset();\r\n elemOpacity = 1;\r\n if (letters[i].n) {\r\n xPos = 0;\r\n yPos += documentData.yOffset;\r\n yPos += firstLine ? 1 : 0;\r\n currentLength = initPathPos;\r\n firstLine = false;\r\n if (this._hasMaskedPath) {\r\n segmentInd = initSegmentInd;\r\n pointInd = initPointInd;\r\n points = segments[segmentInd].points;\r\n prevPoint = points[pointInd - 1];\r\n currentPoint = points[pointInd];\r\n partialLength = currentPoint.partialLength;\r\n segmentLength = 0;\r\n }\r\n letterM = '';\r\n letterFc = '';\r\n letterSw = '';\r\n letterO = '';\r\n letterP = this.defaultPropsArray;\r\n } else {\r\n if (this._hasMaskedPath) {\r\n if (currentLine !== letters[i].line) {\r\n switch (documentData.j) {\r\n case 1:\r\n currentLength += totalLength - documentData.lineWidths[letters[i].line];\r\n break;\r\n case 2:\r\n currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\r\n break;\r\n default:\r\n break;\r\n }\r\n currentLine = letters[i].line;\r\n }\r\n if (ind !== letters[i].ind) {\r\n if (letters[ind]) {\r\n currentLength += letters[ind].extra;\r\n }\r\n currentLength += letters[i].an / 2;\r\n ind = letters[i].ind;\r\n }\r\n currentLength += (alignment[0] * letters[i].an) * 0.005;\r\n var animatorOffset = 0;\r\n for (j = 0; j < jLen; j += 1) {\r\n animatorProps = animators[j].a;\r\n if (animatorProps.p.propType) {\r\n animatorSelector = animators[j].s;\r\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\r\n if (mult.length) {\r\n animatorOffset += animatorProps.p.v[0] * mult[0];\r\n } else {\r\n animatorOffset += animatorProps.p.v[0] * mult;\r\n }\r\n }\r\n if (animatorProps.a.propType) {\r\n animatorSelector = animators[j].s;\r\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\r\n if (mult.length) {\r\n animatorOffset += animatorProps.a.v[0] * mult[0];\r\n } else {\r\n animatorOffset += animatorProps.a.v[0] * mult;\r\n }\r\n }\r\n }\r\n flag = true;\r\n // Force alignment only works with a single line for now\r\n if (this._pathData.a.v) {\r\n currentLength = letters[0].an * 0.5 + ((totalLength - this._pathData.f.v - letters[0].an * 0.5 - letters[letters.length - 1].an * 0.5) * ind) / (len - 1);\r\n currentLength += this._pathData.f.v;\r\n }\r\n while (flag) {\r\n if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\r\n perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\r\n xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\r\n yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\r\n matrixHelper.translate((-alignment[0] * letters[i].an) * 0.005, -(alignment[1] * yOff) * 0.01);\r\n flag = false;\r\n } else if (points) {\r\n segmentLength += currentPoint.partialLength;\r\n pointInd += 1;\r\n if (pointInd >= points.length) {\r\n pointInd = 0;\r\n segmentInd += 1;\r\n if (!segments[segmentInd]) {\r\n if (mask.v.c) {\r\n pointInd = 0;\r\n segmentInd = 0;\r\n points = segments[segmentInd].points;\r\n } else {\r\n segmentLength -= currentPoint.partialLength;\r\n points = null;\r\n }\r\n } else {\r\n points = segments[segmentInd].points;\r\n }\r\n }\r\n if (points) {\r\n prevPoint = currentPoint;\r\n currentPoint = points[pointInd];\r\n partialLength = currentPoint.partialLength;\r\n }\r\n }\r\n }\r\n offf = letters[i].an / 2 - letters[i].add;\r\n matrixHelper.translate(-offf, 0, 0);\r\n } else {\r\n offf = letters[i].an / 2 - letters[i].add;\r\n matrixHelper.translate(-offf, 0, 0);\r\n\r\n // Grouping alignment\r\n matrixHelper.translate((-alignment[0] * letters[i].an) * 0.005, (-alignment[1] * yOff) * 0.01, 0);\r\n }\r\n\r\n for (j = 0; j < jLen; j += 1) {\r\n animatorProps = animators[j].a;\r\n if (animatorProps.t.propType) {\r\n animatorSelector = animators[j].s;\r\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\r\n // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\r\n if (xPos !== 0 || documentData.j !== 0) {\r\n if (this._hasMaskedPath) {\r\n if (mult.length) {\r\n currentLength += animatorProps.t.v * mult[0];\r\n } else {\r\n currentLength += animatorProps.t.v * mult;\r\n }\r\n } else if (mult.length) {\r\n xPos += animatorProps.t.v * mult[0];\r\n } else {\r\n xPos += animatorProps.t.v * mult;\r\n }\r\n }\r\n }\r\n }\r\n if (documentData.strokeWidthAnim) {\r\n sw = documentData.sw || 0;\r\n }\r\n if (documentData.strokeColorAnim) {\r\n if (documentData.sc) {\r\n sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\r\n } else {\r\n sc = [0, 0, 0];\r\n }\r\n }\r\n if (documentData.fillColorAnim && documentData.fc) {\r\n fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\r\n }\r\n for (j = 0; j < jLen; j += 1) {\r\n animatorProps = animators[j].a;\r\n if (animatorProps.a.propType) {\r\n animatorSelector = animators[j].s;\r\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\r\n\r\n if (mult.length) {\r\n matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\r\n } else {\r\n matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\r\n }\r\n }\r\n }\r\n for (j = 0; j < jLen; j += 1) {\r\n animatorProps = animators[j].a;\r\n if (animatorProps.s.propType) {\r\n animatorSelector = animators[j].s;\r\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\r\n if (mult.length) {\r\n matrixHelper.scale(1 + ((animatorProps.s.v[0] - 1) * mult[0]), 1 + ((animatorProps.s.v[1] - 1) * mult[1]), 1);\r\n } else {\r\n matrixHelper.scale(1 + ((animatorProps.s.v[0] - 1) * mult), 1 + ((animatorProps.s.v[1] - 1) * mult), 1);\r\n }\r\n }\r\n }\r\n for (j = 0; j < jLen; j += 1) {\r\n animatorProps = animators[j].a;\r\n animatorSelector = animators[j].s;\r\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\r\n if (animatorProps.sk.propType) {\r\n if (mult.length) {\r\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\r\n } else {\r\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\r\n }\r\n }\r\n if (animatorProps.r.propType) {\r\n if (mult.length) {\r\n matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\r\n } else {\r\n matrixHelper.rotateZ(-animatorProps.r.v * mult);\r\n }\r\n }\r\n if (animatorProps.ry.propType) {\r\n if (mult.length) {\r\n matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\r\n } else {\r\n matrixHelper.rotateY(animatorProps.ry.v * mult);\r\n }\r\n }\r\n if (animatorProps.rx.propType) {\r\n if (mult.length) {\r\n matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\r\n } else {\r\n matrixHelper.rotateX(animatorProps.rx.v * mult);\r\n }\r\n }\r\n if (animatorProps.o.propType) {\r\n if (mult.length) {\r\n elemOpacity += ((animatorProps.o.v) * mult[0] - elemOpacity) * mult[0];\r\n } else {\r\n elemOpacity += ((animatorProps.o.v) * mult - elemOpacity) * mult;\r\n }\r\n }\r\n if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\r\n if (mult.length) {\r\n sw += animatorProps.sw.v * mult[0];\r\n } else {\r\n sw += animatorProps.sw.v * mult;\r\n }\r\n }\r\n if (documentData.strokeColorAnim && animatorProps.sc.propType) {\r\n for (k = 0; k < 3; k += 1) {\r\n if (mult.length) {\r\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\r\n } else {\r\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\r\n }\r\n }\r\n }\r\n if (documentData.fillColorAnim && documentData.fc) {\r\n if (animatorProps.fc.propType) {\r\n for (k = 0; k < 3; k += 1) {\r\n if (mult.length) {\r\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\r\n } else {\r\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\r\n }\r\n }\r\n }\r\n if (animatorProps.fh.propType) {\r\n if (mult.length) {\r\n fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\r\n } else {\r\n fc = addHueToRGB(fc, animatorProps.fh.v * mult);\r\n }\r\n }\r\n if (animatorProps.fs.propType) {\r\n if (mult.length) {\r\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\r\n } else {\r\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\r\n }\r\n }\r\n if (animatorProps.fb.propType) {\r\n if (mult.length) {\r\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\r\n } else {\r\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (j = 0; j < jLen; j += 1) {\r\n animatorProps = animators[j].a;\r\n\r\n if (animatorProps.p.propType) {\r\n animatorSelector = animators[j].s;\r\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\r\n if (this._hasMaskedPath) {\r\n if (mult.length) {\r\n matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\r\n } else {\r\n matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\r\n }\r\n } else if (mult.length) {\r\n matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\r\n } else {\r\n matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\r\n }\r\n }\r\n }\r\n if (documentData.strokeWidthAnim) {\r\n letterSw = sw < 0 ? 0 : sw;\r\n }\r\n if (documentData.strokeColorAnim) {\r\n letterSc = 'rgb(' + Math.round(sc[0] * 255) + ',' + Math.round(sc[1] * 255) + ',' + Math.round(sc[2] * 255) + ')';\r\n }\r\n if (documentData.fillColorAnim && documentData.fc) {\r\n letterFc = 'rgb(' + Math.round(fc[0] * 255) + ',' + Math.round(fc[1] * 255) + ',' + Math.round(fc[2] * 255) + ')';\r\n }\r\n\r\n if (this._hasMaskedPath) {\r\n matrixHelper.translate(0, -documentData.ls);\r\n\r\n matrixHelper.translate(0, (alignment[1] * yOff) * 0.01 + yPos, 0);\r\n if (this._pathData.p.v) {\r\n tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\r\n var rot = (Math.atan(tanAngle) * 180) / Math.PI;\r\n if (currentPoint.point[0] < prevPoint.point[0]) {\r\n rot += 180;\r\n }\r\n matrixHelper.rotate((-rot * Math.PI) / 180);\r\n }\r\n matrixHelper.translate(xPathPos, yPathPos, 0);\r\n currentLength -= (alignment[0] * letters[i].an) * 0.005;\r\n if (letters[i + 1] && ind !== letters[i + 1].ind) {\r\n currentLength += letters[i].an / 2;\r\n currentLength += (documentData.tr * 0.001) * documentData.finalSize;\r\n }\r\n } else {\r\n matrixHelper.translate(xPos, yPos, 0);\r\n\r\n if (documentData.ps) {\r\n // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\r\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\r\n }\r\n switch (documentData.j) {\r\n case 1:\r\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\r\n break;\r\n case 2:\r\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\r\n break;\r\n default:\r\n break;\r\n }\r\n matrixHelper.translate(0, -documentData.ls);\r\n matrixHelper.translate(offf, 0, 0);\r\n matrixHelper.translate((alignment[0] * letters[i].an) * 0.005, (alignment[1] * yOff) * 0.01, 0);\r\n xPos += letters[i].l + (documentData.tr * 0.001) * documentData.finalSize;\r\n }\r\n if (renderType === 'html') {\r\n letterM = matrixHelper.toCSS();\r\n } else if (renderType === 'svg') {\r\n letterM = matrixHelper.to2dCSS();\r\n } else {\r\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]];\r\n }\r\n letterO = elemOpacity;\r\n }\r\n\r\n if (renderedLettersCount <= i) {\r\n letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\r\n this.renderedLetters.push(letterValue);\r\n renderedLettersCount += 1;\r\n this.lettersChangedFlag = true;\r\n } else {\r\n letterValue = this.renderedLetters[i];\r\n this.lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || this.lettersChangedFlag;\r\n }\r\n }\r\n};\r\n\r\nTextAnimatorProperty.prototype.getValue = function () {\r\n if (this._elem.globalData.frameId === this._frameId) {\r\n return;\r\n }\r\n this._frameId = this._elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n};\r\n\r\nTextAnimatorProperty.prototype.mHelper = new Matrix();\r\nTextAnimatorProperty.prototype.defaultPropsArray = [];\r\nextendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\r\n\r\n/* global PropertyFactory, degToRads, TextSelectorProp */\r\n/* exported TextAnimatorDataProperty */\r\n\r\nfunction TextAnimatorDataProperty(elem, animatorProps, container) {\r\n var defaultData = { propType: false };\r\n var getProp = PropertyFactory.getProp;\r\n var textAnimatorAnimatables = animatorProps.a;\r\n this.a = {\r\n r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\r\n rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\r\n ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\r\n sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\r\n sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\r\n s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\r\n a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\r\n o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\r\n p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\r\n sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\r\n sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\r\n fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\r\n fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\r\n fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\r\n fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\r\n t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData,\r\n };\r\n\r\n this.s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\r\n this.s.t = animatorProps.s.t;\r\n}\r\n\r\nfunction LetterProps(o, sw, sc, fc, m, p) {\r\n this.o = o;\r\n this.sw = sw;\r\n this.sc = sc;\r\n this.fc = fc;\r\n this.m = m;\r\n this.p = p;\r\n this._mdf = {\r\n o: true,\r\n sw: !!sw,\r\n sc: !!sc,\r\n fc: !!fc,\r\n m: true,\r\n p: true,\r\n };\r\n}\r\n\r\nLetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\r\n this._mdf.o = false;\r\n this._mdf.sw = false;\r\n this._mdf.sc = false;\r\n this._mdf.fc = false;\r\n this._mdf.m = false;\r\n this._mdf.p = false;\r\n var updated = false;\r\n\r\n if (this.o !== o) {\r\n this.o = o;\r\n this._mdf.o = true;\r\n updated = true;\r\n }\r\n if (this.sw !== sw) {\r\n this.sw = sw;\r\n this._mdf.sw = true;\r\n updated = true;\r\n }\r\n if (this.sc !== sc) {\r\n this.sc = sc;\r\n this._mdf.sc = true;\r\n updated = true;\r\n }\r\n if (this.fc !== fc) {\r\n this.fc = fc;\r\n this._mdf.fc = true;\r\n updated = true;\r\n }\r\n if (this.m !== m) {\r\n this.m = m;\r\n this._mdf.m = true;\r\n updated = true;\r\n }\r\n if (p.length && (this.p[0] !== p[0] || this.p[1] !== p[1] || this.p[4] !== p[4] || this.p[5] !== p[5] || this.p[12] !== p[12] || this.p[13] !== p[13])) {\r\n this.p = p;\r\n this._mdf.p = true;\r\n updated = true;\r\n }\r\n return updated;\r\n};\r\n\r\n/* global FontManager, initialDefaultFrame, getFontProperties */\r\n/* exported TextProperty */\r\n\r\nfunction TextProperty(elem, data) {\r\n this._frameId = initialDefaultFrame;\r\n this.pv = '';\r\n this.v = '';\r\n this.kf = false;\r\n this._isFirstFrame = true;\r\n this._mdf = false;\r\n this.data = data;\r\n this.elem = elem;\r\n this.comp = this.elem.comp;\r\n this.keysIndex = 0;\r\n this.canResize = false;\r\n this.minimumFontSize = 1;\r\n this.effectsSequence = [];\r\n this.currentData = {\r\n ascent: 0,\r\n boxWidth: this.defaultBoxWidth,\r\n f: '',\r\n fStyle: '',\r\n fWeight: '',\r\n fc: '',\r\n j: '',\r\n justifyOffset: '',\r\n l: [],\r\n lh: 0,\r\n lineWidths: [],\r\n ls: '',\r\n of: '',\r\n s: '',\r\n sc: '',\r\n sw: 0,\r\n t: 0,\r\n tr: 0,\r\n sz: 0,\r\n ps: null,\r\n fillColorAnim: false,\r\n strokeColorAnim: false,\r\n strokeWidthAnim: false,\r\n yOffset: 0,\r\n finalSize: 0,\r\n finalText: [],\r\n finalLineHeight: 0,\r\n __complete: false,\r\n\r\n };\r\n this.copyData(this.currentData, this.data.d.k[0].s);\r\n\r\n if (!this.searchProperty()) {\r\n this.completeTextData(this.currentData);\r\n }\r\n}\r\n\r\nTextProperty.prototype.defaultBoxWidth = [0, 0];\r\n\r\nTextProperty.prototype.copyData = function (obj, data) {\r\n for (var s in data) {\r\n if (Object.prototype.hasOwnProperty.call(data, s)) {\r\n obj[s] = data[s];\r\n }\r\n }\r\n return obj;\r\n};\r\n\r\nTextProperty.prototype.setCurrentData = function (data) {\r\n if (!data.__complete) {\r\n this.completeTextData(data);\r\n }\r\n this.currentData = data;\r\n this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth;\r\n this._mdf = true;\r\n};\r\n\r\nTextProperty.prototype.searchProperty = function () {\r\n return this.searchKeyframes();\r\n};\r\n\r\nTextProperty.prototype.searchKeyframes = function () {\r\n this.kf = this.data.d.k.length > 1;\r\n if (this.kf) {\r\n this.addEffect(this.getKeyframeValue.bind(this));\r\n }\r\n return this.kf;\r\n};\r\n\r\nTextProperty.prototype.addEffect = function (effectFunction) {\r\n this.effectsSequence.push(effectFunction);\r\n this.elem.addDynamicProperty(this);\r\n};\r\n\r\nTextProperty.prototype.getValue = function (_finalValue) {\r\n if ((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {\r\n return;\r\n }\r\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\r\n var currentValue = this.currentData;\r\n var currentIndex = this.keysIndex;\r\n if (this.lock) {\r\n this.setCurrentData(this.currentData);\r\n return;\r\n }\r\n this.lock = true;\r\n this._mdf = false;\r\n var i; var\r\n len = this.effectsSequence.length;\r\n var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;\r\n for (i = 0; i < len; i += 1) {\r\n // Checking if index changed to prevent creating a new object every time the expression updates.\r\n if (currentIndex !== this.keysIndex) {\r\n finalValue = this.effectsSequence[i](finalValue, finalValue.t);\r\n } else {\r\n finalValue = this.effectsSequence[i](this.currentData, finalValue.t);\r\n }\r\n }\r\n if (currentValue !== finalValue) {\r\n this.setCurrentData(finalValue);\r\n }\r\n this.v = this.currentData;\r\n this.pv = this.v;\r\n this.lock = false;\r\n this.frameId = this.elem.globalData.frameId;\r\n};\r\n\r\nTextProperty.prototype.getKeyframeValue = function () {\r\n var textKeys = this.data.d.k;\r\n var frameNum = this.elem.comp.renderedFrame;\r\n var i = 0; var\r\n len = textKeys.length;\r\n while (i <= len - 1) {\r\n if (i === len - 1 || textKeys[i + 1].t > frameNum) {\r\n break;\r\n }\r\n i += 1;\r\n }\r\n if (this.keysIndex !== i) {\r\n this.keysIndex = i;\r\n }\r\n return this.data.d.k[this.keysIndex].s;\r\n};\r\n\r\nTextProperty.prototype.buildFinalText = function (text) {\r\n var charactersArray = [];\r\n var i = 0;\r\n var len = text.length;\r\n var charCode;\r\n var secondCharCode;\r\n var shouldCombine = false;\r\n while (i < len) {\r\n charCode = text.charCodeAt(i);\r\n if (FontManager.isCombinedCharacter(charCode)) {\r\n charactersArray[charactersArray.length - 1] += text.charAt(i);\r\n } else if (charCode >= 0xD800 && charCode <= 0xDBFF) {\r\n secondCharCode = text.charCodeAt(i + 1);\r\n if (secondCharCode >= 0xDC00 && secondCharCode <= 0xDFFF) {\r\n if (shouldCombine || FontManager.isModifier(charCode, secondCharCode)) {\r\n charactersArray[charactersArray.length - 1] += text.substr(i, 2);\r\n shouldCombine = false;\r\n } else {\r\n charactersArray.push(text.substr(i, 2));\r\n }\r\n i += 1;\r\n } else {\r\n charactersArray.push(text.charAt(i));\r\n }\r\n } else if (charCode > 0xDBFF) {\r\n secondCharCode = text.charCodeAt(i + 1);\r\n if (FontManager.isZeroWidthJoiner(charCode, secondCharCode)) {\r\n shouldCombine = true;\r\n charactersArray[charactersArray.length - 1] += text.substr(i, 2);\r\n i += 1;\r\n } else {\r\n charactersArray.push(text.charAt(i));\r\n }\r\n } else if (FontManager.isZeroWidthJoiner(charCode)) {\r\n charactersArray[charactersArray.length - 1] += text.charAt(i);\r\n shouldCombine = true;\r\n } else {\r\n charactersArray.push(text.charAt(i));\r\n }\r\n i += 1;\r\n }\r\n return charactersArray;\r\n};\r\n\r\nTextProperty.prototype.completeTextData = function (documentData) {\r\n documentData.__complete = true;\r\n var fontManager = this.elem.globalData.fontManager;\r\n var data = this.data;\r\n var letters = [];\r\n var i; var\r\n len;\r\n var newLineFlag; var index = 0; var\r\n val;\r\n var anchorGrouping = data.m.g;\r\n var currentSize = 0; var currentPos = 0; var currentLine = 0; var\r\n lineWidths = [];\r\n var lineWidth = 0;\r\n var maxLineWidth = 0;\r\n var j; var\r\n jLen;\r\n var fontData = fontManager.getFontByName(documentData.f);\r\n var charData; var\r\n cLength = 0;\r\n\r\n var fontProps = getFontProperties(fontData);\r\n documentData.fWeight = fontProps.weight;\r\n documentData.fStyle = fontProps.style;\r\n documentData.finalSize = documentData.s;\r\n documentData.finalText = this.buildFinalText(documentData.t);\r\n len = documentData.finalText.length;\r\n documentData.finalLineHeight = documentData.lh;\r\n var trackingOffset = (documentData.tr / 1000) * documentData.finalSize;\r\n var charCode;\r\n if (documentData.sz) {\r\n var flag = true;\r\n var boxWidth = documentData.sz[0];\r\n var boxHeight = documentData.sz[1];\r\n var currentHeight; var\r\n finalText;\r\n while (flag) {\r\n finalText = this.buildFinalText(documentData.t);\r\n currentHeight = 0;\r\n lineWidth = 0;\r\n len = finalText.length;\r\n trackingOffset = (documentData.tr / 1000) * documentData.finalSize;\r\n var lastSpaceIndex = -1;\r\n for (i = 0; i < len; i += 1) {\r\n charCode = finalText[i].charCodeAt(0);\r\n newLineFlag = false;\r\n if (finalText[i] === ' ') {\r\n lastSpaceIndex = i;\r\n } else if (charCode === 13 || charCode === 3) {\r\n lineWidth = 0;\r\n newLineFlag = true;\r\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\r\n }\r\n if (fontManager.chars) {\r\n charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\r\n cLength = newLineFlag ? 0 : (charData.w * documentData.finalSize) / 100;\r\n } else {\r\n // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\r\n cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\r\n }\r\n if (lineWidth + cLength > boxWidth && finalText[i] !== ' ') {\r\n if (lastSpaceIndex === -1) {\r\n len += 1;\r\n } else {\r\n i = lastSpaceIndex;\r\n }\r\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\r\n finalText.splice(i, lastSpaceIndex === i ? 1 : 0, '\\r');\r\n // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\r\n lastSpaceIndex = -1;\r\n lineWidth = 0;\r\n } else {\r\n lineWidth += cLength;\r\n lineWidth += trackingOffset;\r\n }\r\n }\r\n currentHeight += (fontData.ascent * documentData.finalSize) / 100;\r\n if (this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {\r\n documentData.finalSize -= 1;\r\n documentData.finalLineHeight = (documentData.finalSize * documentData.lh) / documentData.s;\r\n } else {\r\n documentData.finalText = finalText;\r\n len = documentData.finalText.length;\r\n flag = false;\r\n }\r\n }\r\n }\r\n lineWidth = -trackingOffset;\r\n cLength = 0;\r\n var uncollapsedSpaces = 0;\r\n var currentChar;\r\n for (i = 0; i < len; i += 1) {\r\n newLineFlag = false;\r\n currentChar = documentData.finalText[i];\r\n charCode = currentChar.charCodeAt(0);\r\n if (charCode === 13 || charCode === 3) {\r\n uncollapsedSpaces = 0;\r\n lineWidths.push(lineWidth);\r\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\r\n lineWidth = -2 * trackingOffset;\r\n val = '';\r\n newLineFlag = true;\r\n currentLine += 1;\r\n } else {\r\n val = currentChar;\r\n }\r\n if (fontManager.chars) {\r\n charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\r\n cLength = newLineFlag ? 0 : (charData.w * documentData.finalSize) / 100;\r\n } else {\r\n // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\r\n // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\r\n cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\r\n }\r\n\r\n //\r\n if (currentChar === ' ') {\r\n uncollapsedSpaces += cLength + trackingOffset;\r\n } else {\r\n lineWidth += cLength + trackingOffset + uncollapsedSpaces;\r\n uncollapsedSpaces = 0;\r\n }\r\n letters.push({\r\n l: cLength, an: cLength, add: currentSize, n: newLineFlag, anIndexes: [], val: val, line: currentLine, animatorJustifyOffset: 0,\r\n });\r\n if (anchorGrouping == 2) { // eslint-disable-line eqeqeq\r\n currentSize += cLength;\r\n if (val === '' || val === ' ' || i === len - 1) {\r\n if (val === '' || val === ' ') {\r\n currentSize -= cLength;\r\n }\r\n while (currentPos <= i) {\r\n letters[currentPos].an = currentSize;\r\n letters[currentPos].ind = index;\r\n letters[currentPos].extra = cLength;\r\n currentPos += 1;\r\n }\r\n index += 1;\r\n currentSize = 0;\r\n }\r\n } else if (anchorGrouping == 3) { // eslint-disable-line eqeqeq\r\n currentSize += cLength;\r\n if (val === '' || i === len - 1) {\r\n if (val === '') {\r\n currentSize -= cLength;\r\n }\r\n while (currentPos <= i) {\r\n letters[currentPos].an = currentSize;\r\n letters[currentPos].ind = index;\r\n letters[currentPos].extra = cLength;\r\n currentPos += 1;\r\n }\r\n currentSize = 0;\r\n index += 1;\r\n }\r\n } else {\r\n letters[index].ind = index;\r\n letters[index].extra = 0;\r\n index += 1;\r\n }\r\n }\r\n documentData.l = letters;\r\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\r\n lineWidths.push(lineWidth);\r\n if (documentData.sz) {\r\n documentData.boxWidth = documentData.sz[0];\r\n documentData.justifyOffset = 0;\r\n } else {\r\n documentData.boxWidth = maxLineWidth;\r\n switch (documentData.j) {\r\n case 1:\r\n documentData.justifyOffset = -documentData.boxWidth;\r\n break;\r\n case 2:\r\n documentData.justifyOffset = -documentData.boxWidth / 2;\r\n break;\r\n default:\r\n documentData.justifyOffset = 0;\r\n }\r\n }\r\n documentData.lineWidths = lineWidths;\r\n\r\n var animators = data.a; var animatorData; var\r\n letterData;\r\n jLen = animators.length;\r\n var based; var ind; var\r\n indexes = [];\r\n for (j = 0; j < jLen; j += 1) {\r\n animatorData = animators[j];\r\n if (animatorData.a.sc) {\r\n documentData.strokeColorAnim = true;\r\n }\r\n if (animatorData.a.sw) {\r\n documentData.strokeWidthAnim = true;\r\n }\r\n if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\r\n documentData.fillColorAnim = true;\r\n }\r\n ind = 0;\r\n based = animatorData.s.b;\r\n for (i = 0; i < len; i += 1) {\r\n letterData = letters[i];\r\n letterData.anIndexes[j] = ind;\r\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))) { // eslint-disable-line eqeqeq\r\n if (animatorData.s.rn === 1) {\r\n indexes.push(ind);\r\n }\r\n ind += 1;\r\n }\r\n }\r\n data.a[j].s.totalChars = ind;\r\n var currentInd = -1; var\r\n newInd;\r\n if (animatorData.s.rn === 1) {\r\n for (i = 0; i < len; i += 1) {\r\n letterData = letters[i];\r\n if (currentInd != letterData.anIndexes[j]) { // eslint-disable-line eqeqeq\r\n currentInd = letterData.anIndexes[j];\r\n newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\r\n }\r\n letterData.anIndexes[j] = newInd;\r\n }\r\n }\r\n }\r\n documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\r\n documentData.ls = documentData.ls || 0;\r\n documentData.ascent = (fontData.ascent * documentData.finalSize) / 100;\r\n};\r\n\r\nTextProperty.prototype.updateDocumentData = function (newData, index) {\r\n index = index === undefined ? this.keysIndex : index;\r\n var dData = this.copyData({}, this.data.d.k[index].s);\r\n dData = this.copyData(dData, newData);\r\n this.data.d.k[index].s = dData;\r\n this.recalculate(index);\r\n this.elem.addDynamicProperty(this);\r\n};\r\n\r\nTextProperty.prototype.recalculate = function (index) {\r\n var dData = this.data.d.k[index].s;\r\n dData.__complete = false;\r\n this.keysIndex = 0;\r\n this._isFirstFrame = true;\r\n this.getValue(dData);\r\n};\r\n\r\nTextProperty.prototype.canResizeFont = function (_canResize) {\r\n this.canResize = _canResize;\r\n this.recalculate(this.keysIndex);\r\n this.elem.addDynamicProperty(this);\r\n};\r\n\r\nTextProperty.prototype.setMinimumFontSize = function (_fontValue) {\r\n this.minimumFontSize = Math.floor(_fontValue) || 1;\r\n this.recalculate(this.keysIndex);\r\n this.elem.addDynamicProperty(this);\r\n};\r\n\r\n/* global extendPrototype, BezierFactory, PropertyFactory, DynamicPropertyContainer */\r\n/* exported TextSelectorProp */\r\n\r\nvar TextSelectorProp = (function () {\r\n var max = Math.max;\r\n var min = Math.min;\r\n var floor = Math.floor;\r\n\r\n function TextSelectorPropFactory(elem, data) {\r\n this._currentTextLength = -1;\r\n this.k = false;\r\n this.data = data;\r\n this.elem = elem;\r\n this.comp = elem.comp;\r\n this.finalS = 0;\r\n this.finalE = 0;\r\n this.initDynamicPropertyContainer(elem);\r\n this.s = PropertyFactory.getProp(elem, data.s || { k: 0 }, 0, 0, this);\r\n if ('e' in data) {\r\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0, this);\r\n } else {\r\n this.e = { v: 100 };\r\n }\r\n this.o = PropertyFactory.getProp(elem, data.o || { k: 0 }, 0, 0, this);\r\n this.xe = PropertyFactory.getProp(elem, data.xe || { k: 0 }, 0, 0, this);\r\n this.ne = PropertyFactory.getProp(elem, data.ne || { k: 0 }, 0, 0, this);\r\n this.sm = PropertyFactory.getProp(elem, data.sm || { k: 100 }, 0, 0, this);\r\n this.a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this);\r\n if (!this.dynamicProperties.length) {\r\n this.getValue();\r\n }\r\n }\r\n\r\n TextSelectorPropFactory.prototype = {\r\n getMult: function (ind) {\r\n if (this._currentTextLength !== this.elem.textProperty.currentData.l.length) {\r\n this.getValue();\r\n }\r\n // var easer = bez.getEasingCurve(this.ne.v/100,0,1-this.xe.v/100,1);\r\n var x1 = 0;\r\n var y1 = 0;\r\n var x2 = 1;\r\n var y2 = 1;\r\n if (this.ne.v > 0) {\r\n x1 = this.ne.v / 100.0;\r\n } else {\r\n y1 = -this.ne.v / 100.0;\r\n }\r\n if (this.xe.v > 0) {\r\n x2 = 1.0 - this.xe.v / 100.0;\r\n } else {\r\n y2 = 1.0 + this.xe.v / 100.0;\r\n }\r\n var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\r\n\r\n var mult = 0;\r\n var s = this.finalS;\r\n var e = this.finalE;\r\n var type = this.data.sh;\r\n if (type === 2) {\r\n if (e === s) {\r\n mult = ind >= e ? 1 : 0;\r\n } else {\r\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\r\n }\r\n mult = easer(mult);\r\n } else if (type === 3) {\r\n if (e === s) {\r\n mult = ind >= e ? 0 : 1;\r\n } else {\r\n mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\r\n }\r\n\r\n mult = easer(mult);\r\n } else if (type === 4) {\r\n if (e === s) {\r\n mult = 0;\r\n } else {\r\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\r\n if (mult < 0.5) {\r\n mult *= 2;\r\n } else {\r\n mult = 1 - 2 * (mult - 0.5);\r\n }\r\n }\r\n mult = easer(mult);\r\n } else if (type === 5) {\r\n if (e === s) {\r\n mult = 0;\r\n } else {\r\n var tot = e - s;\r\n /* ind += 0.5;\r\n mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\r\n ind = min(max(0, ind + 0.5 - s), e - s);\r\n var x = -tot / 2 + ind;\r\n var a = tot / 2;\r\n mult = Math.sqrt(1 - (x * x) / (a * a));\r\n }\r\n mult = easer(mult);\r\n } else if (type === 6) {\r\n if (e === s) {\r\n mult = 0;\r\n } else {\r\n ind = min(max(0, ind + 0.5 - s), e - s);\r\n mult = (1 + (Math.cos((Math.PI + Math.PI * 2 * (ind) / (e - s))))) / 2; // eslint-disable-line\r\n }\r\n mult = easer(mult);\r\n } else {\r\n if (ind >= floor(s)) {\r\n if (ind - s < 0) {\r\n mult = max(0, min(min(e, 1) - (s - ind), 1));\r\n } else {\r\n mult = max(0, min(e - ind, 1));\r\n }\r\n }\r\n mult = easer(mult);\r\n }\r\n // Smoothness implementation.\r\n // The smoothness represents a reduced range of the original [0; 1] range.\r\n // if smoothness is 25%, the new range will be [0.375; 0.625]\r\n // Steps are:\r\n // - find the lower value of the new range (threshold)\r\n // - if multiplier is smaller than that value, floor it to 0\r\n // - if it is larger,\r\n // - subtract the threshold\r\n // - divide it by the smoothness (this will return the range to [0; 1])\r\n // Note: If it doesn't work on some scenarios, consider applying it before the easer.\r\n if (this.sm.v !== 100) {\r\n var smoothness = this.sm.v * 0.01;\r\n if (smoothness === 0) {\r\n smoothness = 0.00000001;\r\n }\r\n var threshold = 0.5 - smoothness * 0.5;\r\n if (mult < threshold) {\r\n mult = 0;\r\n } else {\r\n mult = (mult - threshold) / smoothness;\r\n if (mult > 1) {\r\n mult = 1;\r\n }\r\n }\r\n }\r\n return mult * this.a.v;\r\n },\r\n getValue: function (newCharsFlag) {\r\n this.iterateDynamicProperties();\r\n this._mdf = newCharsFlag || this._mdf;\r\n this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;\r\n if (newCharsFlag && this.data.r === 2) {\r\n this.e.v = this._currentTextLength;\r\n }\r\n var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;\r\n var o = this.o.v / divisor;\r\n var s = this.s.v / divisor + o;\r\n var e = (this.e.v / divisor) + o;\r\n if (s > e) {\r\n var _s = s;\r\n s = e;\r\n e = _s;\r\n }\r\n this.finalS = s;\r\n this.finalE = e;\r\n },\r\n };\r\n extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\r\n\r\n function getTextSelectorProp(elem, data, arr) {\r\n return new TextSelectorPropFactory(elem, data, arr);\r\n }\r\n\r\n return {\r\n getTextSelectorProp: getTextSelectorProp,\r\n };\r\n}());\r\n\r\n/* global createSizedArray, pooling */\r\n/* exported poolFactory */\r\n\r\nvar poolFactory = (function () {\r\n return function (initialLength, _create, _release) {\r\n var _length = 0;\r\n var _maxLength = initialLength;\r\n var pool = createSizedArray(_maxLength);\r\n\r\n var ob = {\r\n newElement: newElement,\r\n release: release,\r\n };\r\n\r\n function newElement() {\r\n var element;\r\n if (_length) {\r\n _length -= 1;\r\n element = pool[_length];\r\n } else {\r\n element = _create();\r\n }\r\n return element;\r\n }\r\n\r\n function release(element) {\r\n if (_length === _maxLength) {\r\n pool = pooling.double(pool);\r\n _maxLength *= 2;\r\n }\r\n if (_release) {\r\n _release(element);\r\n }\r\n pool[_length] = element;\r\n _length += 1;\r\n }\r\n\r\n return ob;\r\n };\r\n}());\r\n\r\n/* global createSizedArray */\r\n/* exported pooling */\r\n\r\nvar pooling = (function () {\r\n function double(arr) {\r\n return arr.concat(createSizedArray(arr.length));\r\n }\r\n\r\n return {\r\n double: double,\r\n };\r\n}());\r\n\r\n/* global createTypedArray, poolFactory */\r\n/* exported pointPool */\r\n\r\nvar pointPool = (function () {\r\n function create() {\r\n return createTypedArray('float32', 2);\r\n }\r\n return poolFactory(8, create);\r\n}());\r\n\r\n/* global ShapePath, pointPool, poolFactory */\r\n/* exported shapePool */\r\n\r\nvar shapePool = (function () {\r\n function create() {\r\n return new ShapePath();\r\n }\r\n\r\n function release(shapePath) {\r\n var len = shapePath._length;\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n pointPool.release(shapePath.v[i]);\r\n pointPool.release(shapePath.i[i]);\r\n pointPool.release(shapePath.o[i]);\r\n shapePath.v[i] = null;\r\n shapePath.i[i] = null;\r\n shapePath.o[i] = null;\r\n }\r\n shapePath._length = 0;\r\n shapePath.c = false;\r\n }\r\n\r\n function clone(shape) {\r\n var cloned = factory.newElement();\r\n var i;\r\n var len = shape._length === undefined ? shape.v.length : shape._length;\r\n cloned.setLength(len);\r\n cloned.c = shape.c;\r\n\r\n for (i = 0; i < len; i += 1) {\r\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);\r\n }\r\n return cloned;\r\n }\r\n\r\n var factory = poolFactory(4, create, release);\r\n factory.clone = clone;\r\n\r\n return factory;\r\n}());\r\n\r\n/* global createSizedArray, ShapeCollection, shapePool, pooling */\r\n/* exported shapeCollectionPool */\r\n\r\nvar shapeCollectionPool = (function () {\r\n var ob = {\r\n newShapeCollection: newShapeCollection,\r\n release: release,\r\n };\r\n\r\n var _length = 0;\r\n var _maxLength = 4;\r\n var pool = createSizedArray(_maxLength);\r\n\r\n function newShapeCollection() {\r\n var shapeCollection;\r\n if (_length) {\r\n _length -= 1;\r\n shapeCollection = pool[_length];\r\n } else {\r\n shapeCollection = new ShapeCollection();\r\n }\r\n return shapeCollection;\r\n }\r\n\r\n function release(shapeCollection) {\r\n var i;\r\n var len = shapeCollection._length;\r\n for (i = 0; i < len; i += 1) {\r\n shapePool.release(shapeCollection.shapes[i]);\r\n }\r\n shapeCollection._length = 0;\r\n\r\n if (_length === _maxLength) {\r\n pool = pooling.double(pool);\r\n _maxLength *= 2;\r\n }\r\n pool[_length] = shapeCollection;\r\n _length += 1;\r\n }\r\n\r\n return ob;\r\n}());\r\n\r\n/* global poolFactory, bezierLengthPool */\r\n/* exported segmentsLengthPool */\r\n\r\nvar segmentsLengthPool = (function () {\r\n function create() {\r\n return {\r\n lengths: [],\r\n totalLength: 0,\r\n };\r\n }\r\n\r\n function release(element) {\r\n var i;\r\n var len = element.lengths.length;\r\n for (i = 0; i < len; i += 1) {\r\n bezierLengthPool.release(element.lengths[i]);\r\n }\r\n element.lengths.length = 0;\r\n }\r\n\r\n return poolFactory(8, create, release);\r\n}());\r\n\r\n/* global createTypedArray, defaultCurveSegments, poolFactory */\r\n/* exported bezierLengthPool */\r\n\r\nvar bezierLengthPool = (function () {\r\n function create() {\r\n return {\r\n addedLength: 0,\r\n percents: createTypedArray('float32', defaultCurveSegments),\r\n lengths: createTypedArray('float32', defaultCurveSegments),\r\n };\r\n }\r\n return poolFactory(8, create);\r\n}());\r\n\r\n/* exported markerParser */\r\n\r\nvar markerParser = (\r\n\r\n function () {\r\n function parsePayloadLines(payload) {\r\n var lines = payload.split('\\r\\n');\r\n var keys = {};\r\n var line;\r\n var keysCount = 0;\r\n for (var i = 0; i < lines.length; i += 1) {\r\n line = lines[i].split(':');\r\n if (line.length === 2) {\r\n keys[line[0]] = line[1].trim();\r\n keysCount += 1;\r\n }\r\n }\r\n if (keysCount === 0) {\r\n throw new Error();\r\n }\r\n return keys;\r\n }\r\n\r\n return function (_markers) {\r\n var markers = [];\r\n for (var i = 0; i < _markers.length; i += 1) {\r\n var _marker = _markers[i];\r\n var markerData = {\r\n time: _marker.tm,\r\n duration: _marker.dr,\r\n };\r\n try {\r\n markerData.payload = JSON.parse(_markers[i].cm);\r\n } catch (_) {\r\n try {\r\n markerData.payload = parsePayloadLines(_markers[i].cm);\r\n } catch (__) {\r\n markerData.payload = {\r\n name: _markers[i],\r\n };\r\n }\r\n }\r\n markers.push(markerData);\r\n }\r\n return markers;\r\n };\r\n }());\r\n\r\n/* global AudioElement, FootageElement, FontManager */\r\n\r\nfunction BaseRenderer() {}\r\nBaseRenderer.prototype.checkLayers = function (num) {\r\n var i;\r\n var len = this.layers.length;\r\n var data;\r\n this.completeLayers = true;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n if (!this.elements[i]) {\r\n data = this.layers[i];\r\n if (data.ip - data.st <= (num - this.layers[i].st) && data.op - data.st > (num - this.layers[i].st)) {\r\n this.buildItem(i);\r\n }\r\n }\r\n this.completeLayers = this.elements[i] ? this.completeLayers : false;\r\n }\r\n this.checkPendingElements();\r\n};\r\n\r\nBaseRenderer.prototype.createItem = function (layer) {\r\n switch (layer.ty) {\r\n case 2:\r\n return this.createImage(layer);\r\n case 0:\r\n return this.createComp(layer);\r\n case 1:\r\n return this.createSolid(layer);\r\n case 3:\r\n return this.createNull(layer);\r\n case 4:\r\n return this.createShape(layer);\r\n case 5:\r\n return this.createText(layer);\r\n case 6:\r\n return this.createAudio(layer);\r\n case 13:\r\n return this.createCamera(layer);\r\n case 15:\r\n return this.createFootage(layer);\r\n default:\r\n return this.createNull(layer);\r\n }\r\n};\r\n\r\nBaseRenderer.prototype.createCamera = function () {\r\n throw new Error('You\\'re using a 3d camera. Try the html renderer.');\r\n};\r\n\r\nBaseRenderer.prototype.createAudio = function (data) {\r\n return new AudioElement(data, this.globalData, this);\r\n};\r\n\r\nBaseRenderer.prototype.createFootage = function (data) {\r\n return new FootageElement(data, this.globalData, this);\r\n};\r\n\r\nBaseRenderer.prototype.buildAllItems = function () {\r\n var i;\r\n var len = this.layers.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.buildItem(i);\r\n }\r\n this.checkPendingElements();\r\n};\r\n\r\nBaseRenderer.prototype.includeLayers = function (newLayers) {\r\n this.completeLayers = false;\r\n var i;\r\n var len = newLayers.length;\r\n var j;\r\n var jLen = this.layers.length;\r\n for (i = 0; i < len; i += 1) {\r\n j = 0;\r\n while (j < jLen) {\r\n if (this.layers[j].id === newLayers[i].id) {\r\n this.layers[j] = newLayers[i];\r\n break;\r\n }\r\n j += 1;\r\n }\r\n }\r\n};\r\n\r\nBaseRenderer.prototype.setProjectInterface = function (pInterface) {\r\n this.globalData.projectInterface = pInterface;\r\n};\r\n\r\nBaseRenderer.prototype.initItems = function () {\r\n if (!this.globalData.progressiveLoad) {\r\n this.buildAllItems();\r\n }\r\n};\r\nBaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\r\n var elements = this.elements;\r\n var layers = this.layers;\r\n var i = 0;\r\n var len = layers.length;\r\n while (i < len) {\r\n if (layers[i].ind == parentName) { // eslint-disable-line eqeqeq\r\n if (!elements[i] || elements[i] === true) {\r\n this.buildItem(i);\r\n this.addPendingElement(element);\r\n } else {\r\n hierarchy.push(elements[i]);\r\n elements[i].setAsParent();\r\n if (layers[i].parent !== undefined) {\r\n this.buildElementParenting(element, layers[i].parent, hierarchy);\r\n } else {\r\n element.setHierarchy(hierarchy);\r\n }\r\n }\r\n }\r\n i += 1;\r\n }\r\n};\r\n\r\nBaseRenderer.prototype.addPendingElement = function (element) {\r\n this.pendingElements.push(element);\r\n};\r\n\r\nBaseRenderer.prototype.searchExtraCompositions = function (assets) {\r\n var i;\r\n var len = assets.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (assets[i].xt) {\r\n var comp = this.createComp(assets[i]);\r\n comp.initExpressions();\r\n this.globalData.projectInterface.registerComposition(comp);\r\n }\r\n }\r\n};\r\n\r\nBaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\r\n this.globalData.fontManager = new FontManager();\r\n this.globalData.fontManager.addChars(animData.chars);\r\n this.globalData.fontManager.addFonts(animData.fonts, fontsContainer);\r\n this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem);\r\n this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem);\r\n this.globalData.imageLoader = this.animationItem.imagePreloader;\r\n this.globalData.audioController = this.animationItem.audioController;\r\n this.globalData.frameId = 0;\r\n this.globalData.frameRate = animData.fr;\r\n this.globalData.nm = animData.nm;\r\n this.globalData.compSize = {\r\n w: animData.w,\r\n h: animData.h,\r\n };\r\n};\r\n\r\n/* global createElementID, extendPrototype, BaseRenderer, NullElement, SVGShapeElement, SVGTextLottieElement,\r\nIImageElement, SVGCompElement, ISolidElement, createNS, locationHref, createSizedArray, expressionsPlugin */\r\n\r\nfunction SVGRenderer(animationItem, config) {\r\n this.animationItem = animationItem;\r\n this.layers = null;\r\n this.renderedFrame = -1;\r\n this.svgElement = createNS('svg');\r\n var ariaLabel = '';\r\n if (config && config.title) {\r\n var titleElement = createNS('title');\r\n var titleId = createElementID();\r\n titleElement.setAttribute('id', titleId);\r\n titleElement.textContent = config.title;\r\n this.svgElement.appendChild(titleElement);\r\n ariaLabel += titleId;\r\n }\r\n if (config && config.description) {\r\n var descElement = createNS('desc');\r\n var descId = createElementID();\r\n descElement.setAttribute('id', descId);\r\n descElement.textContent = config.description;\r\n this.svgElement.appendChild(descElement);\r\n ariaLabel += ' ' + descId;\r\n }\r\n if (ariaLabel) {\r\n this.svgElement.setAttribute('aria-labelledby', ariaLabel);\r\n }\r\n var defs = createNS('defs');\r\n this.svgElement.appendChild(defs);\r\n var maskElement = createNS('g');\r\n this.svgElement.appendChild(maskElement);\r\n this.layerElement = maskElement;\r\n this.renderConfig = {\r\n preserveAspectRatio: (config && config.preserveAspectRatio) || 'xMidYMid meet',\r\n imagePreserveAspectRatio: (config && config.imagePreserveAspectRatio) || 'xMidYMid slice',\r\n progressiveLoad: (config && config.progressiveLoad) || false,\r\n hideOnTransparent: !((config && config.hideOnTransparent === false)),\r\n viewBoxOnly: (config && config.viewBoxOnly) || false,\r\n viewBoxSize: (config && config.viewBoxSize) || false,\r\n className: (config && config.className) || '',\r\n id: (config && config.id) || '',\r\n focusable: config && config.focusable,\r\n filterSize: {\r\n width: (config && config.filterSize && config.filterSize.width) || '100%',\r\n height: (config && config.filterSize && config.filterSize.height) || '100%',\r\n x: (config && config.filterSize && config.filterSize.x) || '0%',\r\n y: (config && config.filterSize && config.filterSize.y) || '0%',\r\n },\r\n };\r\n\r\n this.globalData = {\r\n _mdf: false,\r\n frameNum: -1,\r\n defs: defs,\r\n renderConfig: this.renderConfig,\r\n };\r\n this.elements = [];\r\n this.pendingElements = [];\r\n this.destroyed = false;\r\n this.rendererType = 'svg';\r\n}\r\n\r\nextendPrototype([BaseRenderer], SVGRenderer);\r\n\r\nSVGRenderer.prototype.createNull = function (data) {\r\n return new NullElement(data, this.globalData, this);\r\n};\r\n\r\nSVGRenderer.prototype.createShape = function (data) {\r\n return new SVGShapeElement(data, this.globalData, this);\r\n};\r\n\r\nSVGRenderer.prototype.createText = function (data) {\r\n return new SVGTextLottieElement(data, this.globalData, this);\r\n};\r\n\r\nSVGRenderer.prototype.createImage = function (data) {\r\n return new IImageElement(data, this.globalData, this);\r\n};\r\n\r\nSVGRenderer.prototype.createComp = function (data) {\r\n return new SVGCompElement(data, this.globalData, this);\r\n};\r\n\r\nSVGRenderer.prototype.createSolid = function (data) {\r\n return new ISolidElement(data, this.globalData, this);\r\n};\r\n\r\nSVGRenderer.prototype.configAnimation = function (animData) {\r\n this.svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\r\n if (this.renderConfig.viewBoxSize) {\r\n this.svgElement.setAttribute('viewBox', this.renderConfig.viewBoxSize);\r\n } else {\r\n this.svgElement.setAttribute('viewBox', '0 0 ' + animData.w + ' ' + animData.h);\r\n }\r\n\r\n if (!this.renderConfig.viewBoxOnly) {\r\n this.svgElement.setAttribute('width', animData.w);\r\n this.svgElement.setAttribute('height', animData.h);\r\n this.svgElement.style.width = '100%';\r\n this.svgElement.style.height = '100%';\r\n this.svgElement.style.transform = 'translate3d(0,0,0)';\r\n }\r\n if (this.renderConfig.className) {\r\n this.svgElement.setAttribute('class', this.renderConfig.className);\r\n }\r\n if (this.renderConfig.id) {\r\n this.svgElement.setAttribute('id', this.renderConfig.id);\r\n }\r\n if (this.renderConfig.focusable !== undefined) {\r\n this.svgElement.setAttribute('focusable', this.renderConfig.focusable);\r\n }\r\n this.svgElement.setAttribute('preserveAspectRatio', this.renderConfig.preserveAspectRatio);\r\n // this.layerElement.style.transform = 'translate3d(0,0,0)';\r\n // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\r\n this.animationItem.wrapper.appendChild(this.svgElement);\r\n // Mask animation\r\n var defs = this.globalData.defs;\r\n\r\n this.setupGlobalData(animData, defs);\r\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\r\n this.data = animData;\r\n\r\n var maskElement = createNS('clipPath');\r\n var rect = createNS('rect');\r\n rect.setAttribute('width', animData.w);\r\n rect.setAttribute('height', animData.h);\r\n rect.setAttribute('x', 0);\r\n rect.setAttribute('y', 0);\r\n var maskId = createElementID();\r\n maskElement.setAttribute('id', maskId);\r\n maskElement.appendChild(rect);\r\n this.layerElement.setAttribute('clip-path', 'url(' + locationHref + '#' + maskId + ')');\r\n\r\n defs.appendChild(maskElement);\r\n this.layers = animData.layers;\r\n this.elements = createSizedArray(animData.layers.length);\r\n};\r\n\r\nSVGRenderer.prototype.destroy = function () {\r\n if (this.animationItem.wrapper) {\r\n this.animationItem.wrapper.innerText = '';\r\n }\r\n this.layerElement = null;\r\n this.globalData.defs = null;\r\n var i;\r\n var len = this.layers ? this.layers.length : 0;\r\n for (i = 0; i < len; i += 1) {\r\n if (this.elements[i]) {\r\n this.elements[i].destroy();\r\n }\r\n }\r\n this.elements.length = 0;\r\n this.destroyed = true;\r\n this.animationItem = null;\r\n};\r\n\r\nSVGRenderer.prototype.updateContainerSize = function () {\r\n};\r\n\r\nSVGRenderer.prototype.buildItem = function (pos) {\r\n var elements = this.elements;\r\n if (elements[pos] || this.layers[pos].ty === 99) {\r\n return;\r\n }\r\n elements[pos] = true;\r\n var element = this.createItem(this.layers[pos]);\r\n\r\n elements[pos] = element;\r\n if (expressionsPlugin) {\r\n if (this.layers[pos].ty === 0) {\r\n this.globalData.projectInterface.registerComposition(element);\r\n }\r\n element.initExpressions();\r\n }\r\n this.appendElementInPos(element, pos);\r\n if (this.layers[pos].tt) {\r\n if (!this.elements[pos - 1] || this.elements[pos - 1] === true) {\r\n this.buildItem(pos - 1);\r\n this.addPendingElement(element);\r\n } else {\r\n element.setMatte(elements[pos - 1].layerId);\r\n }\r\n }\r\n};\r\n\r\nSVGRenderer.prototype.checkPendingElements = function () {\r\n while (this.pendingElements.length) {\r\n var element = this.pendingElements.pop();\r\n element.checkParenting();\r\n if (element.data.tt) {\r\n var i = 0;\r\n var len = this.elements.length;\r\n while (i < len) {\r\n if (this.elements[i] === element) {\r\n element.setMatte(this.elements[i - 1].layerId);\r\n break;\r\n }\r\n i += 1;\r\n }\r\n }\r\n }\r\n};\r\n\r\nSVGRenderer.prototype.renderFrame = function (num) {\r\n if (this.renderedFrame === num || this.destroyed) {\r\n return;\r\n }\r\n if (num === null) {\r\n num = this.renderedFrame;\r\n } else {\r\n this.renderedFrame = num;\r\n }\r\n // console.log('-------');\r\n // console.log('FRAME ',num);\r\n this.globalData.frameNum = num;\r\n this.globalData.frameId += 1;\r\n this.globalData.projectInterface.currentFrame = num;\r\n this.globalData._mdf = false;\r\n var i;\r\n var len = this.layers.length;\r\n if (!this.completeLayers) {\r\n this.checkLayers(num);\r\n }\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n if (this.completeLayers || this.elements[i]) {\r\n this.elements[i].prepareFrame(num - this.layers[i].st);\r\n }\r\n }\r\n if (this.globalData._mdf) {\r\n for (i = 0; i < len; i += 1) {\r\n if (this.completeLayers || this.elements[i]) {\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n }\r\n};\r\n\r\nSVGRenderer.prototype.appendElementInPos = function (element, pos) {\r\n var newElement = element.getBaseElement();\r\n if (!newElement) {\r\n return;\r\n }\r\n var i = 0;\r\n var nextElement;\r\n while (i < pos) {\r\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement()) {\r\n nextElement = this.elements[i].getBaseElement();\r\n }\r\n i += 1;\r\n }\r\n if (nextElement) {\r\n this.layerElement.insertBefore(newElement, nextElement);\r\n } else {\r\n this.layerElement.appendChild(newElement);\r\n }\r\n};\r\n\r\nSVGRenderer.prototype.hide = function () {\r\n this.layerElement.style.display = 'none';\r\n};\r\n\r\nSVGRenderer.prototype.show = function () {\r\n this.layerElement.style.display = 'block';\r\n};\r\n\r\n/* global CVContextData, Matrix, extendPrototype, BaseRenderer, CVShapeElement, CVTextElement,\r\nCVImageElement, CVCompElement, CVSolidElement, SVGRenderer, createTag, createSizedArray */\r\n\r\nfunction CanvasRenderer(animationItem, config) {\r\n this.animationItem = animationItem;\r\n this.renderConfig = {\r\n clearCanvas: (config && config.clearCanvas !== undefined) ? config.clearCanvas : true,\r\n context: (config && config.context) || null,\r\n progressiveLoad: (config && config.progressiveLoad) || false,\r\n preserveAspectRatio: (config && config.preserveAspectRatio) || 'xMidYMid meet',\r\n imagePreserveAspectRatio: (config && config.imagePreserveAspectRatio) || 'xMidYMid slice',\r\n className: (config && config.className) || '',\r\n id: (config && config.id) || '',\r\n };\r\n this.renderConfig.dpr = (config && config.dpr) || 1;\r\n if (this.animationItem.wrapper) {\r\n this.renderConfig.dpr = (config && config.dpr) || window.devicePixelRatio || 1;\r\n }\r\n this.renderedFrame = -1;\r\n this.globalData = {\r\n frameNum: -1,\r\n _mdf: false,\r\n renderConfig: this.renderConfig,\r\n currentGlobalAlpha: -1,\r\n };\r\n this.contextData = new CVContextData();\r\n this.elements = [];\r\n this.pendingElements = [];\r\n this.transformMat = new Matrix();\r\n this.completeLayers = false;\r\n this.rendererType = 'canvas';\r\n}\r\nextendPrototype([BaseRenderer], CanvasRenderer);\r\n\r\nCanvasRenderer.prototype.createShape = function (data) {\r\n return new CVShapeElement(data, this.globalData, this);\r\n};\r\n\r\nCanvasRenderer.prototype.createText = function (data) {\r\n return new CVTextElement(data, this.globalData, this);\r\n};\r\n\r\nCanvasRenderer.prototype.createImage = function (data) {\r\n return new CVImageElement(data, this.globalData, this);\r\n};\r\n\r\nCanvasRenderer.prototype.createComp = function (data) {\r\n return new CVCompElement(data, this.globalData, this);\r\n};\r\n\r\nCanvasRenderer.prototype.createSolid = function (data) {\r\n return new CVSolidElement(data, this.globalData, this);\r\n};\r\n\r\nCanvasRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\r\n\r\nCanvasRenderer.prototype.ctxTransform = function (props) {\r\n if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\r\n return;\r\n }\r\n if (!this.renderConfig.clearCanvas) {\r\n this.canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\r\n return;\r\n }\r\n this.transformMat.cloneFromProps(props);\r\n var cProps = this.contextData.cTr.props;\r\n this.transformMat.transform(cProps[0], cProps[1], cProps[2], cProps[3], cProps[4], cProps[5], cProps[6], cProps[7], cProps[8], cProps[9], cProps[10], cProps[11], cProps[12], cProps[13], cProps[14], cProps[15]);\r\n // 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]);\r\n this.contextData.cTr.cloneFromProps(this.transformMat.props);\r\n var trProps = this.contextData.cTr.props;\r\n this.canvasContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\r\n};\r\n\r\nCanvasRenderer.prototype.ctxOpacity = function (op) {\r\n /* if(op === 1){\r\n return;\r\n } */\r\n if (!this.renderConfig.clearCanvas) {\r\n this.canvasContext.globalAlpha *= op < 0 ? 0 : op;\r\n this.globalData.currentGlobalAlpha = this.contextData.cO;\r\n return;\r\n }\r\n this.contextData.cO *= op < 0 ? 0 : op;\r\n if (this.globalData.currentGlobalAlpha !== this.contextData.cO) {\r\n this.canvasContext.globalAlpha = this.contextData.cO;\r\n this.globalData.currentGlobalAlpha = this.contextData.cO;\r\n }\r\n};\r\n\r\nCanvasRenderer.prototype.reset = function () {\r\n if (!this.renderConfig.clearCanvas) {\r\n this.canvasContext.restore();\r\n return;\r\n }\r\n this.contextData.reset();\r\n};\r\n\r\nCanvasRenderer.prototype.save = function (actionFlag) {\r\n if (!this.renderConfig.clearCanvas) {\r\n this.canvasContext.save();\r\n return;\r\n }\r\n if (actionFlag) {\r\n this.canvasContext.save();\r\n }\r\n var props = this.contextData.cTr.props;\r\n if (this.contextData._length <= this.contextData.cArrPos) {\r\n this.contextData.duplicate();\r\n }\r\n var i;\r\n var arr = this.contextData.saved[this.contextData.cArrPos];\r\n for (i = 0; i < 16; i += 1) {\r\n arr[i] = props[i];\r\n }\r\n this.contextData.savedOp[this.contextData.cArrPos] = this.contextData.cO;\r\n this.contextData.cArrPos += 1;\r\n};\r\n\r\nCanvasRenderer.prototype.restore = function (actionFlag) {\r\n if (!this.renderConfig.clearCanvas) {\r\n this.canvasContext.restore();\r\n return;\r\n }\r\n if (actionFlag) {\r\n this.canvasContext.restore();\r\n this.globalData.blendMode = 'source-over';\r\n }\r\n this.contextData.cArrPos -= 1;\r\n var popped = this.contextData.saved[this.contextData.cArrPos];\r\n var i;\r\n var arr = this.contextData.cTr.props;\r\n for (i = 0; i < 16; i += 1) {\r\n arr[i] = popped[i];\r\n }\r\n this.canvasContext.setTransform(popped[0], popped[1], popped[4], popped[5], popped[12], popped[13]);\r\n popped = this.contextData.savedOp[this.contextData.cArrPos];\r\n this.contextData.cO = popped;\r\n if (this.globalData.currentGlobalAlpha !== popped) {\r\n this.canvasContext.globalAlpha = popped;\r\n this.globalData.currentGlobalAlpha = popped;\r\n }\r\n};\r\n\r\nCanvasRenderer.prototype.configAnimation = function (animData) {\r\n if (this.animationItem.wrapper) {\r\n this.animationItem.container = createTag('canvas');\r\n var containerStyle = this.animationItem.container.style;\r\n containerStyle.width = '100%';\r\n containerStyle.height = '100%';\r\n var origin = '0px 0px 0px';\r\n containerStyle.transformOrigin = origin;\r\n containerStyle.mozTransformOrigin = origin;\r\n containerStyle.webkitTransformOrigin = origin;\r\n containerStyle['-webkit-transform'] = origin;\r\n this.animationItem.wrapper.appendChild(this.animationItem.container);\r\n this.canvasContext = this.animationItem.container.getContext('2d');\r\n if (this.renderConfig.className) {\r\n this.animationItem.container.setAttribute('class', this.renderConfig.className);\r\n }\r\n if (this.renderConfig.id) {\r\n this.animationItem.container.setAttribute('id', this.renderConfig.id);\r\n }\r\n } else {\r\n this.canvasContext = this.renderConfig.context;\r\n }\r\n this.data = animData;\r\n this.layers = animData.layers;\r\n this.transformCanvas = {\r\n w: animData.w,\r\n h: animData.h,\r\n sx: 0,\r\n sy: 0,\r\n tx: 0,\r\n ty: 0,\r\n };\r\n this.setupGlobalData(animData, document.body);\r\n this.globalData.canvasContext = this.canvasContext;\r\n this.globalData.renderer = this;\r\n this.globalData.isDashed = false;\r\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\r\n this.globalData.transformCanvas = this.transformCanvas;\r\n this.elements = createSizedArray(animData.layers.length);\r\n\r\n this.updateContainerSize();\r\n};\r\n\r\nCanvasRenderer.prototype.updateContainerSize = function () {\r\n this.reset();\r\n var elementWidth;\r\n var elementHeight;\r\n if (this.animationItem.wrapper && this.animationItem.container) {\r\n elementWidth = this.animationItem.wrapper.offsetWidth;\r\n elementHeight = this.animationItem.wrapper.offsetHeight;\r\n this.animationItem.container.setAttribute('width', elementWidth * this.renderConfig.dpr);\r\n this.animationItem.container.setAttribute('height', elementHeight * this.renderConfig.dpr);\r\n } else {\r\n elementWidth = this.canvasContext.canvas.width * this.renderConfig.dpr;\r\n elementHeight = this.canvasContext.canvas.height * this.renderConfig.dpr;\r\n }\r\n var elementRel;\r\n var animationRel;\r\n if (this.renderConfig.preserveAspectRatio.indexOf('meet') !== -1 || this.renderConfig.preserveAspectRatio.indexOf('slice') !== -1) {\r\n var par = this.renderConfig.preserveAspectRatio.split(' ');\r\n var fillType = par[1] || 'meet';\r\n var pos = par[0] || 'xMidYMid';\r\n var xPos = pos.substr(0, 4);\r\n var yPos = pos.substr(4);\r\n elementRel = elementWidth / elementHeight;\r\n animationRel = this.transformCanvas.w / this.transformCanvas.h;\r\n if ((animationRel > elementRel && fillType === 'meet') || (animationRel < elementRel && fillType === 'slice')) {\r\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\r\n this.transformCanvas.sy = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\r\n } else {\r\n this.transformCanvas.sx = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\r\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\r\n }\r\n\r\n if (xPos === 'xMid' && ((animationRel < elementRel && fillType === 'meet') || (animationRel > elementRel && fillType === 'slice'))) {\r\n this.transformCanvas.tx = ((elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) / 2) * this.renderConfig.dpr;\r\n } else if (xPos === 'xMax' && ((animationRel < elementRel && fillType === 'meet') || (animationRel > elementRel && fillType === 'slice'))) {\r\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) * this.renderConfig.dpr;\r\n } else {\r\n this.transformCanvas.tx = 0;\r\n }\r\n if (yPos === 'YMid' && ((animationRel > elementRel && fillType === 'meet') || (animationRel < elementRel && fillType === 'slice'))) {\r\n this.transformCanvas.ty = ((elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) / 2) * this.renderConfig.dpr;\r\n } else if (yPos === 'YMax' && ((animationRel > elementRel && fillType === 'meet') || (animationRel < elementRel && fillType === 'slice'))) {\r\n this.transformCanvas.ty = ((elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w))) * this.renderConfig.dpr;\r\n } else {\r\n this.transformCanvas.ty = 0;\r\n }\r\n } else if (this.renderConfig.preserveAspectRatio === 'none') {\r\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\r\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\r\n this.transformCanvas.tx = 0;\r\n this.transformCanvas.ty = 0;\r\n } else {\r\n this.transformCanvas.sx = this.renderConfig.dpr;\r\n this.transformCanvas.sy = this.renderConfig.dpr;\r\n this.transformCanvas.tx = 0;\r\n this.transformCanvas.ty = 0;\r\n }\r\n this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1];\r\n /* var i, len = this.elements.length;\r\n for(i=0;i= 0; i -= 1) {\r\n if (this.elements[i]) {\r\n this.elements[i].destroy();\r\n }\r\n }\r\n this.elements.length = 0;\r\n this.globalData.canvasContext = null;\r\n this.animationItem.container = null;\r\n this.destroyed = true;\r\n};\r\n\r\nCanvasRenderer.prototype.renderFrame = function (num, forceRender) {\r\n if ((this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender) || this.destroyed || num === -1) {\r\n return;\r\n }\r\n this.renderedFrame = num;\r\n this.globalData.frameNum = num - this.animationItem._isFirstFrame;\r\n this.globalData.frameId += 1;\r\n this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;\r\n this.globalData.projectInterface.currentFrame = num;\r\n\r\n // console.log('--------');\r\n // console.log('NEW: ',num);\r\n var i;\r\n var len = this.layers.length;\r\n if (!this.completeLayers) {\r\n this.checkLayers(num);\r\n }\r\n\r\n for (i = 0; i < len; i += 1) {\r\n if (this.completeLayers || this.elements[i]) {\r\n this.elements[i].prepareFrame(num - this.layers[i].st);\r\n }\r\n }\r\n if (this.globalData._mdf) {\r\n if (this.renderConfig.clearCanvas === true) {\r\n this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);\r\n } else {\r\n this.save();\r\n }\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n if (this.completeLayers || this.elements[i]) {\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n if (this.renderConfig.clearCanvas !== true) {\r\n this.restore();\r\n }\r\n }\r\n};\r\n\r\nCanvasRenderer.prototype.buildItem = function (pos) {\r\n var elements = this.elements;\r\n if (elements[pos] || this.layers[pos].ty === 99) {\r\n return;\r\n }\r\n var element = this.createItem(this.layers[pos], this, this.globalData);\r\n elements[pos] = element;\r\n element.initExpressions();\r\n /* if(this.layers[pos].ty === 0){\r\n element.resize(this.globalData.transformCanvas);\r\n } */\r\n};\r\n\r\nCanvasRenderer.prototype.checkPendingElements = function () {\r\n while (this.pendingElements.length) {\r\n var element = this.pendingElements.pop();\r\n element.checkParenting();\r\n }\r\n};\r\n\r\nCanvasRenderer.prototype.hide = function () {\r\n this.animationItem.container.style.display = 'none';\r\n};\r\n\r\nCanvasRenderer.prototype.show = function () {\r\n this.animationItem.container.style.display = 'block';\r\n};\r\n\r\n/* global extendPrototype, BaseRenderer, SVGRenderer, SVGShapeElement, HShapeElement, SVGTextLottieElement,\r\nHTextElement, HCameraElement, IImageElement, HImageElement, SVGCompElement, HCompElement, ISolidElement,\r\nHSolidElement, styleDiv, createTag, createNS */\r\n\r\nfunction HybridRenderer(animationItem, config) {\r\n this.animationItem = animationItem;\r\n this.layers = null;\r\n this.renderedFrame = -1;\r\n this.renderConfig = {\r\n className: (config && config.className) || '',\r\n imagePreserveAspectRatio: (config && config.imagePreserveAspectRatio) || 'xMidYMid slice',\r\n hideOnTransparent: !(config && config.hideOnTransparent === false),\r\n filterSize: {\r\n width: (config && config.filterSize && config.filterSize.width) || '400%',\r\n height: (config && config.filterSize && config.filterSize.height) || '400%',\r\n x: (config && config.filterSize && config.filterSize.x) || '-100%',\r\n y: (config && config.filterSize && config.filterSize.y) || '-100%',\r\n },\r\n };\r\n this.globalData = {\r\n _mdf: false,\r\n frameNum: -1,\r\n renderConfig: this.renderConfig,\r\n };\r\n this.pendingElements = [];\r\n this.elements = [];\r\n this.threeDElements = [];\r\n this.destroyed = false;\r\n this.camera = null;\r\n this.supports3d = true;\r\n this.rendererType = 'html';\r\n}\r\n\r\nextendPrototype([BaseRenderer], HybridRenderer);\r\n\r\nHybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem;\r\n\r\nHybridRenderer.prototype.checkPendingElements = function () {\r\n while (this.pendingElements.length) {\r\n var element = this.pendingElements.pop();\r\n element.checkParenting();\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.appendElementInPos = function (element, pos) {\r\n var newDOMElement = element.getBaseElement();\r\n if (!newDOMElement) {\r\n return;\r\n }\r\n var layer = this.layers[pos];\r\n if (!layer.ddd || !this.supports3d) {\r\n if (this.threeDElements) {\r\n this.addTo3dContainer(newDOMElement, pos);\r\n } else {\r\n var i = 0;\r\n var nextDOMElement;\r\n var nextLayer;\r\n var tmpDOMElement;\r\n while (i < pos) {\r\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement) {\r\n nextLayer = this.elements[i];\r\n tmpDOMElement = this.layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\r\n nextDOMElement = tmpDOMElement || nextDOMElement;\r\n }\r\n i += 1;\r\n }\r\n if (nextDOMElement) {\r\n if (!layer.ddd || !this.supports3d) {\r\n this.layerElement.insertBefore(newDOMElement, nextDOMElement);\r\n }\r\n } else if (!layer.ddd || !this.supports3d) {\r\n this.layerElement.appendChild(newDOMElement);\r\n }\r\n }\r\n } else {\r\n this.addTo3dContainer(newDOMElement, pos);\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.createShape = function (data) {\r\n if (!this.supports3d) {\r\n return new SVGShapeElement(data, this.globalData, this);\r\n }\r\n return new HShapeElement(data, this.globalData, this);\r\n};\r\n\r\nHybridRenderer.prototype.createText = function (data) {\r\n if (!this.supports3d) {\r\n return new SVGTextLottieElement(data, this.globalData, this);\r\n }\r\n return new HTextElement(data, this.globalData, this);\r\n};\r\n\r\nHybridRenderer.prototype.createCamera = function (data) {\r\n this.camera = new HCameraElement(data, this.globalData, this);\r\n return this.camera;\r\n};\r\n\r\nHybridRenderer.prototype.createImage = function (data) {\r\n if (!this.supports3d) {\r\n return new IImageElement(data, this.globalData, this);\r\n }\r\n return new HImageElement(data, this.globalData, this);\r\n};\r\n\r\nHybridRenderer.prototype.createComp = function (data) {\r\n if (!this.supports3d) {\r\n return new SVGCompElement(data, this.globalData, this);\r\n }\r\n return new HCompElement(data, this.globalData, this);\r\n};\r\n\r\nHybridRenderer.prototype.createSolid = function (data) {\r\n if (!this.supports3d) {\r\n return new ISolidElement(data, this.globalData, this);\r\n }\r\n return new HSolidElement(data, this.globalData, this);\r\n};\r\n\r\nHybridRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\r\n\r\nHybridRenderer.prototype.getThreeDContainerByPos = function (pos) {\r\n var i = 0;\r\n var len = this.threeDElements.length;\r\n while (i < len) {\r\n if (this.threeDElements[i].startPos <= pos && this.threeDElements[i].endPos >= pos) {\r\n return this.threeDElements[i].perspectiveElem;\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n};\r\n\r\nHybridRenderer.prototype.createThreeDContainer = function (pos, type) {\r\n var perspectiveElem = createTag('div');\r\n var style;\r\n var containerStyle;\r\n styleDiv(perspectiveElem);\r\n var container = createTag('div');\r\n styleDiv(container);\r\n if (type === '3d') {\r\n style = perspectiveElem.style;\r\n style.width = this.globalData.compSize.w + 'px';\r\n style.height = this.globalData.compSize.h + 'px';\r\n var center = '50% 50%';\r\n style.webkitTransformOrigin = center;\r\n style.mozTransformOrigin = center;\r\n style.transformOrigin = center;\r\n containerStyle = container.style;\r\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\r\n containerStyle.transform = matrix;\r\n containerStyle.webkitTransform = matrix;\r\n }\r\n\r\n perspectiveElem.appendChild(container);\r\n // this.resizerElem.appendChild(perspectiveElem);\r\n var threeDContainerData = {\r\n container: container,\r\n perspectiveElem: perspectiveElem,\r\n startPos: pos,\r\n endPos: pos,\r\n type: type,\r\n };\r\n this.threeDElements.push(threeDContainerData);\r\n return threeDContainerData;\r\n};\r\n\r\nHybridRenderer.prototype.build3dContainers = function () {\r\n var i;\r\n var len = this.layers.length;\r\n var lastThreeDContainerData;\r\n var currentContainer = '';\r\n for (i = 0; i < len; i += 1) {\r\n if (this.layers[i].ddd && this.layers[i].ty !== 3) {\r\n if (currentContainer !== '3d') {\r\n currentContainer = '3d';\r\n lastThreeDContainerData = this.createThreeDContainer(i, '3d');\r\n }\r\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\r\n } else {\r\n if (currentContainer !== '2d') {\r\n currentContainer = '2d';\r\n lastThreeDContainerData = this.createThreeDContainer(i, '2d');\r\n }\r\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\r\n }\r\n }\r\n len = this.threeDElements.length;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.addTo3dContainer = function (elem, pos) {\r\n var i = 0;\r\n var len = this.threeDElements.length;\r\n while (i < len) {\r\n if (pos <= this.threeDElements[i].endPos) {\r\n var j = this.threeDElements[i].startPos;\r\n var nextElement;\r\n while (j < pos) {\r\n if (this.elements[j] && this.elements[j].getBaseElement) {\r\n nextElement = this.elements[j].getBaseElement();\r\n }\r\n j += 1;\r\n }\r\n if (nextElement) {\r\n this.threeDElements[i].container.insertBefore(elem, nextElement);\r\n } else {\r\n this.threeDElements[i].container.appendChild(elem);\r\n }\r\n break;\r\n }\r\n i += 1;\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.configAnimation = function (animData) {\r\n var resizerElem = createTag('div');\r\n var wrapper = this.animationItem.wrapper;\r\n var style = resizerElem.style;\r\n style.width = animData.w + 'px';\r\n style.height = animData.h + 'px';\r\n this.resizerElem = resizerElem;\r\n styleDiv(resizerElem);\r\n style.transformStyle = 'flat';\r\n style.mozTransformStyle = 'flat';\r\n style.webkitTransformStyle = 'flat';\r\n if (this.renderConfig.className) {\r\n resizerElem.setAttribute('class', this.renderConfig.className);\r\n }\r\n wrapper.appendChild(resizerElem);\r\n\r\n style.overflow = 'hidden';\r\n var svg = createNS('svg');\r\n svg.setAttribute('width', '1');\r\n svg.setAttribute('height', '1');\r\n styleDiv(svg);\r\n this.resizerElem.appendChild(svg);\r\n var defs = createNS('defs');\r\n svg.appendChild(defs);\r\n this.data = animData;\r\n // Mask animation\r\n this.setupGlobalData(animData, svg);\r\n this.globalData.defs = defs;\r\n this.layers = animData.layers;\r\n this.layerElement = this.resizerElem;\r\n this.build3dContainers();\r\n this.updateContainerSize();\r\n};\r\n\r\nHybridRenderer.prototype.destroy = function () {\r\n if (this.animationItem.wrapper) {\r\n this.animationItem.wrapper.innerText = '';\r\n }\r\n this.animationItem.container = null;\r\n this.globalData.defs = null;\r\n var i;\r\n var len = this.layers ? this.layers.length : 0;\r\n for (i = 0; i < len; i += 1) {\r\n this.elements[i].destroy();\r\n }\r\n this.elements.length = 0;\r\n this.destroyed = true;\r\n this.animationItem = null;\r\n};\r\n\r\nHybridRenderer.prototype.updateContainerSize = function () {\r\n var elementWidth = this.animationItem.wrapper.offsetWidth;\r\n var elementHeight = this.animationItem.wrapper.offsetHeight;\r\n var elementRel = elementWidth / elementHeight;\r\n var animationRel = this.globalData.compSize.w / this.globalData.compSize.h;\r\n var sx;\r\n var sy;\r\n var tx;\r\n var ty;\r\n if (animationRel > elementRel) {\r\n sx = elementWidth / (this.globalData.compSize.w);\r\n sy = elementWidth / (this.globalData.compSize.w);\r\n tx = 0;\r\n ty = ((elementHeight - this.globalData.compSize.h * (elementWidth / this.globalData.compSize.w)) / 2);\r\n } else {\r\n sx = elementHeight / (this.globalData.compSize.h);\r\n sy = elementHeight / (this.globalData.compSize.h);\r\n tx = (elementWidth - this.globalData.compSize.w * (elementHeight / this.globalData.compSize.h)) / 2;\r\n ty = 0;\r\n }\r\n var style = this.resizerElem.style;\r\n style.webkitTransform = 'matrix3d(' + sx + ',0,0,0,0,' + sy + ',0,0,0,0,1,0,' + tx + ',' + ty + ',0,1)';\r\n style.transform = style.webkitTransform;\r\n};\r\n\r\nHybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\r\n\r\nHybridRenderer.prototype.hide = function () {\r\n this.resizerElem.style.display = 'none';\r\n};\r\n\r\nHybridRenderer.prototype.show = function () {\r\n this.resizerElem.style.display = 'block';\r\n};\r\n\r\nHybridRenderer.prototype.initItems = function () {\r\n this.buildAllItems();\r\n if (this.camera) {\r\n this.camera.setup();\r\n } else {\r\n var cWidth = this.globalData.compSize.w;\r\n var cHeight = this.globalData.compSize.h;\r\n var i;\r\n var len = this.threeDElements.length;\r\n for (i = 0; i < len; i += 1) {\r\n var style = this.threeDElements[i].perspectiveElem.style;\r\n style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + 'px';\r\n style.perspective = style.webkitPerspective;\r\n }\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.searchExtraCompositions = function (assets) {\r\n var i;\r\n var len = assets.length;\r\n var floatingContainer = createTag('div');\r\n for (i = 0; i < len; i += 1) {\r\n if (assets[i].xt) {\r\n var comp = this.createComp(assets[i], floatingContainer, this.globalData.comp, null);\r\n comp.initExpressions();\r\n this.globalData.projectInterface.registerComposition(comp);\r\n }\r\n }\r\n};\r\n\r\n/* global createSizedArray, createElementID, PropertyFactory, ShapePropertyFactory, createNS, locationHref */\r\n\r\nfunction MaskElement(data, element, globalData) {\r\n this.data = data;\r\n this.element = element;\r\n this.globalData = globalData;\r\n this.storedData = [];\r\n this.masksProperties = this.data.masksProperties || [];\r\n this.maskElement = null;\r\n var defs = this.globalData.defs;\r\n var i;\r\n var len = this.masksProperties ? this.masksProperties.length : 0;\r\n this.viewData = createSizedArray(len);\r\n this.solidPath = '';\r\n\r\n var path;\r\n var properties = this.masksProperties;\r\n var count = 0;\r\n var currentMasks = [];\r\n var j;\r\n var jLen;\r\n var layerId = createElementID();\r\n var rect;\r\n var expansor;\r\n var feMorph;\r\n var x;\r\n var maskType = 'clipPath';\r\n var maskRef = 'clip-path';\r\n for (i = 0; i < len; i += 1) {\r\n if ((properties[i].mode !== 'a' && properties[i].mode !== 'n') || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\r\n maskType = 'mask';\r\n maskRef = 'mask';\r\n }\r\n\r\n if ((properties[i].mode === 's' || properties[i].mode === 'i') && count === 0) {\r\n rect = createNS('rect');\r\n rect.setAttribute('fill', '#ffffff');\r\n rect.setAttribute('width', this.element.comp.data.w || 0);\r\n rect.setAttribute('height', this.element.comp.data.h || 0);\r\n currentMasks.push(rect);\r\n } else {\r\n rect = null;\r\n }\r\n\r\n path = createNS('path');\r\n if (properties[i].mode === 'n') {\r\n // TODO move this to a factory or to a constructor\r\n this.viewData[i] = {\r\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\r\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\r\n elem: path,\r\n lastPath: '',\r\n };\r\n defs.appendChild(path);\r\n } else {\r\n count += 1;\r\n\r\n path.setAttribute('fill', properties[i].mode === 's' ? '#000000' : '#ffffff');\r\n path.setAttribute('clip-rule', 'nonzero');\r\n var filterID;\r\n\r\n if (properties[i].x.k !== 0) {\r\n maskType = 'mask';\r\n maskRef = 'mask';\r\n x = PropertyFactory.getProp(this.element, properties[i].x, 0, null, this.element);\r\n filterID = createElementID();\r\n expansor = createNS('filter');\r\n expansor.setAttribute('id', filterID);\r\n feMorph = createNS('feMorphology');\r\n feMorph.setAttribute('operator', 'erode');\r\n feMorph.setAttribute('in', 'SourceGraphic');\r\n feMorph.setAttribute('radius', '0');\r\n expansor.appendChild(feMorph);\r\n defs.appendChild(expansor);\r\n path.setAttribute('stroke', properties[i].mode === 's' ? '#000000' : '#ffffff');\r\n } else {\r\n feMorph = null;\r\n x = null;\r\n }\r\n\r\n // TODO move this to a factory or to a constructor\r\n this.storedData[i] = {\r\n elem: path,\r\n x: x,\r\n expan: feMorph,\r\n lastPath: '',\r\n lastOperator: '',\r\n filterId: filterID,\r\n lastRadius: 0,\r\n };\r\n if (properties[i].mode === 'i') {\r\n jLen = currentMasks.length;\r\n var g = createNS('g');\r\n for (j = 0; j < jLen; j += 1) {\r\n g.appendChild(currentMasks[j]);\r\n }\r\n var mask = createNS('mask');\r\n mask.setAttribute('mask-type', 'alpha');\r\n mask.setAttribute('id', layerId + '_' + count);\r\n mask.appendChild(path);\r\n defs.appendChild(mask);\r\n g.setAttribute('mask', 'url(' + locationHref + '#' + layerId + '_' + count + ')');\r\n\r\n currentMasks.length = 0;\r\n currentMasks.push(g);\r\n } else {\r\n currentMasks.push(path);\r\n }\r\n if (properties[i].inv && !this.solidPath) {\r\n this.solidPath = this.createLayerSolidPath();\r\n }\r\n // TODO move this to a factory or to a constructor\r\n this.viewData[i] = {\r\n elem: path,\r\n lastPath: '',\r\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\r\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\r\n invRect: rect,\r\n };\r\n if (!this.viewData[i].prop.k) {\r\n this.drawPath(properties[i], this.viewData[i].prop.v, this.viewData[i]);\r\n }\r\n }\r\n }\r\n\r\n this.maskElement = createNS(maskType);\r\n\r\n len = currentMasks.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.maskElement.appendChild(currentMasks[i]);\r\n }\r\n\r\n if (count > 0) {\r\n this.maskElement.setAttribute('id', layerId);\r\n this.element.maskedElement.setAttribute(maskRef, 'url(' + locationHref + '#' + layerId + ')');\r\n defs.appendChild(this.maskElement);\r\n }\r\n if (this.viewData.length) {\r\n this.element.addRenderableComponent(this);\r\n }\r\n}\r\n\r\nMaskElement.prototype.getMaskProperty = function (pos) {\r\n return this.viewData[pos].prop;\r\n};\r\n\r\nMaskElement.prototype.renderFrame = function (isFirstFrame) {\r\n var finalMat = this.element.finalTransform.mat;\r\n var i;\r\n var len = this.masksProperties.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (this.viewData[i].prop._mdf || isFirstFrame) {\r\n this.drawPath(this.masksProperties[i], this.viewData[i].prop.v, this.viewData[i]);\r\n }\r\n if (this.viewData[i].op._mdf || isFirstFrame) {\r\n this.viewData[i].elem.setAttribute('fill-opacity', this.viewData[i].op.v);\r\n }\r\n if (this.masksProperties[i].mode !== 'n') {\r\n if (this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)) {\r\n this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS());\r\n }\r\n if (this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)) {\r\n var feMorph = this.storedData[i].expan;\r\n if (this.storedData[i].x.v < 0) {\r\n if (this.storedData[i].lastOperator !== 'erode') {\r\n this.storedData[i].lastOperator = 'erode';\r\n this.storedData[i].elem.setAttribute('filter', 'url(' + locationHref + '#' + this.storedData[i].filterId + ')');\r\n }\r\n feMorph.setAttribute('radius', -this.storedData[i].x.v);\r\n } else {\r\n if (this.storedData[i].lastOperator !== 'dilate') {\r\n this.storedData[i].lastOperator = 'dilate';\r\n this.storedData[i].elem.setAttribute('filter', null);\r\n }\r\n this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v * 2);\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nMaskElement.prototype.getMaskelement = function () {\r\n return this.maskElement;\r\n};\r\n\r\nMaskElement.prototype.createLayerSolidPath = function () {\r\n var path = 'M0,0 ';\r\n path += ' h' + this.globalData.compSize.w;\r\n path += ' v' + this.globalData.compSize.h;\r\n path += ' h-' + this.globalData.compSize.w;\r\n path += ' v-' + this.globalData.compSize.h + ' ';\r\n return path;\r\n};\r\n\r\nMaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\r\n var pathString = ' M' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\r\n var i;\r\n var len;\r\n len = pathNodes._length;\r\n for (i = 1; i < len; i += 1) {\r\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];\r\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];\r\n }\r\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];\r\n if (pathNodes.c && len > 1) {\r\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];\r\n }\r\n // pathNodes.__renderedString = pathString;\r\n\r\n if (viewData.lastPath !== pathString) {\r\n var pathShapeValue = '';\r\n if (viewData.elem) {\r\n if (pathNodes.c) {\r\n pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;\r\n }\r\n viewData.elem.setAttribute('d', pathShapeValue);\r\n }\r\n viewData.lastPath = pathString;\r\n }\r\n};\r\n\r\nMaskElement.prototype.destroy = function () {\r\n this.element = null;\r\n this.globalData = null;\r\n this.maskElement = null;\r\n this.data = null;\r\n this.masksProperties = null;\r\n};\r\n\r\n/**\r\n * @file\r\n * Handles AE's layer parenting property.\r\n *\r\n */\r\n\r\nfunction HierarchyElement() {}\r\n\r\nHierarchyElement.prototype = {\r\n /**\r\n * @function\r\n * Initializes hierarchy properties\r\n *\r\n */\r\n initHierarchy: function () {\r\n // element's parent list\r\n this.hierarchy = [];\r\n // if element is parent of another layer _isParent will be true\r\n this._isParent = false;\r\n this.checkParenting();\r\n },\r\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 */\r\n setHierarchy: function (hierarchy) {\r\n this.hierarchy = hierarchy;\r\n },\r\n /**\r\n * @function\r\n * Sets layer as parent.\r\n *\r\n */\r\n setAsParent: function () {\r\n this._isParent = true;\r\n },\r\n /**\r\n * @function\r\n * Searches layer's parenting chain\r\n *\r\n */\r\n checkParenting: function () {\r\n if (this.data.parent !== undefined) {\r\n this.comp.buildElementParenting(this, this.data.parent, []);\r\n }\r\n },\r\n};\r\n\r\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 */\r\n\r\nfunction FrameElement() {}\r\n\r\nFrameElement.prototype = {\r\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n */\r\n initFrame: function () {\r\n // set to true when inpoint is rendered\r\n this._isFirstFrame = false;\r\n // list of animated properties\r\n this.dynamicProperties = [];\r\n // If layer has been modified in current tick this will be true\r\n this._mdf = false;\r\n },\r\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 */\r\n prepareProperties: function (num, isVisible) {\r\n var i;\r\n var len = this.dynamicProperties.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (isVisible || (this._isParent && this.dynamicProperties[i].propType === 'transform')) {\r\n this.dynamicProperties[i].getValue();\r\n if (this.dynamicProperties[i]._mdf) {\r\n this.globalData._mdf = true;\r\n this._mdf = true;\r\n }\r\n }\r\n }\r\n },\r\n addDynamicProperty: function (prop) {\r\n if (this.dynamicProperties.indexOf(prop) === -1) {\r\n this.dynamicProperties.push(prop);\r\n }\r\n },\r\n};\r\n\r\n/* global TransformPropertyFactory, Matrix */\r\n\r\nfunction TransformElement() {}\r\n\r\nTransformElement.prototype = {\r\n initTransform: function () {\r\n this.finalTransform = {\r\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : { o: 0 },\r\n _matMdf: false,\r\n _opMdf: false,\r\n mat: new Matrix(),\r\n };\r\n if (this.data.ao) {\r\n this.finalTransform.mProp.autoOriented = true;\r\n }\r\n\r\n // TODO: check TYPE 11: Guided elements\r\n if (this.data.ty !== 11) {\r\n // this.createElements();\r\n }\r\n },\r\n renderTransform: function () {\r\n this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;\r\n this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;\r\n\r\n if (this.hierarchy) {\r\n var mat;\r\n var finalMat = this.finalTransform.mat;\r\n var i = 0;\r\n var len = this.hierarchy.length;\r\n // Checking if any of the transformation matrices in the hierarchy chain has changed.\r\n if (!this.finalTransform._matMdf) {\r\n while (i < len) {\r\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\r\n this.finalTransform._matMdf = true;\r\n break;\r\n }\r\n i += 1;\r\n }\r\n }\r\n\r\n if (this.finalTransform._matMdf) {\r\n mat = this.finalTransform.mProp.v.props;\r\n finalMat.cloneFromProps(mat);\r\n for (i = 0; i < len; i += 1) {\r\n mat = this.hierarchy[i].finalTransform.mProp.v.props;\r\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]);\r\n }\r\n }\r\n }\r\n },\r\n globalToLocal: function (pt) {\r\n var transforms = [];\r\n transforms.push(this.finalTransform);\r\n var flag = true;\r\n var comp = this.comp;\r\n while (flag) {\r\n if (comp.finalTransform) {\r\n if (comp.data.hasMask) {\r\n transforms.splice(0, 0, comp.finalTransform);\r\n }\r\n comp = comp.comp;\r\n } else {\r\n flag = false;\r\n }\r\n }\r\n var i;\r\n var len = transforms.length;\r\n var ptNew;\r\n for (i = 0; i < len; i += 1) {\r\n ptNew = transforms[i].mat.applyToPointArray(0, 0, 0);\r\n // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\r\n pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\r\n }\r\n return pt;\r\n },\r\n mHelper: new Matrix(),\r\n};\r\n\r\nfunction RenderableElement() {\r\n\r\n}\r\n\r\nRenderableElement.prototype = {\r\n initRenderable: function () {\r\n // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\r\n this.isInRange = false;\r\n // layer's display state\r\n this.hidden = false;\r\n // If layer's transparency equals 0, it can be hidden\r\n this.isTransparent = false;\r\n // list of animated components\r\n this.renderableComponents = [];\r\n },\r\n addRenderableComponent: function (component) {\r\n if (this.renderableComponents.indexOf(component) === -1) {\r\n this.renderableComponents.push(component);\r\n }\r\n },\r\n removeRenderableComponent: function (component) {\r\n if (this.renderableComponents.indexOf(component) !== -1) {\r\n this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);\r\n }\r\n },\r\n prepareRenderableFrame: function (num) {\r\n this.checkLayerLimits(num);\r\n },\r\n checkTransparency: function () {\r\n if (this.finalTransform.mProp.o.v <= 0) {\r\n if (!this.isTransparent && this.globalData.renderConfig.hideOnTransparent) {\r\n this.isTransparent = true;\r\n this.hide();\r\n }\r\n } else if (this.isTransparent) {\r\n this.isTransparent = false;\r\n this.show();\r\n }\r\n },\r\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 */\r\n checkLayerLimits: function (num) {\r\n if (this.data.ip - this.data.st <= num && this.data.op - this.data.st > num) {\r\n if (this.isInRange !== true) {\r\n this.globalData._mdf = true;\r\n this._mdf = true;\r\n this.isInRange = true;\r\n this.show();\r\n }\r\n } else if (this.isInRange !== false) {\r\n this.globalData._mdf = true;\r\n this.isInRange = false;\r\n this.hide();\r\n }\r\n },\r\n renderRenderable: function () {\r\n var i;\r\n var len = this.renderableComponents.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.renderableComponents[i].renderFrame(this._isFirstFrame);\r\n }\r\n /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\r\n },\r\n sourceRectAtTime: function () {\r\n return {\r\n top: 0,\r\n left: 0,\r\n width: 100,\r\n height: 100,\r\n };\r\n },\r\n getLayerSize: function () {\r\n if (this.data.ty === 5) {\r\n return { w: this.data.textData.width, h: this.data.textData.height };\r\n }\r\n return { w: this.data.width, h: this.data.height };\r\n },\r\n};\r\n\r\n/* global extendPrototype, RenderableElement, createProxyFunction */\r\n\r\nfunction RenderableDOMElement() {}\r\n\r\n(function () {\r\n var _prototype = {\r\n initElement: function (data, globalData, comp) {\r\n this.initFrame();\r\n this.initBaseData(data, globalData, comp);\r\n this.initTransform(data, globalData, comp);\r\n this.initHierarchy();\r\n this.initRenderable();\r\n this.initRendererElement();\r\n this.createContainerElements();\r\n this.createRenderableComponents();\r\n this.createContent();\r\n this.hide();\r\n },\r\n hide: function () {\r\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\r\n var elem = this.baseElement || this.layerElement;\r\n elem.style.display = 'none';\r\n this.hidden = true;\r\n }\r\n },\r\n show: function () {\r\n if (this.isInRange && !this.isTransparent) {\r\n if (!this.data.hd) {\r\n var elem = this.baseElement || this.layerElement;\r\n elem.style.display = 'block';\r\n }\r\n this.hidden = false;\r\n this._isFirstFrame = true;\r\n }\r\n },\r\n renderFrame: function () {\r\n // If it is exported as hidden (data.hd === true) no need to render\r\n // If it is not visible no need to render\r\n if (this.data.hd || this.hidden) {\r\n return;\r\n }\r\n this.renderTransform();\r\n this.renderRenderable();\r\n this.renderElement();\r\n this.renderInnerContent();\r\n if (this._isFirstFrame) {\r\n this._isFirstFrame = false;\r\n }\r\n },\r\n renderInnerContent: function () {},\r\n prepareFrame: function (num) {\r\n this._mdf = false;\r\n this.prepareRenderableFrame(num);\r\n this.prepareProperties(num, this.isInRange);\r\n this.checkTransparency();\r\n },\r\n destroy: function () {\r\n this.innerElem = null;\r\n this.destroyBaseElement();\r\n },\r\n };\r\n extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\r\n}());\r\n\r\n/* exported ProcessedElement */\r\n\r\nfunction ProcessedElement(element, position) {\r\n this.elem = element;\r\n this.pos = position;\r\n}\r\n\r\n/* global createNS */\r\n\r\nfunction SVGStyleData(data, level) {\r\n this.data = data;\r\n this.type = data.ty;\r\n this.d = '';\r\n this.lvl = level;\r\n this._mdf = false;\r\n this.closed = data.hd === true;\r\n this.pElem = createNS('path');\r\n this.msElem = null;\r\n}\r\n\r\nSVGStyleData.prototype.reset = function () {\r\n this.d = '';\r\n this._mdf = false;\r\n};\r\n\r\nfunction SVGShapeData(transformers, level, shape) {\r\n this.caches = [];\r\n this.styles = [];\r\n this.transformers = transformers;\r\n this.lStr = '';\r\n this.sh = shape;\r\n this.lvl = level;\r\n // TODO find if there are some cases where _isAnimated can be false.\r\n // For now, since shapes add up with other shapes. They have to be calculated every time.\r\n // One way of finding out is checking if all styles associated to this shape depend only of this shape\r\n this._isAnimated = !!shape.k;\r\n // TODO: commenting this for now since all shapes are animated\r\n var i = 0;\r\n var len = transformers.length;\r\n while (i < len) {\r\n if (transformers[i].mProps.dynamicProperties.length) {\r\n this._isAnimated = true;\r\n break;\r\n }\r\n i += 1;\r\n }\r\n}\r\n\r\nSVGShapeData.prototype.setAsAnimated = function () {\r\n this._isAnimated = true;\r\n};\r\n\r\n/* exported SVGTransformData */\r\n\r\nfunction SVGTransformData(mProps, op, container) {\r\n this.transform = {\r\n mProps: mProps,\r\n op: op,\r\n container: container,\r\n };\r\n this.elements = [];\r\n this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\r\n}\r\n\r\n/* global DashProperty, PropertyFactory, extendPrototype, DynamicPropertyContainer */\r\n\r\nfunction SVGStrokeStyleData(elem, data, styleOb) {\r\n this.initDynamicPropertyContainer(elem);\r\n this.getValue = this.iterateDynamicProperties;\r\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\r\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\r\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\r\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\r\n this.style = styleOb;\r\n this._isAnimated = !!this._isAnimated;\r\n}\r\n\r\nextendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\r\n\r\n/* global PropertyFactory, extendPrototype, DynamicPropertyContainer */\r\n\r\nfunction SVGFillStyleData(elem, data, styleOb) {\r\n this.initDynamicPropertyContainer(elem);\r\n this.getValue = this.iterateDynamicProperties;\r\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\r\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\r\n this.style = styleOb;\r\n}\r\n\r\nextendPrototype([DynamicPropertyContainer], SVGFillStyleData);\r\n\r\n/* global PropertyFactory, degToRads, GradientProperty, createElementID, createNS, locationHref,\r\nextendPrototype, DynamicPropertyContainer, lineCapEnum, lineJoinEnum */\r\n\r\nfunction SVGGradientFillStyleData(elem, data, styleOb) {\r\n this.initDynamicPropertyContainer(elem);\r\n this.getValue = this.iterateDynamicProperties;\r\n this.initGradientData(elem, data, styleOb);\r\n}\r\n\r\nSVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\r\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\r\n this.s = PropertyFactory.getProp(elem, data.s, 1, null, this);\r\n this.e = PropertyFactory.getProp(elem, data.e, 1, null, this);\r\n this.h = PropertyFactory.getProp(elem, data.h || { k: 0 }, 0, 0.01, this);\r\n this.a = PropertyFactory.getProp(elem, data.a || { k: 0 }, 0, degToRads, this);\r\n this.g = new GradientProperty(elem, data.g, this);\r\n this.style = styleOb;\r\n this.stops = [];\r\n this.setGradientData(styleOb.pElem, data);\r\n this.setGradientOpacity(data, styleOb);\r\n this._isAnimated = !!this._isAnimated;\r\n};\r\n\r\nSVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\r\n var gradientId = createElementID();\r\n var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\r\n gfill.setAttribute('id', gradientId);\r\n gfill.setAttribute('spreadMethod', 'pad');\r\n gfill.setAttribute('gradientUnits', 'userSpaceOnUse');\r\n var stops = [];\r\n var stop;\r\n var j;\r\n var jLen;\r\n jLen = data.g.p * 4;\r\n for (j = 0; j < jLen; j += 4) {\r\n stop = createNS('stop');\r\n gfill.appendChild(stop);\r\n stops.push(stop);\r\n }\r\n pathElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + locationHref + '#' + gradientId + ')');\r\n this.gf = gfill;\r\n this.cst = stops;\r\n};\r\n\r\nSVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\r\n if (this.g._hasOpacity && !this.g._collapsable) {\r\n var stop;\r\n var j;\r\n var jLen;\r\n var mask = createNS('mask');\r\n var maskElement = createNS('path');\r\n mask.appendChild(maskElement);\r\n var opacityId = createElementID();\r\n var maskId = createElementID();\r\n mask.setAttribute('id', maskId);\r\n var opFill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\r\n opFill.setAttribute('id', opacityId);\r\n opFill.setAttribute('spreadMethod', 'pad');\r\n opFill.setAttribute('gradientUnits', 'userSpaceOnUse');\r\n jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\r\n var stops = this.stops;\r\n for (j = data.g.p * 4; j < jLen; j += 2) {\r\n stop = createNS('stop');\r\n stop.setAttribute('stop-color', 'rgb(255,255,255)');\r\n opFill.appendChild(stop);\r\n stops.push(stop);\r\n }\r\n maskElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + locationHref + '#' + opacityId + ')');\r\n if (data.ty === 'gs') {\r\n maskElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\r\n maskElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\r\n if (data.lj === 1) {\r\n maskElement.setAttribute('stroke-miterlimit', data.ml);\r\n }\r\n }\r\n this.of = opFill;\r\n this.ms = mask;\r\n this.ost = stops;\r\n this.maskId = maskId;\r\n styleOb.msElem = maskElement;\r\n }\r\n};\r\n\r\nextendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\r\n\r\n/* global PropertyFactory, DashProperty, extendPrototype, SVGGradientFillStyleData, DynamicPropertyContainer */\r\n\r\nfunction SVGGradientStrokeStyleData(elem, data, styleOb) {\r\n this.initDynamicPropertyContainer(elem);\r\n this.getValue = this.iterateDynamicProperties;\r\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\r\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\r\n this.initGradientData(elem, data, styleOb);\r\n this._isAnimated = !!this._isAnimated;\r\n}\r\n\r\nextendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\r\n\r\n/* global createNS */\r\n/* exported ShapeGroupData */\r\n\r\nfunction ShapeGroupData() {\r\n this.it = [];\r\n this.prevViewData = [];\r\n this.gr = createNS('g');\r\n}\r\n\r\n/* global Matrix, buildShapeString, bmFloor */\r\n/* exported SVGElementsRenderer */\r\n\r\nvar SVGElementsRenderer = (function () {\r\n var _identityMatrix = new Matrix();\r\n var _matrixHelper = new Matrix();\r\n\r\n var ob = {\r\n createRenderFunction: createRenderFunction,\r\n };\r\n\r\n function createRenderFunction(data) {\r\n switch (data.ty) {\r\n case 'fl':\r\n return renderFill;\r\n case 'gf':\r\n return renderGradient;\r\n case 'gs':\r\n return renderGradientStroke;\r\n case 'st':\r\n return renderStroke;\r\n case 'sh':\r\n case 'el':\r\n case 'rc':\r\n case 'sr':\r\n return renderPath;\r\n case 'tr':\r\n return renderContentTransform;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n function renderContentTransform(styleData, itemData, isFirstFrame) {\r\n if (isFirstFrame || itemData.transform.op._mdf) {\r\n itemData.transform.container.setAttribute('opacity', itemData.transform.op.v);\r\n }\r\n if (isFirstFrame || itemData.transform.mProps._mdf) {\r\n itemData.transform.container.setAttribute('transform', itemData.transform.mProps.v.to2dCSS());\r\n }\r\n }\r\n\r\n function renderPath(styleData, itemData, isFirstFrame) {\r\n var j;\r\n var jLen;\r\n var pathStringTransformed;\r\n var redraw;\r\n var pathNodes;\r\n var l;\r\n var lLen = itemData.styles.length;\r\n var lvl = itemData.lvl;\r\n var paths;\r\n var mat;\r\n var props;\r\n var iterations;\r\n var k;\r\n for (l = 0; l < lLen; l += 1) {\r\n redraw = itemData.sh._mdf || isFirstFrame;\r\n if (itemData.styles[l].lvl < lvl) {\r\n mat = _matrixHelper.reset();\r\n iterations = lvl - itemData.styles[l].lvl;\r\n k = itemData.transformers.length - 1;\r\n while (!redraw && iterations > 0) {\r\n redraw = itemData.transformers[k].mProps._mdf || redraw;\r\n iterations -= 1;\r\n k -= 1;\r\n }\r\n if (redraw) {\r\n iterations = lvl - itemData.styles[l].lvl;\r\n k = itemData.transformers.length - 1;\r\n while (iterations > 0) {\r\n props = itemData.transformers[k].mProps.v.props;\r\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]);\r\n iterations -= 1;\r\n k -= 1;\r\n }\r\n }\r\n } else {\r\n mat = _identityMatrix;\r\n }\r\n paths = itemData.sh.paths;\r\n jLen = paths._length;\r\n if (redraw) {\r\n pathStringTransformed = '';\r\n for (j = 0; j < jLen; j += 1) {\r\n pathNodes = paths.shapes[j];\r\n if (pathNodes && pathNodes._length) {\r\n pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\r\n }\r\n }\r\n itemData.caches[l] = pathStringTransformed;\r\n } else {\r\n pathStringTransformed = itemData.caches[l];\r\n }\r\n itemData.styles[l].d += styleData.hd === true ? '' : pathStringTransformed;\r\n itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\r\n }\r\n }\r\n\r\n function renderFill(styleData, itemData, isFirstFrame) {\r\n var styleElem = itemData.style;\r\n\r\n if (itemData.c._mdf || isFirstFrame) {\r\n styleElem.pElem.setAttribute('fill', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\r\n }\r\n if (itemData.o._mdf || isFirstFrame) {\r\n styleElem.pElem.setAttribute('fill-opacity', itemData.o.v);\r\n }\r\n }\r\n\r\n function renderGradientStroke(styleData, itemData, isFirstFrame) {\r\n renderGradient(styleData, itemData, isFirstFrame);\r\n renderStroke(styleData, itemData, isFirstFrame);\r\n }\r\n\r\n function renderGradient(styleData, itemData, isFirstFrame) {\r\n var gfill = itemData.gf;\r\n var hasOpacity = itemData.g._hasOpacity;\r\n var pt1 = itemData.s.v;\r\n var pt2 = itemData.e.v;\r\n\r\n if (itemData.o._mdf || isFirstFrame) {\r\n var attr = styleData.ty === 'gf' ? 'fill-opacity' : 'stroke-opacity';\r\n itemData.style.pElem.setAttribute(attr, itemData.o.v);\r\n }\r\n if (itemData.s._mdf || isFirstFrame) {\r\n var attr1 = styleData.t === 1 ? 'x1' : 'cx';\r\n var attr2 = attr1 === 'x1' ? 'y1' : 'cy';\r\n gfill.setAttribute(attr1, pt1[0]);\r\n gfill.setAttribute(attr2, pt1[1]);\r\n if (hasOpacity && !itemData.g._collapsable) {\r\n itemData.of.setAttribute(attr1, pt1[0]);\r\n itemData.of.setAttribute(attr2, pt1[1]);\r\n }\r\n }\r\n var stops;\r\n var i;\r\n var len;\r\n var stop;\r\n if (itemData.g._cmdf || isFirstFrame) {\r\n stops = itemData.cst;\r\n var cValues = itemData.g.c;\r\n len = stops.length;\r\n for (i = 0; i < len; i += 1) {\r\n stop = stops[i];\r\n stop.setAttribute('offset', cValues[i * 4] + '%');\r\n stop.setAttribute('stop-color', 'rgb(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ')');\r\n }\r\n }\r\n if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\r\n var oValues = itemData.g.o;\r\n if (itemData.g._collapsable) {\r\n stops = itemData.cst;\r\n } else {\r\n stops = itemData.ost;\r\n }\r\n len = stops.length;\r\n for (i = 0; i < len; i += 1) {\r\n stop = stops[i];\r\n if (!itemData.g._collapsable) {\r\n stop.setAttribute('offset', oValues[i * 2] + '%');\r\n }\r\n stop.setAttribute('stop-opacity', oValues[i * 2 + 1]);\r\n }\r\n }\r\n if (styleData.t === 1) {\r\n if (itemData.e._mdf || isFirstFrame) {\r\n gfill.setAttribute('x2', pt2[0]);\r\n gfill.setAttribute('y2', pt2[1]);\r\n if (hasOpacity && !itemData.g._collapsable) {\r\n itemData.of.setAttribute('x2', pt2[0]);\r\n itemData.of.setAttribute('y2', pt2[1]);\r\n }\r\n }\r\n } else {\r\n var rad;\r\n if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\r\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\r\n gfill.setAttribute('r', rad);\r\n if (hasOpacity && !itemData.g._collapsable) {\r\n itemData.of.setAttribute('r', rad);\r\n }\r\n }\r\n if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\r\n if (!rad) {\r\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\r\n }\r\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\r\n\r\n var percent = itemData.h.v;\r\n if (percent >= 1) {\r\n percent = 0.99;\r\n } else if (percent <= -1) {\r\n percent = -0.99;\r\n }\r\n var dist = rad * percent;\r\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\r\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\r\n gfill.setAttribute('fx', x);\r\n gfill.setAttribute('fy', y);\r\n if (hasOpacity && !itemData.g._collapsable) {\r\n itemData.of.setAttribute('fx', x);\r\n itemData.of.setAttribute('fy', y);\r\n }\r\n }\r\n // gfill.setAttribute('fy','200');\r\n }\r\n }\r\n\r\n function renderStroke(styleData, itemData, isFirstFrame) {\r\n var styleElem = itemData.style;\r\n var d = itemData.d;\r\n if (d && (d._mdf || isFirstFrame) && d.dashStr) {\r\n styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr);\r\n styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]);\r\n }\r\n if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\r\n styleElem.pElem.setAttribute('stroke', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\r\n }\r\n if (itemData.o._mdf || isFirstFrame) {\r\n styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v);\r\n }\r\n if (itemData.w._mdf || isFirstFrame) {\r\n styleElem.pElem.setAttribute('stroke-width', itemData.w.v);\r\n if (styleElem.msElem) {\r\n styleElem.msElem.setAttribute('stroke-width', itemData.w.v);\r\n }\r\n }\r\n }\r\n\r\n return ob;\r\n}());\r\n\r\n/* global Matrix */\r\n\r\nfunction ShapeTransformManager() {\r\n this.sequences = {};\r\n this.sequenceList = [];\r\n this.transform_key_count = 0;\r\n}\r\n\r\nShapeTransformManager.prototype = {\r\n addTransformSequence: function (transforms) {\r\n var i;\r\n var len = transforms.length;\r\n var key = '_';\r\n for (i = 0; i < len; i += 1) {\r\n key += transforms[i].transform.key + '_';\r\n }\r\n var sequence = this.sequences[key];\r\n if (!sequence) {\r\n sequence = {\r\n transforms: [].concat(transforms),\r\n finalTransform: new Matrix(),\r\n _mdf: false,\r\n };\r\n this.sequences[key] = sequence;\r\n this.sequenceList.push(sequence);\r\n }\r\n return sequence;\r\n },\r\n processSequence: function (sequence, isFirstFrame) {\r\n var i = 0;\r\n var len = sequence.transforms.length;\r\n var _mdf = isFirstFrame;\r\n while (i < len && !isFirstFrame) {\r\n if (sequence.transforms[i].transform.mProps._mdf) {\r\n _mdf = true;\r\n break;\r\n }\r\n i += 1;\r\n }\r\n if (_mdf) {\r\n var props;\r\n sequence.finalTransform.reset();\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n props = sequence.transforms[i].transform.mProps.v.props;\r\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]);\r\n }\r\n }\r\n sequence._mdf = _mdf;\r\n },\r\n processSequences: function (isFirstFrame) {\r\n var i;\r\n var len = this.sequenceList.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.processSequence(this.sequenceList[i], isFirstFrame);\r\n }\r\n },\r\n getNewKey: function () {\r\n this.transform_key_count += 1;\r\n return '_' + this.transform_key_count;\r\n },\r\n};\r\n\r\n/* global ShapePropertyFactory, SVGShapeData */\r\n\r\nfunction CVShapeData(element, data, styles, transformsManager) {\r\n this.styledShapes = [];\r\n this.tr = [0, 0, 0, 0, 0, 0];\r\n var ty = 4;\r\n if (data.ty === 'rc') {\r\n ty = 5;\r\n } else if (data.ty === 'el') {\r\n ty = 6;\r\n } else if (data.ty === 'sr') {\r\n ty = 7;\r\n }\r\n this.sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\r\n var i;\r\n var len = styles.length;\r\n var styledShape;\r\n for (i = 0; i < len; i += 1) {\r\n if (!styles[i].closed) {\r\n styledShape = {\r\n transforms: transformsManager.addTransformSequence(styles[i].transforms),\r\n trNodes: [],\r\n };\r\n this.styledShapes.push(styledShape);\r\n styles[i].elements.push(styledShape);\r\n }\r\n }\r\n}\r\n\r\nCVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\r\n\r\n/* global LayerExpressionInterface, EffectsExpressionInterface, CompExpressionInterface, ShapeExpressionInterface,\r\nTextExpressionInterface, getBlendMode,createElementID, EffectsManager */\r\n\r\nfunction BaseElement() {\r\n}\r\n\r\nBaseElement.prototype = {\r\n checkMasks: function () {\r\n if (!this.data.hasMask) {\r\n return false;\r\n }\r\n var i = 0;\r\n var len = this.data.masksProperties.length;\r\n while (i < len) {\r\n if ((this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false)) {\r\n return true;\r\n }\r\n i += 1;\r\n }\r\n return false;\r\n },\r\n initExpressions: function () {\r\n this.layerInterface = LayerExpressionInterface(this);\r\n if (this.data.hasMask && this.maskManager) {\r\n this.layerInterface.registerMaskInterface(this.maskManager);\r\n }\r\n var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\r\n this.layerInterface.registerEffectsInterface(effectsInterface);\r\n\r\n if (this.data.ty === 0 || this.data.xt) {\r\n this.compInterface = CompExpressionInterface(this);\r\n } else if (this.data.ty === 4) {\r\n this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface);\r\n this.layerInterface.content = this.layerInterface.shapeInterface;\r\n } else if (this.data.ty === 5) {\r\n this.layerInterface.textInterface = TextExpressionInterface(this);\r\n this.layerInterface.text = this.layerInterface.textInterface;\r\n }\r\n },\r\n setBlendMode: function () {\r\n var blendModeValue = getBlendMode(this.data.bm);\r\n var elem = this.baseElement || this.layerElement;\r\n\r\n elem.style['mix-blend-mode'] = blendModeValue;\r\n },\r\n initBaseData: function (data, globalData, comp) {\r\n this.globalData = globalData;\r\n this.comp = comp;\r\n this.data = data;\r\n this.layerId = createElementID();\r\n\r\n // Stretch factor for old animations missing this property.\r\n if (!this.data.sr) {\r\n this.data.sr = 1;\r\n }\r\n // effects manager\r\n this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\r\n },\r\n getType: function () {\r\n return this.type;\r\n },\r\n sourceRectAtTime: function () {},\r\n};\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement */\r\n\r\nfunction NullElement(data, globalData, comp) {\r\n this.initFrame();\r\n this.initBaseData(data, globalData, comp);\r\n this.initFrame();\r\n this.initTransform(data, globalData, comp);\r\n this.initHierarchy();\r\n}\r\n\r\nNullElement.prototype.prepareFrame = function (num) {\r\n this.prepareProperties(num, true);\r\n};\r\n\r\nNullElement.prototype.renderFrame = function () {\r\n};\r\n\r\nNullElement.prototype.getBaseElement = function () {\r\n return null;\r\n};\r\n\r\nNullElement.prototype.destroy = function () {\r\n};\r\n\r\nNullElement.prototype.sourceRectAtTime = function () {\r\n};\r\n\r\nNullElement.prototype.hide = function () {\r\n};\r\n\r\nextendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\r\n\r\n/* global filtersFactory, featureSupport, filtersFactory, createElementID, createNS, MaskElement, SVGEffects, locationHref */\r\n\r\nfunction SVGBaseElement() {\r\n}\r\n\r\nSVGBaseElement.prototype = {\r\n initRendererElement: function () {\r\n this.layerElement = createNS('g');\r\n },\r\n createContainerElements: function () {\r\n this.matteElement = createNS('g');\r\n this.transformedElement = this.layerElement;\r\n this.maskedElement = this.layerElement;\r\n this._sizeChanged = false;\r\n var layerElementParent = null;\r\n // If this layer acts as a mask for the following layer\r\n var filId;\r\n var fil;\r\n var gg;\r\n if (this.data.td) {\r\n if (this.data.td == 3 || this.data.td == 1) { // eslint-disable-line eqeqeq\r\n var masker = createNS('mask');\r\n masker.setAttribute('id', this.layerId);\r\n masker.setAttribute('mask-type', this.data.td == 3 ? 'luminance' : 'alpha'); // eslint-disable-line eqeqeq\r\n masker.appendChild(this.layerElement);\r\n layerElementParent = masker;\r\n this.globalData.defs.appendChild(masker);\r\n // This is only for IE and Edge when mask if of type alpha\r\n if (!featureSupport.maskType && this.data.td == 1) { // eslint-disable-line eqeqeq\r\n masker.setAttribute('mask-type', 'luminance');\r\n filId = createElementID();\r\n fil = filtersFactory.createFilter(filId);\r\n this.globalData.defs.appendChild(fil);\r\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\r\n gg = createNS('g');\r\n gg.appendChild(this.layerElement);\r\n layerElementParent = gg;\r\n masker.appendChild(gg);\r\n gg.setAttribute('filter', 'url(' + locationHref + '#' + filId + ')');\r\n }\r\n } else if (this.data.td == 2) { // eslint-disable-line eqeqeq\r\n var maskGroup = createNS('mask');\r\n maskGroup.setAttribute('id', this.layerId);\r\n maskGroup.setAttribute('mask-type', 'alpha');\r\n var maskGrouper = createNS('g');\r\n maskGroup.appendChild(maskGrouper);\r\n filId = createElementID();\r\n fil = filtersFactory.createFilter(filId);\r\n /// /\r\n\r\n // This solution doesn't work on Android when meta tag with viewport attribute is set\r\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); */\r\n /// /\r\n var feCTr = createNS('feComponentTransfer');\r\n feCTr.setAttribute('in', 'SourceGraphic');\r\n fil.appendChild(feCTr);\r\n var feFunc = createNS('feFuncA');\r\n feFunc.setAttribute('type', 'table');\r\n feFunc.setAttribute('tableValues', '1.0 0.0');\r\n feCTr.appendChild(feFunc);\r\n /// /\r\n this.globalData.defs.appendChild(fil);\r\n var alphaRect = createNS('rect');\r\n alphaRect.setAttribute('width', this.comp.data.w);\r\n alphaRect.setAttribute('height', this.comp.data.h);\r\n alphaRect.setAttribute('x', '0');\r\n alphaRect.setAttribute('y', '0');\r\n alphaRect.setAttribute('fill', '#ffffff');\r\n alphaRect.setAttribute('opacity', '0');\r\n maskGrouper.setAttribute('filter', 'url(' + locationHref + '#' + filId + ')');\r\n maskGrouper.appendChild(alphaRect);\r\n maskGrouper.appendChild(this.layerElement);\r\n layerElementParent = maskGrouper;\r\n if (!featureSupport.maskType) {\r\n maskGroup.setAttribute('mask-type', 'luminance');\r\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\r\n gg = createNS('g');\r\n maskGrouper.appendChild(alphaRect);\r\n gg.appendChild(this.layerElement);\r\n layerElementParent = gg;\r\n maskGrouper.appendChild(gg);\r\n }\r\n this.globalData.defs.appendChild(maskGroup);\r\n }\r\n } else if (this.data.tt) {\r\n this.matteElement.appendChild(this.layerElement);\r\n layerElementParent = this.matteElement;\r\n this.baseElement = this.matteElement;\r\n } else {\r\n this.baseElement = this.layerElement;\r\n }\r\n if (this.data.ln) {\r\n this.layerElement.setAttribute('id', this.data.ln);\r\n }\r\n if (this.data.cl) {\r\n this.layerElement.setAttribute('class', this.data.cl);\r\n }\r\n // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\r\n if (this.data.ty === 0 && !this.data.hd) {\r\n var cp = createNS('clipPath');\r\n var pt = createNS('path');\r\n pt.setAttribute('d', 'M0,0 L' + this.data.w + ',0 L' + this.data.w + ',' + this.data.h + ' L0,' + this.data.h + 'z');\r\n var clipId = createElementID();\r\n cp.setAttribute('id', clipId);\r\n cp.appendChild(pt);\r\n this.globalData.defs.appendChild(cp);\r\n\r\n if (this.checkMasks()) {\r\n var cpGroup = createNS('g');\r\n cpGroup.setAttribute('clip-path', 'url(' + locationHref + '#' + clipId + ')');\r\n cpGroup.appendChild(this.layerElement);\r\n this.transformedElement = cpGroup;\r\n if (layerElementParent) {\r\n layerElementParent.appendChild(this.transformedElement);\r\n } else {\r\n this.baseElement = this.transformedElement;\r\n }\r\n } else {\r\n this.layerElement.setAttribute('clip-path', 'url(' + locationHref + '#' + clipId + ')');\r\n }\r\n }\r\n if (this.data.bm !== 0) {\r\n this.setBlendMode();\r\n }\r\n },\r\n renderElement: function () {\r\n if (this.finalTransform._matMdf) {\r\n this.transformedElement.setAttribute('transform', this.finalTransform.mat.to2dCSS());\r\n }\r\n if (this.finalTransform._opMdf) {\r\n this.transformedElement.setAttribute('opacity', this.finalTransform.mProp.o.v);\r\n }\r\n },\r\n destroyBaseElement: function () {\r\n this.layerElement = null;\r\n this.matteElement = null;\r\n this.maskManager.destroy();\r\n },\r\n getBaseElement: function () {\r\n if (this.data.hd) {\r\n return null;\r\n }\r\n return this.baseElement;\r\n },\r\n createRenderableComponents: function () {\r\n this.maskManager = new MaskElement(this.data, this, this.globalData);\r\n this.renderableEffectsManager = new SVGEffects(this);\r\n },\r\n setMatte: function (id) {\r\n if (!this.matteElement) {\r\n return;\r\n }\r\n this.matteElement.setAttribute('mask', 'url(' + locationHref + '#' + id + ')');\r\n },\r\n};\r\n\r\n/* global ProcessedElement */\r\n\r\nfunction IShapeElement() {\r\n}\r\n\r\nIShapeElement.prototype = {\r\n addShapeToModifiers: function (data) {\r\n var i;\r\n var len = this.shapeModifiers.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.shapeModifiers[i].addShape(data);\r\n }\r\n },\r\n isShapeInAnimatedModifiers: function (data) {\r\n var i = 0;\r\n var len = this.shapeModifiers.length;\r\n while (i < len) {\r\n if (this.shapeModifiers[i].isAnimatedWithShape(data)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n renderModifiers: function () {\r\n if (!this.shapeModifiers.length) {\r\n return;\r\n }\r\n var i;\r\n var len = this.shapes.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.shapes[i].sh.reset();\r\n }\r\n\r\n len = this.shapeModifiers.length;\r\n var shouldBreakProcess;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n shouldBreakProcess = this.shapeModifiers[i].processShapes(this._isFirstFrame);\r\n // workaround to fix cases where a repeater resets the shape so the following processes get called twice\r\n // TODO: find a better solution for this\r\n if (shouldBreakProcess) {\r\n break;\r\n }\r\n }\r\n },\r\n\r\n searchProcessedElement: function (elem) {\r\n var elements = this.processedElements;\r\n var i = 0;\r\n var len = elements.length;\r\n while (i < len) {\r\n if (elements[i].elem === elem) {\r\n return elements[i].pos;\r\n }\r\n i += 1;\r\n }\r\n return 0;\r\n },\r\n addProcessedElement: function (elem, pos) {\r\n var elements = this.processedElements;\r\n var i = elements.length;\r\n while (i) {\r\n i -= 1;\r\n if (elements[i].elem === elem) {\r\n elements[i].pos = pos;\r\n return;\r\n }\r\n }\r\n elements.push(new ProcessedElement(elem, pos));\r\n },\r\n prepareFrame: function (num) {\r\n this.prepareRenderableFrame(num);\r\n this.prepareProperties(num, this.isInRange);\r\n },\r\n};\r\n\r\n/* global TextProperty, TextAnimatorProperty, buildShapeString, LetterProps */\r\n\r\nfunction ITextElement() {\r\n}\r\n\r\nITextElement.prototype.initElement = function (data, globalData, comp) {\r\n this.lettersChangedFlag = true;\r\n this.initFrame();\r\n this.initBaseData(data, globalData, comp);\r\n this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);\r\n this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);\r\n this.initTransform(data, globalData, comp);\r\n this.initHierarchy();\r\n this.initRenderable();\r\n this.initRendererElement();\r\n this.createContainerElements();\r\n this.createRenderableComponents();\r\n this.createContent();\r\n this.hide();\r\n this.textAnimator.searchProperties(this.dynamicProperties);\r\n};\r\n\r\nITextElement.prototype.prepareFrame = function (num) {\r\n this._mdf = false;\r\n this.prepareRenderableFrame(num);\r\n this.prepareProperties(num, this.isInRange);\r\n if (this.textProperty._mdf || this.textProperty._isFirstFrame) {\r\n this.buildNewText();\r\n this.textProperty._isFirstFrame = false;\r\n this.textProperty._mdf = false;\r\n }\r\n};\r\n\r\nITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\r\n var j;\r\n var jLen = shapes.length;\r\n var pathNodes;\r\n var shapeStr = '';\r\n for (j = 0; j < jLen; j += 1) {\r\n pathNodes = shapes[j].ks.k;\r\n shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\r\n }\r\n return shapeStr;\r\n};\r\n\r\nITextElement.prototype.updateDocumentData = function (newData, index) {\r\n this.textProperty.updateDocumentData(newData, index);\r\n};\r\n\r\nITextElement.prototype.canResizeFont = function (_canResize) {\r\n this.textProperty.canResizeFont(_canResize);\r\n};\r\n\r\nITextElement.prototype.setMinimumFontSize = function (_fontSize) {\r\n this.textProperty.setMinimumFontSize(_fontSize);\r\n};\r\n\r\nITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\r\n if (documentData.ps) {\r\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\r\n }\r\n matrixHelper.translate(0, -documentData.ls, 0);\r\n switch (documentData.j) {\r\n case 1:\r\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\r\n break;\r\n case 2:\r\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\r\n break;\r\n default:\r\n break;\r\n }\r\n matrixHelper.translate(xPos, yPos, 0);\r\n};\r\n\r\nITextElement.prototype.buildColor = function (colorData) {\r\n return 'rgb(' + Math.round(colorData[0] * 255) + ',' + Math.round(colorData[1] * 255) + ',' + Math.round(colorData[2] * 255) + ')';\r\n};\r\n\r\nITextElement.prototype.emptyProp = new LetterProps();\r\n\r\nITextElement.prototype.destroy = function () {\r\n\r\n};\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement */\r\n\r\nfunction ICompElement() {}\r\n\r\nextendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\r\n\r\nICompElement.prototype.initElement = function (data, globalData, comp) {\r\n this.initFrame();\r\n this.initBaseData(data, globalData, comp);\r\n this.initTransform(data, globalData, comp);\r\n this.initRenderable();\r\n this.initHierarchy();\r\n this.initRendererElement();\r\n this.createContainerElements();\r\n this.createRenderableComponents();\r\n if (this.data.xt || !globalData.progressiveLoad) {\r\n this.buildAllItems();\r\n }\r\n this.hide();\r\n};\r\n\r\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}; */\r\n\r\nICompElement.prototype.prepareFrame = function (num) {\r\n this._mdf = false;\r\n this.prepareRenderableFrame(num);\r\n this.prepareProperties(num, this.isInRange);\r\n if (!this.isInRange && !this.data.xt) {\r\n return;\r\n }\r\n\r\n if (!this.tm._placeholder) {\r\n var timeRemapped = this.tm.v;\r\n if (timeRemapped === this.data.op) {\r\n timeRemapped = this.data.op - 1;\r\n }\r\n this.renderedFrame = timeRemapped;\r\n } else {\r\n this.renderedFrame = num / this.data.sr;\r\n }\r\n var i;\r\n var len = this.elements.length;\r\n if (!this.completeLayers) {\r\n this.checkLayers(this.renderedFrame);\r\n }\r\n // This iteration needs to be backwards because of how expressions connect between each other\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n if (this.completeLayers || this.elements[i]) {\r\n this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);\r\n if (this.elements[i]._mdf) {\r\n this._mdf = true;\r\n }\r\n }\r\n }\r\n};\r\n\r\nICompElement.prototype.renderInnerContent = function () {\r\n var i;\r\n var len = this.layers.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (this.completeLayers || this.elements[i]) {\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n};\r\n\r\nICompElement.prototype.setElements = function (elems) {\r\n this.elements = elems;\r\n};\r\n\r\nICompElement.prototype.getElements = function () {\r\n return this.elements;\r\n};\r\n\r\nICompElement.prototype.destroyElements = function () {\r\n var i;\r\n var len = this.layers.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (this.elements[i]) {\r\n this.elements[i].destroy();\r\n }\r\n }\r\n};\r\n\r\nICompElement.prototype.destroy = function () {\r\n this.destroyElements();\r\n this.destroyBaseElement();\r\n};\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, createNS */\r\n\r\nfunction IImageElement(data, globalData, comp) {\r\n this.assetData = globalData.getAssetData(data.refId);\r\n this.initElement(data, globalData, comp);\r\n this.sourceRect = {\r\n top: 0, left: 0, width: this.assetData.w, height: this.assetData.h,\r\n };\r\n}\r\n\r\nextendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\r\n\r\nIImageElement.prototype.createContent = function () {\r\n var assetPath = this.globalData.getAssetsPath(this.assetData);\r\n\r\n this.innerElem = createNS('image');\r\n this.innerElem.setAttribute('width', this.assetData.w + 'px');\r\n this.innerElem.setAttribute('height', this.assetData.h + 'px');\r\n this.innerElem.setAttribute('preserveAspectRatio', this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);\r\n this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\r\n\r\n this.layerElement.appendChild(this.innerElem);\r\n};\r\n\r\nIImageElement.prototype.sourceRectAtTime = function () {\r\n return this.sourceRect;\r\n};\r\n\r\n/* global extendPrototype, IImageElement, createNS */\r\n\r\nfunction ISolidElement(data, globalData, comp) {\r\n this.initElement(data, globalData, comp);\r\n}\r\nextendPrototype([IImageElement], ISolidElement);\r\n\r\nISolidElement.prototype.createContent = function () {\r\n var rect = createNS('rect');\r\n /// /rect.style.width = this.data.sw;\r\n /// /rect.style.height = this.data.sh;\r\n /// /rect.style.fill = this.data.sc;\r\n rect.setAttribute('width', this.data.sw);\r\n rect.setAttribute('height', this.data.sh);\r\n rect.setAttribute('fill', this.data.sc);\r\n this.layerElement.appendChild(rect);\r\n};\r\n\r\n/* global PropertyFactory, extendPrototype, RenderableElement, BaseElement, FrameElement */\r\n\r\nfunction AudioElement(data, globalData, comp) {\r\n this.initFrame();\r\n this.initRenderable();\r\n this.assetData = globalData.getAssetData(data.refId);\r\n this.initBaseData(data, globalData, comp);\r\n this._isPlaying = false;\r\n this._canPlay = false;\r\n var assetPath = this.globalData.getAssetsPath(this.assetData);\r\n this.audio = this.globalData.audioController.createAudio(assetPath);\r\n this._currentTime = 0;\r\n this.globalData.audioController.addAudio(this);\r\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : { _placeholder: true };\r\n}\r\n\r\nAudioElement.prototype.prepareFrame = function (num) {\r\n this.prepareRenderableFrame(num, true);\r\n this.prepareProperties(num, true);\r\n if (!this.tm._placeholder) {\r\n var timeRemapped = this.tm.v;\r\n this._currentTime = timeRemapped;\r\n } else {\r\n this._currentTime = num / this.data.sr;\r\n }\r\n};\r\n\r\nextendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\r\n\r\nAudioElement.prototype.renderFrame = function () {\r\n if (this.isInRange && this._canPlay) {\r\n if (!this._isPlaying) {\r\n this.audio.play();\r\n this.audio.seek(this._currentTime / this.globalData.frameRate);\r\n this._isPlaying = true;\r\n } else if (!this.audio.playing()\r\n || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1\r\n ) {\r\n this.audio.seek(this._currentTime / this.globalData.frameRate);\r\n }\r\n }\r\n};\r\n\r\nAudioElement.prototype.show = function () {\r\n // this.audio.play()\r\n};\r\n\r\nAudioElement.prototype.hide = function () {\r\n this.audio.pause();\r\n this._isPlaying = false;\r\n};\r\n\r\nAudioElement.prototype.pause = function () {\r\n this.audio.pause();\r\n this._isPlaying = false;\r\n this._canPlay = false;\r\n};\r\n\r\nAudioElement.prototype.resume = function () {\r\n this._canPlay = true;\r\n};\r\n\r\nAudioElement.prototype.setRate = function (rateValue) {\r\n this.audio.rate(rateValue);\r\n};\r\n\r\nAudioElement.prototype.volume = function (volumeValue) {\r\n this.audio.volume(volumeValue);\r\n};\r\n\r\nAudioElement.prototype.getBaseElement = function () {\r\n return null;\r\n};\r\n\r\nAudioElement.prototype.destroy = function () {\r\n};\r\n\r\nAudioElement.prototype.sourceRectAtTime = function () {\r\n};\r\n\r\nAudioElement.prototype.initExpressions = function () {\r\n};\r\n\r\n/* global extendPrototype, RenderableElement, BaseElement, FrameElement, FootageInterface */\r\n\r\nfunction FootageElement(data, globalData, comp) {\r\n this.initFrame();\r\n this.initRenderable();\r\n this.assetData = globalData.getAssetData(data.refId);\r\n this.footageData = globalData.imageLoader.getAsset(this.assetData);\r\n this.initBaseData(data, globalData, comp);\r\n}\r\n\r\nFootageElement.prototype.prepareFrame = function () {\r\n};\r\n\r\nextendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\r\n\r\nFootageElement.prototype.getBaseElement = function () {\r\n return null;\r\n};\r\n\r\nFootageElement.prototype.renderFrame = function () {\r\n};\r\n\r\nFootageElement.prototype.destroy = function () {\r\n};\r\n\r\nFootageElement.prototype.initExpressions = function () {\r\n this.layerInterface = FootageInterface(this);\r\n};\r\n\r\nFootageElement.prototype.getFootageData = function () {\r\n return this.footageData;\r\n};\r\n\r\n/* global createSizedArray, PropertyFactory, extendPrototype, SVGRenderer, ICompElement, SVGBaseElement */\r\n\r\nfunction SVGCompElement(data, globalData, comp) {\r\n this.layers = data.layers;\r\n this.supports3d = true;\r\n this.completeLayers = false;\r\n this.pendingElements = [];\r\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\r\n // this.layerElement = createNS('g');\r\n this.initElement(data, globalData, comp);\r\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : { _placeholder: true };\r\n}\r\n\r\nextendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement);\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement,\r\nRenderableDOMElement, ITextElement, createSizedArray, createNS */\r\n\r\nfunction SVGTextLottieElement(data, globalData, comp) {\r\n this.textSpans = [];\r\n this.renderType = 'svg';\r\n this.initElement(data, globalData, comp);\r\n}\r\n\r\nextendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\r\n\r\nSVGTextLottieElement.prototype.createContent = function () {\r\n if (this.data.singleShape && !this.globalData.fontManager.chars) {\r\n this.textContainer = createNS('text');\r\n }\r\n};\r\n\r\nSVGTextLottieElement.prototype.buildTextContents = function (textArray) {\r\n var i = 0;\r\n var len = textArray.length;\r\n var textContents = [];\r\n var currentTextContent = '';\r\n while (i < len) {\r\n if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\r\n textContents.push(currentTextContent);\r\n currentTextContent = '';\r\n } else {\r\n currentTextContent += textArray[i];\r\n }\r\n i += 1;\r\n }\r\n textContents.push(currentTextContent);\r\n return textContents;\r\n};\r\n\r\nSVGTextLottieElement.prototype.buildNewText = function () {\r\n var i;\r\n var len;\r\n\r\n var documentData = this.textProperty.currentData;\r\n this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\r\n if (documentData.fc) {\r\n this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));\r\n } else {\r\n this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');\r\n }\r\n if (documentData.sc) {\r\n this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));\r\n this.layerElement.setAttribute('stroke-width', documentData.sw);\r\n }\r\n this.layerElement.setAttribute('font-size', documentData.finalSize);\r\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\r\n if (fontData.fClass) {\r\n this.layerElement.setAttribute('class', fontData.fClass);\r\n } else {\r\n this.layerElement.setAttribute('font-family', fontData.fFamily);\r\n var fWeight = documentData.fWeight;\r\n var fStyle = documentData.fStyle;\r\n this.layerElement.setAttribute('font-style', fStyle);\r\n this.layerElement.setAttribute('font-weight', fWeight);\r\n }\r\n this.layerElement.setAttribute('aria-label', documentData.t);\r\n\r\n var letters = documentData.l || [];\r\n var usesGlyphs = !!this.globalData.fontManager.chars;\r\n len = letters.length;\r\n\r\n var tSpan;\r\n var matrixHelper = this.mHelper;\r\n var shapes;\r\n var shapeStr = '';\r\n var singleShape = this.data.singleShape;\r\n var xPos = 0;\r\n var yPos = 0;\r\n var firstLine = true;\r\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\r\n if (singleShape && !usesGlyphs && !documentData.sz) {\r\n var tElement = this.textContainer;\r\n var justify = 'start';\r\n switch (documentData.j) {\r\n case 1:\r\n justify = 'end';\r\n break;\r\n case 2:\r\n justify = 'middle';\r\n break;\r\n default:\r\n justify = 'start';\r\n break;\r\n }\r\n tElement.setAttribute('text-anchor', justify);\r\n tElement.setAttribute('letter-spacing', trackingOffset);\r\n var textContent = this.buildTextContents(documentData.finalText);\r\n len = textContent.length;\r\n yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\r\n for (i = 0; i < len; i += 1) {\r\n tSpan = this.textSpans[i] || createNS('tspan');\r\n tSpan.textContent = textContent[i];\r\n tSpan.setAttribute('x', 0);\r\n tSpan.setAttribute('y', yPos);\r\n tSpan.style.display = 'inherit';\r\n tElement.appendChild(tSpan);\r\n this.textSpans[i] = tSpan;\r\n yPos += documentData.finalLineHeight;\r\n }\r\n\r\n this.layerElement.appendChild(tElement);\r\n } else {\r\n var cachedSpansLength = this.textSpans.length;\r\n var shapeData;\r\n var charData;\r\n for (i = 0; i < len; i += 1) {\r\n if (!usesGlyphs || !singleShape || i === 0) {\r\n tSpan = cachedSpansLength > i ? this.textSpans[i] : createNS(usesGlyphs ? 'path' : 'text');\r\n if (cachedSpansLength <= i) {\r\n tSpan.setAttribute('stroke-linecap', 'butt');\r\n tSpan.setAttribute('stroke-linejoin', 'round');\r\n tSpan.setAttribute('stroke-miterlimit', '4');\r\n this.textSpans[i] = tSpan;\r\n this.layerElement.appendChild(tSpan);\r\n }\r\n tSpan.style.display = 'inherit';\r\n }\r\n\r\n matrixHelper.reset();\r\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\r\n if (singleShape) {\r\n if (letters[i].n) {\r\n xPos = -trackingOffset;\r\n yPos += documentData.yOffset;\r\n yPos += firstLine ? 1 : 0;\r\n firstLine = false;\r\n }\r\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\r\n xPos += letters[i].l || 0;\r\n // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\r\n xPos += trackingOffset;\r\n }\r\n if (usesGlyphs) {\r\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\r\n shapeData = (charData && charData.data) || {};\r\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\r\n if (!singleShape) {\r\n tSpan.setAttribute('d', this.createPathShape(matrixHelper, shapes));\r\n } else {\r\n shapeStr += this.createPathShape(matrixHelper, shapes);\r\n }\r\n } else {\r\n if (singleShape) {\r\n tSpan.setAttribute('transform', 'translate(' + matrixHelper.props[12] + ',' + matrixHelper.props[13] + ')');\r\n }\r\n tSpan.textContent = letters[i].val;\r\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\r\n }\r\n //\r\n }\r\n if (singleShape && tSpan) {\r\n tSpan.setAttribute('d', shapeStr);\r\n }\r\n }\r\n while (i < this.textSpans.length) {\r\n this.textSpans[i].style.display = 'none';\r\n i += 1;\r\n }\r\n\r\n this._sizeChanged = true;\r\n};\r\n\r\nSVGTextLottieElement.prototype.sourceRectAtTime = function () {\r\n this.prepareFrame(this.comp.renderedFrame - this.data.st);\r\n this.renderInnerContent();\r\n if (this._sizeChanged) {\r\n this._sizeChanged = false;\r\n var textBox = this.layerElement.getBBox();\r\n this.bbox = {\r\n top: textBox.y,\r\n left: textBox.x,\r\n width: textBox.width,\r\n height: textBox.height,\r\n };\r\n }\r\n return this.bbox;\r\n};\r\n\r\nSVGTextLottieElement.prototype.renderInnerContent = function () {\r\n if (!this.data.singleShape) {\r\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\r\n if (this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\r\n this._sizeChanged = true;\r\n var i;\r\n var len;\r\n var renderedLetters = this.textAnimator.renderedLetters;\r\n\r\n var letters = this.textProperty.currentData.l;\r\n\r\n len = letters.length;\r\n var renderedLetter;\r\n var textSpan;\r\n for (i = 0; i < len; i += 1) {\r\n if (!letters[i].n) {\r\n renderedLetter = renderedLetters[i];\r\n textSpan = this.textSpans[i];\r\n if (renderedLetter._mdf.m) {\r\n textSpan.setAttribute('transform', renderedLetter.m);\r\n }\r\n if (renderedLetter._mdf.o) {\r\n textSpan.setAttribute('opacity', renderedLetter.o);\r\n }\r\n if (renderedLetter._mdf.sw) {\r\n textSpan.setAttribute('stroke-width', renderedLetter.sw);\r\n }\r\n if (renderedLetter._mdf.sc) {\r\n textSpan.setAttribute('stroke', renderedLetter.sc);\r\n }\r\n if (renderedLetter._mdf.fc) {\r\n textSpan.setAttribute('fill', renderedLetter.fc);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement,\r\nFrameElement, RenderableDOMElement, Matrix, SVGStyleData, SVGStrokeStyleData, SVGFillStyleData,\r\nSVGGradientFillStyleData, SVGGradientStrokeStyleData, locationHref, getBlendMode, ShapeGroupData,\r\nTransformPropertyFactory, SVGTransformData, ShapePropertyFactory, SVGShapeData, SVGElementsRenderer, ShapeModifiers,\r\nlineCapEnum, lineJoinEnum */\r\n\r\nfunction SVGShapeElement(data, globalData, comp) {\r\n // List of drawable elements\r\n this.shapes = [];\r\n // Full shape data\r\n this.shapesData = data.shapes;\r\n // List of styles that will be applied to shapes\r\n this.stylesList = [];\r\n // List of modifiers that will be applied to shapes\r\n this.shapeModifiers = [];\r\n // List of items in shape tree\r\n this.itemsData = [];\r\n // List of items in previous shape tree\r\n this.processedElements = [];\r\n // List of animated components\r\n this.animatedContents = [];\r\n this.initElement(data, globalData, comp);\r\n // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\r\n // List of elements that have been created\r\n this.prevViewData = [];\r\n // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\r\n}\r\n\r\nextendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\r\n\r\nSVGShapeElement.prototype.initSecondaryElement = function () {\r\n};\r\n\r\nSVGShapeElement.prototype.identityMatrix = new Matrix();\r\n\r\nSVGShapeElement.prototype.buildExpressionInterface = function () {};\r\n\r\nSVGShapeElement.prototype.createContent = function () {\r\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\r\n this.filterUniqueShapes();\r\n};\r\n\r\n/*\r\nThis method searches for multiple shapes that affect a single element and one of them is animated\r\n*/\r\nSVGShapeElement.prototype.filterUniqueShapes = function () {\r\n var i;\r\n var len = this.shapes.length;\r\n var shape;\r\n var j;\r\n var jLen = this.stylesList.length;\r\n var style;\r\n var tempShapes = [];\r\n var areAnimated = false;\r\n for (j = 0; j < jLen; j += 1) {\r\n style = this.stylesList[j];\r\n areAnimated = false;\r\n tempShapes.length = 0;\r\n for (i = 0; i < len; i += 1) {\r\n shape = this.shapes[i];\r\n if (shape.styles.indexOf(style) !== -1) {\r\n tempShapes.push(shape);\r\n areAnimated = shape._isAnimated || areAnimated;\r\n }\r\n }\r\n if (tempShapes.length > 1 && areAnimated) {\r\n this.setShapesAsAnimated(tempShapes);\r\n }\r\n }\r\n};\r\n\r\nSVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\r\n var i;\r\n var len = shapes.length;\r\n for (i = 0; i < len; i += 1) {\r\n shapes[i].setAsAnimated();\r\n }\r\n};\r\n\r\nSVGShapeElement.prototype.createStyleElement = function (data, level) {\r\n // TODO: prevent drawing of hidden styles\r\n var elementData;\r\n var styleOb = new SVGStyleData(data, level);\r\n\r\n var pathElement = styleOb.pElem;\r\n if (data.ty === 'st') {\r\n elementData = new SVGStrokeStyleData(this, data, styleOb);\r\n } else if (data.ty === 'fl') {\r\n elementData = new SVGFillStyleData(this, data, styleOb);\r\n } else if (data.ty === 'gf' || data.ty === 'gs') {\r\n var GradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\r\n elementData = new GradientConstructor(this, data, styleOb);\r\n this.globalData.defs.appendChild(elementData.gf);\r\n if (elementData.maskId) {\r\n this.globalData.defs.appendChild(elementData.ms);\r\n this.globalData.defs.appendChild(elementData.of);\r\n pathElement.setAttribute('mask', 'url(' + locationHref + '#' + elementData.maskId + ')');\r\n }\r\n }\r\n\r\n if (data.ty === 'st' || data.ty === 'gs') {\r\n pathElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\r\n pathElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\r\n pathElement.setAttribute('fill-opacity', '0');\r\n if (data.lj === 1) {\r\n pathElement.setAttribute('stroke-miterlimit', data.ml);\r\n }\r\n }\r\n\r\n if (data.r === 2) {\r\n pathElement.setAttribute('fill-rule', 'evenodd');\r\n }\r\n\r\n if (data.ln) {\r\n pathElement.setAttribute('id', data.ln);\r\n }\r\n if (data.cl) {\r\n pathElement.setAttribute('class', data.cl);\r\n }\r\n if (data.bm) {\r\n pathElement.style['mix-blend-mode'] = getBlendMode(data.bm);\r\n }\r\n this.stylesList.push(styleOb);\r\n this.addToAnimatedContents(data, elementData);\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.createGroupElement = function (data) {\r\n var elementData = new ShapeGroupData();\r\n if (data.ln) {\r\n elementData.gr.setAttribute('id', data.ln);\r\n }\r\n if (data.cl) {\r\n elementData.gr.setAttribute('class', data.cl);\r\n }\r\n if (data.bm) {\r\n elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm);\r\n }\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.createTransformElement = function (data, container) {\r\n var transformProperty = TransformPropertyFactory.getTransformProperty(this, data, this);\r\n var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\r\n this.addToAnimatedContents(data, elementData);\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\r\n var ty = 4;\r\n if (data.ty === 'rc') {\r\n ty = 5;\r\n } else if (data.ty === 'el') {\r\n ty = 6;\r\n } else if (data.ty === 'sr') {\r\n ty = 7;\r\n }\r\n var shapeProperty = ShapePropertyFactory.getShapeProp(this, data, ty, this);\r\n var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\r\n this.shapes.push(elementData);\r\n this.addShapeToModifiers(elementData);\r\n this.addToAnimatedContents(data, elementData);\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\r\n var i = 0;\r\n var len = this.animatedContents.length;\r\n while (i < len) {\r\n if (this.animatedContents[i].element === element) {\r\n return;\r\n }\r\n i += 1;\r\n }\r\n this.animatedContents.push({\r\n fn: SVGElementsRenderer.createRenderFunction(data),\r\n element: element,\r\n data: data,\r\n });\r\n};\r\n\r\nSVGShapeElement.prototype.setElementStyles = function (elementData) {\r\n var arr = elementData.styles;\r\n var j;\r\n var jLen = this.stylesList.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n if (!this.stylesList[j].closed) {\r\n arr.push(this.stylesList[j]);\r\n }\r\n }\r\n};\r\n\r\nSVGShapeElement.prototype.reloadShapes = function () {\r\n this._isFirstFrame = true;\r\n var i;\r\n var len = this.itemsData.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.prevViewData[i] = this.itemsData[i];\r\n }\r\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\r\n this.filterUniqueShapes();\r\n len = this.dynamicProperties.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.dynamicProperties[i].getValue();\r\n }\r\n this.renderModifiers();\r\n};\r\n\r\nSVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\r\n var ownTransformers = [].concat(transformers);\r\n var i;\r\n var len = arr.length - 1;\r\n var j;\r\n var jLen;\r\n var ownStyles = [];\r\n var ownModifiers = [];\r\n var currentTransform;\r\n var modifier;\r\n var processedPos;\r\n for (i = len; i >= 0; i -= 1) {\r\n processedPos = this.searchProcessedElement(arr[i]);\r\n if (!processedPos) {\r\n arr[i]._render = render;\r\n } else {\r\n itemsData[i] = prevViewData[processedPos - 1];\r\n }\r\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs') {\r\n if (!processedPos) {\r\n itemsData[i] = this.createStyleElement(arr[i], level);\r\n } else {\r\n itemsData[i].style.closed = false;\r\n }\r\n if (arr[i]._render) {\r\n container.appendChild(itemsData[i].style.pElem);\r\n }\r\n ownStyles.push(itemsData[i].style);\r\n } else if (arr[i].ty === 'gr') {\r\n if (!processedPos) {\r\n itemsData[i] = this.createGroupElement(arr[i]);\r\n } else {\r\n jLen = itemsData[i].it.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\r\n }\r\n }\r\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\r\n if (arr[i]._render) {\r\n container.appendChild(itemsData[i].gr);\r\n }\r\n } else if (arr[i].ty === 'tr') {\r\n if (!processedPos) {\r\n itemsData[i] = this.createTransformElement(arr[i], container);\r\n }\r\n currentTransform = itemsData[i].transform;\r\n ownTransformers.push(currentTransform);\r\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\r\n if (!processedPos) {\r\n itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\r\n }\r\n this.setElementStyles(itemsData[i]);\r\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'ms' || arr[i].ty === 'pb') {\r\n if (!processedPos) {\r\n modifier = ShapeModifiers.getModifier(arr[i].ty);\r\n modifier.init(this, arr[i]);\r\n itemsData[i] = modifier;\r\n this.shapeModifiers.push(modifier);\r\n } else {\r\n modifier = itemsData[i];\r\n modifier.closed = false;\r\n }\r\n ownModifiers.push(modifier);\r\n } else if (arr[i].ty === 'rp') {\r\n if (!processedPos) {\r\n modifier = ShapeModifiers.getModifier(arr[i].ty);\r\n itemsData[i] = modifier;\r\n modifier.init(this, arr, i, itemsData);\r\n this.shapeModifiers.push(modifier);\r\n render = false;\r\n } else {\r\n modifier = itemsData[i];\r\n modifier.closed = true;\r\n }\r\n ownModifiers.push(modifier);\r\n }\r\n this.addProcessedElement(arr[i], i + 1);\r\n }\r\n len = ownStyles.length;\r\n for (i = 0; i < len; i += 1) {\r\n ownStyles[i].closed = true;\r\n }\r\n len = ownModifiers.length;\r\n for (i = 0; i < len; i += 1) {\r\n ownModifiers[i].closed = true;\r\n }\r\n};\r\n\r\nSVGShapeElement.prototype.renderInnerContent = function () {\r\n this.renderModifiers();\r\n var i;\r\n var len = this.stylesList.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.stylesList[i].reset();\r\n }\r\n this.renderShape();\r\n\r\n for (i = 0; i < len; i += 1) {\r\n if (this.stylesList[i]._mdf || this._isFirstFrame) {\r\n if (this.stylesList[i].msElem) {\r\n this.stylesList[i].msElem.setAttribute('d', this.stylesList[i].d);\r\n // Adding M0 0 fixes same mask bug on all browsers\r\n this.stylesList[i].d = 'M0 0' + this.stylesList[i].d;\r\n }\r\n this.stylesList[i].pElem.setAttribute('d', this.stylesList[i].d || 'M0 0');\r\n }\r\n }\r\n};\r\n\r\nSVGShapeElement.prototype.renderShape = function () {\r\n var i;\r\n var len = this.animatedContents.length;\r\n var animatedContent;\r\n for (i = 0; i < len; i += 1) {\r\n animatedContent = this.animatedContents[i];\r\n if ((this._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\r\n animatedContent.fn(animatedContent.data, animatedContent.element, this._isFirstFrame);\r\n }\r\n }\r\n};\r\n\r\nSVGShapeElement.prototype.destroy = function () {\r\n this.destroyBaseElement();\r\n this.shapesData = null;\r\n this.itemsData = null;\r\n};\r\n\r\n/* global createNS */\r\n\r\nfunction SVGTintFilter(filter, filterManager) {\r\n this.filterManager = filterManager;\r\n var feColorMatrix = createNS('feColorMatrix');\r\n feColorMatrix.setAttribute('type', 'matrix');\r\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\r\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');\r\n feColorMatrix.setAttribute('result', 'f1');\r\n filter.appendChild(feColorMatrix);\r\n 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 0');\r\n feColorMatrix.setAttribute('result', 'f2');\r\n filter.appendChild(feColorMatrix);\r\n this.matrixFilter = feColorMatrix;\r\n if (filterManager.effectElements[2].p.v !== 100 || filterManager.effectElements[2].p.k) {\r\n var feMerge = createNS('feMerge');\r\n filter.appendChild(feMerge);\r\n var feMergeNode;\r\n feMergeNode = createNS('feMergeNode');\r\n feMergeNode.setAttribute('in', 'SourceGraphic');\r\n feMerge.appendChild(feMergeNode);\r\n feMergeNode = createNS('feMergeNode');\r\n feMergeNode.setAttribute('in', 'f2');\r\n feMerge.appendChild(feMergeNode);\r\n }\r\n}\r\n\r\nSVGTintFilter.prototype.renderFrame = function (forceRender) {\r\n if (forceRender || this.filterManager._mdf) {\r\n var colorBlack = this.filterManager.effectElements[0].p.v;\r\n var colorWhite = this.filterManager.effectElements[1].p.v;\r\n var opacity = this.filterManager.effectElements[2].p.v / 100;\r\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');\r\n }\r\n};\r\n\r\n/* global createNS */\r\n\r\nfunction SVGFillFilter(filter, filterManager) {\r\n this.filterManager = filterManager;\r\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 0');\r\n filter.appendChild(feColorMatrix);\r\n this.matrixFilter = feColorMatrix;\r\n}\r\nSVGFillFilter.prototype.renderFrame = function (forceRender) {\r\n if (forceRender || this.filterManager._mdf) {\r\n var color = this.filterManager.effectElements[2].p.v;\r\n var opacity = this.filterManager.effectElements[6].p.v;\r\n this.matrixFilter.setAttribute('values', '0 0 0 0 ' + color[0] + ' 0 0 0 0 ' + color[1] + ' 0 0 0 0 ' + color[2] + ' 0 0 0 ' + opacity + ' 0');\r\n }\r\n};\r\n\r\n/* global createNS */\r\n\r\nfunction SVGGaussianBlurEffect(filter, filterManager) {\r\n // Outset the filter region by 100% on all sides to accommodate blur expansion.\r\n filter.setAttribute('x', '-100%');\r\n filter.setAttribute('y', '-100%');\r\n filter.setAttribute('width', '300%');\r\n filter.setAttribute('height', '300%');\r\n\r\n this.filterManager = filterManager;\r\n var feGaussianBlur = createNS('feGaussianBlur');\r\n filter.appendChild(feGaussianBlur);\r\n this.feGaussianBlur = feGaussianBlur;\r\n}\r\n\r\nSVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\r\n if (forceRender || this.filterManager._mdf) {\r\n // Empirical value, matching AE's blur appearance.\r\n var kBlurrinessToSigma = 0.3;\r\n var sigma = this.filterManager.effectElements[0].p.v * kBlurrinessToSigma;\r\n\r\n // Dimensions mapping:\r\n //\r\n // 1 -> horizontal & vertical\r\n // 2 -> horizontal only\r\n // 3 -> vertical only\r\n //\r\n var dimensions = this.filterManager.effectElements[1].p.v;\r\n var sigmaX = (dimensions == 3) ? 0 : sigma; // eslint-disable-line eqeqeq\r\n var sigmaY = (dimensions == 2) ? 0 : sigma; // eslint-disable-line eqeqeq\r\n\r\n this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + ' ' + sigmaY);\r\n\r\n // Repeat edges mapping:\r\n //\r\n // 0 -> off -> duplicate\r\n // 1 -> on -> wrap\r\n var edgeMode = (this.filterManager.effectElements[2].p.v == 1) ? 'wrap' : 'duplicate'; // eslint-disable-line eqeqeq\r\n this.feGaussianBlur.setAttribute('edgeMode', edgeMode);\r\n }\r\n};\r\n\r\n/* global createNS, createElementID, locationHref, bmFloor */\r\n\r\nfunction SVGStrokeEffect(elem, filterManager) {\r\n this.initialized = false;\r\n this.filterManager = filterManager;\r\n this.elem = elem;\r\n this.paths = [];\r\n}\r\n\r\nSVGStrokeEffect.prototype.initialize = function () {\r\n var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\r\n var path;\r\n var groupPath;\r\n var i;\r\n var len;\r\n if (this.filterManager.effectElements[1].p.v === 1) {\r\n len = this.elem.maskManager.masksProperties.length;\r\n i = 0;\r\n } else {\r\n i = this.filterManager.effectElements[0].p.v - 1;\r\n len = i + 1;\r\n }\r\n groupPath = createNS('g');\r\n groupPath.setAttribute('fill', 'none');\r\n groupPath.setAttribute('stroke-linecap', 'round');\r\n groupPath.setAttribute('stroke-dashoffset', 1);\r\n for (i; i < len; i += 1) {\r\n path = createNS('path');\r\n groupPath.appendChild(path);\r\n this.paths.push({ p: path, m: i });\r\n }\r\n if (this.filterManager.effectElements[10].p.v === 3) {\r\n var mask = createNS('mask');\r\n var id = createElementID();\r\n mask.setAttribute('id', id);\r\n mask.setAttribute('mask-type', 'alpha');\r\n mask.appendChild(groupPath);\r\n this.elem.globalData.defs.appendChild(mask);\r\n var g = createNS('g');\r\n g.setAttribute('mask', 'url(' + locationHref + '#' + id + ')');\r\n while (elemChildren[0]) {\r\n g.appendChild(elemChildren[0]);\r\n }\r\n this.elem.layerElement.appendChild(g);\r\n this.masker = mask;\r\n groupPath.setAttribute('stroke', '#fff');\r\n } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\r\n if (this.filterManager.effectElements[10].p.v === 2) {\r\n elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\r\n while (elemChildren.length) {\r\n this.elem.layerElement.removeChild(elemChildren[0]);\r\n }\r\n }\r\n this.elem.layerElement.appendChild(groupPath);\r\n this.elem.layerElement.removeAttribute('mask');\r\n groupPath.setAttribute('stroke', '#fff');\r\n }\r\n this.initialized = true;\r\n this.pathMasker = groupPath;\r\n};\r\n\r\nSVGStrokeEffect.prototype.renderFrame = function (forceRender) {\r\n if (!this.initialized) {\r\n this.initialize();\r\n }\r\n var i;\r\n var len = this.paths.length;\r\n var mask;\r\n var path;\r\n for (i = 0; i < len; i += 1) {\r\n if (this.paths[i].m !== -1) {\r\n mask = this.elem.maskManager.viewData[this.paths[i].m];\r\n path = this.paths[i].p;\r\n if (forceRender || this.filterManager._mdf || mask.prop._mdf) {\r\n path.setAttribute('d', mask.lastPath);\r\n }\r\n if (forceRender || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\r\n var dasharrayValue;\r\n if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) {\r\n var s = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\r\n var e = Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\r\n var l = path.getTotalLength();\r\n dasharrayValue = '0 0 0 ' + l * s + ' ';\r\n var lineLength = l * (e - s);\r\n var segment = 1 + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\r\n var units = Math.floor(lineLength / segment);\r\n var j;\r\n for (j = 0; j < units; j += 1) {\r\n dasharrayValue += '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01 + ' ';\r\n }\r\n dasharrayValue += '0 ' + l * 10 + ' 0 0';\r\n } else {\r\n dasharrayValue = '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\r\n }\r\n path.setAttribute('stroke-dasharray', dasharrayValue);\r\n }\r\n }\r\n }\r\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\r\n this.pathMasker.setAttribute('stroke-width', this.filterManager.effectElements[4].p.v * 2);\r\n }\r\n\r\n if (forceRender || this.filterManager.effectElements[6].p._mdf) {\r\n this.pathMasker.setAttribute('opacity', this.filterManager.effectElements[6].p.v);\r\n }\r\n if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\r\n if (forceRender || this.filterManager.effectElements[3].p._mdf) {\r\n var color = this.filterManager.effectElements[3].p.v;\r\n this.pathMasker.setAttribute('stroke', 'rgb(' + bmFloor(color[0] * 255) + ',' + bmFloor(color[1] * 255) + ',' + bmFloor(color[2] * 255) + ')');\r\n }\r\n }\r\n};\r\n\r\n/* global createNS */\r\n\r\nfunction SVGTritoneFilter(filter, filterManager) {\r\n this.filterManager = filterManager;\r\n var feColorMatrix = createNS('feColorMatrix');\r\n feColorMatrix.setAttribute('type', 'matrix');\r\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\r\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');\r\n feColorMatrix.setAttribute('result', 'f1');\r\n filter.appendChild(feColorMatrix);\r\n var feComponentTransfer = createNS('feComponentTransfer');\r\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\r\n filter.appendChild(feComponentTransfer);\r\n this.matrixFilter = feComponentTransfer;\r\n var feFuncR = createNS('feFuncR');\r\n feFuncR.setAttribute('type', 'table');\r\n feComponentTransfer.appendChild(feFuncR);\r\n this.feFuncR = feFuncR;\r\n var feFuncG = createNS('feFuncG');\r\n feFuncG.setAttribute('type', 'table');\r\n feComponentTransfer.appendChild(feFuncG);\r\n this.feFuncG = feFuncG;\r\n var feFuncB = createNS('feFuncB');\r\n feFuncB.setAttribute('type', 'table');\r\n feComponentTransfer.appendChild(feFuncB);\r\n this.feFuncB = feFuncB;\r\n}\r\n\r\nSVGTritoneFilter.prototype.renderFrame = function (forceRender) {\r\n if (forceRender || this.filterManager._mdf) {\r\n var color1 = this.filterManager.effectElements[0].p.v;\r\n var color2 = this.filterManager.effectElements[1].p.v;\r\n var color3 = this.filterManager.effectElements[2].p.v;\r\n var tableR = color3[0] + ' ' + color2[0] + ' ' + color1[0];\r\n var tableG = color3[1] + ' ' + color2[1] + ' ' + color1[1];\r\n var tableB = color3[2] + ' ' + color2[2] + ' ' + color1[2];\r\n this.feFuncR.setAttribute('tableValues', tableR);\r\n this.feFuncG.setAttribute('tableValues', tableG);\r\n this.feFuncB.setAttribute('tableValues', tableB);\r\n // var opacity = this.filterManager.effectElements[2].p.v/100;\r\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');\r\n }\r\n};\r\n\r\n/* global createNS */\r\n\r\nfunction SVGProLevelsFilter(filter, filterManager) {\r\n this.filterManager = filterManager;\r\n var effectElements = this.filterManager.effectElements;\r\n var feComponentTransfer = createNS('feComponentTransfer');\r\n\r\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) {\r\n this.feFuncR = this.createFeFunc('feFuncR', feComponentTransfer);\r\n }\r\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) {\r\n this.feFuncG = this.createFeFunc('feFuncG', feComponentTransfer);\r\n }\r\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) {\r\n this.feFuncB = this.createFeFunc('feFuncB', feComponentTransfer);\r\n }\r\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) {\r\n this.feFuncA = this.createFeFunc('feFuncA', feComponentTransfer);\r\n }\r\n\r\n if (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) {\r\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\r\n filter.appendChild(feComponentTransfer);\r\n feComponentTransfer = createNS('feComponentTransfer');\r\n }\r\n\r\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) {\r\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\r\n filter.appendChild(feComponentTransfer);\r\n this.feFuncRComposed = this.createFeFunc('feFuncR', feComponentTransfer);\r\n this.feFuncGComposed = this.createFeFunc('feFuncG', feComponentTransfer);\r\n this.feFuncBComposed = this.createFeFunc('feFuncB', feComponentTransfer);\r\n }\r\n}\r\n\r\nSVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\r\n var feFunc = createNS(type);\r\n feFunc.setAttribute('type', 'table');\r\n feComponentTransfer.appendChild(feFunc);\r\n return feFunc;\r\n};\r\n\r\nSVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\r\n var cnt = 0;\r\n var segments = 256;\r\n var perc;\r\n var min = Math.min(inputBlack, inputWhite);\r\n var max = Math.max(inputBlack, inputWhite);\r\n var table = Array.call(null, { length: segments });\r\n var colorValue;\r\n var pos = 0;\r\n var outputDelta = outputWhite - outputBlack;\r\n var inputDelta = inputWhite - inputBlack;\r\n while (cnt <= 256) {\r\n perc = cnt / 256;\r\n if (perc <= min) {\r\n colorValue = inputDelta < 0 ? outputWhite : outputBlack;\r\n } else if (perc >= max) {\r\n colorValue = inputDelta < 0 ? outputBlack : outputWhite;\r\n } else {\r\n colorValue = (outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma));\r\n }\r\n table[pos] = colorValue;\r\n pos += 1;\r\n cnt += 256 / (segments - 1);\r\n }\r\n return table.join(' ');\r\n};\r\n\r\nSVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\r\n if (forceRender || this.filterManager._mdf) {\r\n var val;\r\n var effectElements = this.filterManager.effectElements;\r\n if (this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\r\n val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\r\n this.feFuncRComposed.setAttribute('tableValues', val);\r\n this.feFuncGComposed.setAttribute('tableValues', val);\r\n this.feFuncBComposed.setAttribute('tableValues', val);\r\n }\r\n\r\n if (this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\r\n val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\r\n this.feFuncR.setAttribute('tableValues', val);\r\n }\r\n\r\n if (this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\r\n val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\r\n this.feFuncG.setAttribute('tableValues', val);\r\n }\r\n\r\n if (this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\r\n val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\r\n this.feFuncB.setAttribute('tableValues', val);\r\n }\r\n\r\n if (this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\r\n val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\r\n this.feFuncA.setAttribute('tableValues', val);\r\n }\r\n }\r\n};\r\n\r\n/* global createNS, rgbToHex, degToRads */\r\n\r\nfunction SVGDropShadowEffect(filter, filterManager) {\r\n var filterSize = filterManager.container.globalData.renderConfig.filterSize;\r\n filter.setAttribute('x', filterSize.x);\r\n filter.setAttribute('y', filterSize.y);\r\n filter.setAttribute('width', filterSize.width);\r\n filter.setAttribute('height', filterSize.height);\r\n this.filterManager = filterManager;\r\n\r\n var feGaussianBlur = createNS('feGaussianBlur');\r\n feGaussianBlur.setAttribute('in', 'SourceAlpha');\r\n feGaussianBlur.setAttribute('result', 'drop_shadow_1');\r\n feGaussianBlur.setAttribute('stdDeviation', '0');\r\n this.feGaussianBlur = feGaussianBlur;\r\n filter.appendChild(feGaussianBlur);\r\n\r\n var feOffset = createNS('feOffset');\r\n feOffset.setAttribute('dx', '25');\r\n feOffset.setAttribute('dy', '0');\r\n feOffset.setAttribute('in', 'drop_shadow_1');\r\n feOffset.setAttribute('result', 'drop_shadow_2');\r\n this.feOffset = feOffset;\r\n filter.appendChild(feOffset);\r\n var feFlood = createNS('feFlood');\r\n feFlood.setAttribute('flood-color', '#00ff00');\r\n feFlood.setAttribute('flood-opacity', '1');\r\n feFlood.setAttribute('result', 'drop_shadow_3');\r\n this.feFlood = feFlood;\r\n filter.appendChild(feFlood);\r\n\r\n var feComposite = createNS('feComposite');\r\n feComposite.setAttribute('in', 'drop_shadow_3');\r\n feComposite.setAttribute('in2', 'drop_shadow_2');\r\n feComposite.setAttribute('operator', 'in');\r\n feComposite.setAttribute('result', 'drop_shadow_4');\r\n filter.appendChild(feComposite);\r\n\r\n var feMerge = createNS('feMerge');\r\n filter.appendChild(feMerge);\r\n var feMergeNode;\r\n feMergeNode = createNS('feMergeNode');\r\n feMerge.appendChild(feMergeNode);\r\n feMergeNode = createNS('feMergeNode');\r\n feMergeNode.setAttribute('in', 'SourceGraphic');\r\n this.feMergeNode = feMergeNode;\r\n this.feMerge = feMerge;\r\n this.originalNodeAdded = false;\r\n feMerge.appendChild(feMergeNode);\r\n}\r\n\r\nSVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\r\n if (forceRender || this.filterManager._mdf) {\r\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\r\n this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);\r\n }\r\n if (forceRender || this.filterManager.effectElements[0].p._mdf) {\r\n var col = this.filterManager.effectElements[0].p.v;\r\n this.feFlood.setAttribute('flood-color', rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\r\n }\r\n if (forceRender || this.filterManager.effectElements[1].p._mdf) {\r\n this.feFlood.setAttribute('flood-opacity', this.filterManager.effectElements[1].p.v / 255);\r\n }\r\n if (forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\r\n var distance = this.filterManager.effectElements[3].p.v;\r\n var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;\r\n var x = distance * Math.cos(angle);\r\n var y = distance * Math.sin(angle);\r\n this.feOffset.setAttribute('dx', x);\r\n this.feOffset.setAttribute('dy', y);\r\n }\r\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 } */\r\n }\r\n};\r\n\r\n/* global createElementID, createNS */\r\n\r\nvar _svgMatteSymbols = [];\r\n\r\nfunction SVGMatte3Effect(filterElem, filterManager, elem) {\r\n this.initialized = false;\r\n this.filterManager = filterManager;\r\n this.filterElem = filterElem;\r\n this.elem = elem;\r\n elem.matteElement = createNS('g');\r\n elem.matteElement.appendChild(elem.layerElement);\r\n elem.matteElement.appendChild(elem.transformedElement);\r\n elem.baseElement = elem.matteElement;\r\n}\r\n\r\nSVGMatte3Effect.prototype.findSymbol = function (mask) {\r\n var i = 0;\r\n var len = _svgMatteSymbols.length;\r\n while (i < len) {\r\n if (_svgMatteSymbols[i] === mask) {\r\n return _svgMatteSymbols[i];\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n};\r\n\r\nSVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\r\n var parentNode = mask.layerElement.parentNode;\r\n if (!parentNode) {\r\n return;\r\n }\r\n var children = parentNode.children;\r\n var i = 0;\r\n var len = children.length;\r\n while (i < len) {\r\n if (children[i] === mask.layerElement) {\r\n break;\r\n }\r\n i += 1;\r\n }\r\n var nextChild;\r\n if (i <= len - 2) {\r\n nextChild = children[i + 1];\r\n }\r\n var useElem = createNS('use');\r\n useElem.setAttribute('href', '#' + symbolId);\r\n if (nextChild) {\r\n parentNode.insertBefore(useElem, nextChild);\r\n } else {\r\n parentNode.appendChild(useElem);\r\n }\r\n};\r\n\r\nSVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\r\n if (!this.findSymbol(mask)) {\r\n var symbolId = createElementID();\r\n var masker = createNS('mask');\r\n masker.setAttribute('id', mask.layerId);\r\n masker.setAttribute('mask-type', 'alpha');\r\n _svgMatteSymbols.push(mask);\r\n var defs = elem.globalData.defs;\r\n defs.appendChild(masker);\r\n var symbol = createNS('symbol');\r\n symbol.setAttribute('id', symbolId);\r\n this.replaceInParent(mask, symbolId);\r\n symbol.appendChild(mask.layerElement);\r\n defs.appendChild(symbol);\r\n var useElem = createNS('use');\r\n useElem.setAttribute('href', '#' + symbolId);\r\n masker.appendChild(useElem);\r\n mask.data.hd = false;\r\n mask.show();\r\n }\r\n elem.setMatte(mask.layerId);\r\n};\r\n\r\nSVGMatte3Effect.prototype.initialize = function () {\r\n var ind = this.filterManager.effectElements[0].p.v;\r\n var elements = this.elem.comp.elements;\r\n var i = 0;\r\n var len = elements.length;\r\n while (i < len) {\r\n if (elements[i] && elements[i].data.ind === ind) {\r\n this.setElementAsMask(this.elem, elements[i]);\r\n }\r\n i += 1;\r\n }\r\n this.initialized = true;\r\n};\r\n\r\nSVGMatte3Effect.prototype.renderFrame = function () {\r\n if (!this.initialized) {\r\n this.initialize();\r\n }\r\n};\r\n\r\n/* global createElementID, filtersFactory, SVGTintFilter, SVGFillFilter, SVGStrokeEffect, SVGTritoneFilter,\r\nSVGProLevelsFilter, SVGDropShadowEffect, SVGMatte3Effect, SVGGaussianBlurEffect, locationHref */\r\n\r\nfunction SVGEffects(elem) {\r\n var i;\r\n var len = elem.data.ef ? elem.data.ef.length : 0;\r\n var filId = createElementID();\r\n var fil = filtersFactory.createFilter(filId, true);\r\n var count = 0;\r\n this.filters = [];\r\n var filterManager;\r\n for (i = 0; i < len; i += 1) {\r\n filterManager = null;\r\n if (elem.data.ef[i].ty === 20) {\r\n count += 1;\r\n filterManager = new SVGTintFilter(fil, elem.effectsManager.effectElements[i]);\r\n } else if (elem.data.ef[i].ty === 21) {\r\n count += 1;\r\n filterManager = new SVGFillFilter(fil, elem.effectsManager.effectElements[i]);\r\n } else if (elem.data.ef[i].ty === 22) {\r\n filterManager = new SVGStrokeEffect(elem, elem.effectsManager.effectElements[i]);\r\n } else if (elem.data.ef[i].ty === 23) {\r\n count += 1;\r\n filterManager = new SVGTritoneFilter(fil, elem.effectsManager.effectElements[i]);\r\n } else if (elem.data.ef[i].ty === 24) {\r\n count += 1;\r\n filterManager = new SVGProLevelsFilter(fil, elem.effectsManager.effectElements[i]);\r\n } else if (elem.data.ef[i].ty === 25) {\r\n count += 1;\r\n filterManager = new SVGDropShadowEffect(fil, elem.effectsManager.effectElements[i]);\r\n } else if (elem.data.ef[i].ty === 28) {\r\n // count += 1;\r\n filterManager = new SVGMatte3Effect(fil, elem.effectsManager.effectElements[i], elem);\r\n } else if (elem.data.ef[i].ty === 29) {\r\n count += 1;\r\n filterManager = new SVGGaussianBlurEffect(fil, elem.effectsManager.effectElements[i]);\r\n }\r\n if (filterManager) {\r\n this.filters.push(filterManager);\r\n }\r\n }\r\n if (count) {\r\n elem.globalData.defs.appendChild(fil);\r\n elem.layerElement.setAttribute('filter', 'url(' + locationHref + '#' + filId + ')');\r\n }\r\n if (this.filters.length) {\r\n elem.addRenderableComponent(this);\r\n }\r\n}\r\n\r\nSVGEffects.prototype.renderFrame = function (_isFirstFrame) {\r\n var i;\r\n var len = this.filters.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.filters[i].renderFrame(_isFirstFrame);\r\n }\r\n};\r\n\r\n/* global Matrix, createTypedArray */\r\n\r\nfunction CVContextData() {\r\n this.saved = [];\r\n this.cArrPos = 0;\r\n this.cTr = new Matrix();\r\n this.cO = 1;\r\n var i;\r\n var len = 15;\r\n this.savedOp = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n this.saved[i] = createTypedArray('float32', 16);\r\n }\r\n this._length = len;\r\n}\r\n\r\nCVContextData.prototype.duplicate = function () {\r\n var newLength = this._length * 2;\r\n var currentSavedOp = this.savedOp;\r\n this.savedOp = createTypedArray('float32', newLength);\r\n this.savedOp.set(currentSavedOp);\r\n var i = 0;\r\n for (i = this._length; i < newLength; i += 1) {\r\n this.saved[i] = createTypedArray('float32', 16);\r\n }\r\n this._length = newLength;\r\n};\r\n\r\nCVContextData.prototype.reset = function () {\r\n this.cArrPos = 0;\r\n this.cTr.reset();\r\n this.cO = 1;\r\n};\r\n\r\n/* global CVEffects, getBlendMode, CVMaskElement, Matrix */\r\n\r\nfunction CVBaseElement() {\r\n}\r\n\r\nCVBaseElement.prototype = {\r\n createElements: function () {},\r\n initRendererElement: function () {},\r\n createContainerElements: function () {\r\n this.canvasContext = this.globalData.canvasContext;\r\n this.renderableEffectsManager = new CVEffects(this);\r\n },\r\n createContent: function () {},\r\n setBlendMode: function () {\r\n var globalData = this.globalData;\r\n if (globalData.blendMode !== this.data.bm) {\r\n globalData.blendMode = this.data.bm;\r\n var blendModeValue = getBlendMode(this.data.bm);\r\n globalData.canvasContext.globalCompositeOperation = blendModeValue;\r\n }\r\n },\r\n createRenderableComponents: function () {\r\n this.maskManager = new CVMaskElement(this.data, this);\r\n },\r\n hideElement: function () {\r\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\r\n this.hidden = true;\r\n }\r\n },\r\n showElement: function () {\r\n if (this.isInRange && !this.isTransparent) {\r\n this.hidden = false;\r\n this._isFirstFrame = true;\r\n this.maskManager._isFirstFrame = true;\r\n }\r\n },\r\n renderFrame: function () {\r\n if (this.hidden || this.data.hd) {\r\n return;\r\n }\r\n this.renderTransform();\r\n this.renderRenderable();\r\n this.setBlendMode();\r\n var forceRealStack = this.data.ty === 0;\r\n this.globalData.renderer.save(forceRealStack);\r\n this.globalData.renderer.ctxTransform(this.finalTransform.mat.props);\r\n this.globalData.renderer.ctxOpacity(this.finalTransform.mProp.o.v);\r\n this.renderInnerContent();\r\n this.globalData.renderer.restore(forceRealStack);\r\n if (this.maskManager.hasMasks) {\r\n this.globalData.renderer.restore(true);\r\n }\r\n if (this._isFirstFrame) {\r\n this._isFirstFrame = false;\r\n }\r\n },\r\n destroy: function () {\r\n this.canvasContext = null;\r\n this.data = null;\r\n this.globalData = null;\r\n this.maskManager.destroy();\r\n },\r\n mHelper: new Matrix(),\r\n};\r\nCVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\r\nCVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, CVBaseElement,HierarchyElement, FrameElement,\r\nRenderableElement, SVGShapeElement, IImageElement, createTag */\r\n\r\nfunction CVImageElement(data, globalData, comp) {\r\n this.assetData = globalData.getAssetData(data.refId);\r\n this.img = globalData.imageLoader.getAsset(this.assetData);\r\n this.initElement(data, globalData, comp);\r\n}\r\nextendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\r\n\r\nCVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\r\nCVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\r\n\r\nCVImageElement.prototype.createContent = function () {\r\n if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\r\n var canvas = createTag('canvas');\r\n canvas.width = this.assetData.w;\r\n canvas.height = this.assetData.h;\r\n var ctx = canvas.getContext('2d');\r\n\r\n var imgW = this.img.width;\r\n var imgH = this.img.height;\r\n var imgRel = imgW / imgH;\r\n var canvasRel = this.assetData.w / this.assetData.h;\r\n var widthCrop;\r\n var heightCrop;\r\n var par = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\r\n if ((imgRel > canvasRel && par === 'xMidYMid slice') || (imgRel < canvasRel && par !== 'xMidYMid slice')) {\r\n heightCrop = imgH;\r\n widthCrop = heightCrop * canvasRel;\r\n } else {\r\n widthCrop = imgW;\r\n heightCrop = widthCrop / canvasRel;\r\n }\r\n ctx.drawImage(this.img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, this.assetData.w, this.assetData.h);\r\n this.img = canvas;\r\n }\r\n};\r\n\r\nCVImageElement.prototype.renderInnerContent = function () {\r\n this.canvasContext.drawImage(this.img, 0, 0);\r\n};\r\n\r\nCVImageElement.prototype.destroy = function () {\r\n this.img = null;\r\n};\r\n\r\n/* global createSizedArray, PropertyFactory, extendPrototype, CanvasRenderer, ICompElement, CVBaseElement */\r\n\r\nfunction CVCompElement(data, globalData, comp) {\r\n this.completeLayers = false;\r\n this.layers = data.layers;\r\n this.pendingElements = [];\r\n this.elements = createSizedArray(this.layers.length);\r\n this.initElement(data, globalData, comp);\r\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : { _placeholder: true };\r\n}\r\n\r\nextendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement);\r\n\r\nCVCompElement.prototype.renderInnerContent = function () {\r\n var ctx = this.canvasContext;\r\n ctx.beginPath();\r\n ctx.moveTo(0, 0);\r\n ctx.lineTo(this.data.w, 0);\r\n ctx.lineTo(this.data.w, this.data.h);\r\n ctx.lineTo(0, this.data.h);\r\n ctx.lineTo(0, 0);\r\n ctx.clip();\r\n var i;\r\n var len = this.layers.length;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n if (this.completeLayers || this.elements[i]) {\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n};\r\n\r\nCVCompElement.prototype.destroy = function () {\r\n var i;\r\n var len = this.layers.length;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n if (this.elements[i]) {\r\n this.elements[i].destroy();\r\n }\r\n }\r\n this.layers = null;\r\n this.elements = null;\r\n};\r\n\r\n/* global createSizedArray, ShapePropertyFactory, MaskElement */\r\n\r\nfunction CVMaskElement(data, element) {\r\n this.data = data;\r\n this.element = element;\r\n this.masksProperties = this.data.masksProperties || [];\r\n this.viewData = createSizedArray(this.masksProperties.length);\r\n var i;\r\n var len = this.masksProperties.length;\r\n var hasMasks = false;\r\n for (i = 0; i < len; i += 1) {\r\n if (this.masksProperties[i].mode !== 'n') {\r\n hasMasks = true;\r\n }\r\n this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[i], 3);\r\n }\r\n this.hasMasks = hasMasks;\r\n if (hasMasks) {\r\n this.element.addRenderableComponent(this);\r\n }\r\n}\r\n\r\nCVMaskElement.prototype.renderFrame = function () {\r\n if (!this.hasMasks) {\r\n return;\r\n }\r\n var transform = this.element.finalTransform.mat;\r\n var ctx = this.element.canvasContext;\r\n var i;\r\n var len = this.masksProperties.length;\r\n var pt;\r\n var pts;\r\n var data;\r\n ctx.beginPath();\r\n for (i = 0; i < len; i += 1) {\r\n if (this.masksProperties[i].mode !== 'n') {\r\n if (this.masksProperties[i].inv) {\r\n ctx.moveTo(0, 0);\r\n ctx.lineTo(this.element.globalData.compSize.w, 0);\r\n ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);\r\n ctx.lineTo(0, this.element.globalData.compSize.h);\r\n ctx.lineTo(0, 0);\r\n }\r\n data = this.viewData[i].v;\r\n pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\r\n ctx.moveTo(pt[0], pt[1]);\r\n var j;\r\n var jLen = data._length;\r\n for (j = 1; j < jLen; j += 1) {\r\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\r\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\r\n }\r\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\r\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\r\n }\r\n }\r\n this.element.globalData.renderer.save(true);\r\n ctx.clip();\r\n};\r\n\r\nCVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\r\n\r\nCVMaskElement.prototype.destroy = function () {\r\n this.element = null;\r\n};\r\n\r\n/* global ShapeTransformManager, extendPrototype, BaseElement, TransformElement, CVBaseElement, IShapeElement,\r\nHierarchyElement, FrameElement, RenderableElement, RenderableDOMElement, PropertyFactory, degToRads, GradientProperty,\r\nDashProperty, TransformPropertyFactory, CVShapeData, ShapeModifiers, bmFloor, lineCapEnum, lineJoinEnum */\r\n\r\nfunction CVShapeElement(data, globalData, comp) {\r\n this.shapes = [];\r\n this.shapesData = data.shapes;\r\n this.stylesList = [];\r\n this.itemsData = [];\r\n this.prevViewData = [];\r\n this.shapeModifiers = [];\r\n this.processedElements = [];\r\n this.transformsManager = new ShapeTransformManager();\r\n this.initElement(data, globalData, comp);\r\n}\r\n\r\nextendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\r\n\r\nCVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\r\n\r\nCVShapeElement.prototype.transformHelper = { opacity: 1, _opMdf: false };\r\n\r\nCVShapeElement.prototype.dashResetter = [];\r\n\r\nCVShapeElement.prototype.createContent = function () {\r\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\r\n};\r\n\r\nCVShapeElement.prototype.createStyleElement = function (data, transforms) {\r\n var styleElem = {\r\n data: data,\r\n type: data.ty,\r\n preTransforms: this.transformsManager.addTransformSequence(transforms),\r\n transforms: [],\r\n elements: [],\r\n closed: data.hd === true,\r\n };\r\n var elementData = {};\r\n if (data.ty === 'fl' || data.ty === 'st') {\r\n elementData.c = PropertyFactory.getProp(this, data.c, 1, 255, this);\r\n if (!elementData.c.k) {\r\n styleElem.co = 'rgb(' + bmFloor(elementData.c.v[0]) + ',' + bmFloor(elementData.c.v[1]) + ',' + bmFloor(elementData.c.v[2]) + ')';\r\n }\r\n } else if (data.ty === 'gf' || data.ty === 'gs') {\r\n elementData.s = PropertyFactory.getProp(this, data.s, 1, null, this);\r\n elementData.e = PropertyFactory.getProp(this, data.e, 1, null, this);\r\n elementData.h = PropertyFactory.getProp(this, data.h || { k: 0 }, 0, 0.01, this);\r\n elementData.a = PropertyFactory.getProp(this, data.a || { k: 0 }, 0, degToRads, this);\r\n elementData.g = new GradientProperty(this, data.g, this);\r\n }\r\n elementData.o = PropertyFactory.getProp(this, data.o, 0, 0.01, this);\r\n if (data.ty === 'st' || data.ty === 'gs') {\r\n styleElem.lc = lineCapEnum[data.lc || 2];\r\n styleElem.lj = lineJoinEnum[data.lj || 2];\r\n if (data.lj == 1) { // eslint-disable-line eqeqeq\r\n styleElem.ml = data.ml;\r\n }\r\n elementData.w = PropertyFactory.getProp(this, data.w, 0, null, this);\r\n if (!elementData.w.k) {\r\n styleElem.wi = elementData.w.v;\r\n }\r\n if (data.d) {\r\n var d = new DashProperty(this, data.d, 'canvas', this);\r\n elementData.d = d;\r\n if (!elementData.d.k) {\r\n styleElem.da = elementData.d.dashArray;\r\n styleElem.do = elementData.d.dashoffset[0];\r\n }\r\n }\r\n } else {\r\n styleElem.r = data.r === 2 ? 'evenodd' : 'nonzero';\r\n }\r\n this.stylesList.push(styleElem);\r\n elementData.style = styleElem;\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.createGroupElement = function () {\r\n var elementData = {\r\n it: [],\r\n prevViewData: [],\r\n };\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.createTransformElement = function (data) {\r\n var elementData = {\r\n transform: {\r\n opacity: 1,\r\n _opMdf: false,\r\n key: this.transformsManager.getNewKey(),\r\n op: PropertyFactory.getProp(this, data.o, 0, 0.01, this),\r\n mProps: TransformPropertyFactory.getTransformProperty(this, data, this),\r\n },\r\n };\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.createShapeElement = function (data) {\r\n var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);\r\n\r\n this.shapes.push(elementData);\r\n this.addShapeToModifiers(elementData);\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.reloadShapes = function () {\r\n this._isFirstFrame = true;\r\n var i;\r\n var len = this.itemsData.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.prevViewData[i] = this.itemsData[i];\r\n }\r\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\r\n len = this.dynamicProperties.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.dynamicProperties[i].getValue();\r\n }\r\n this.renderModifiers();\r\n this.transformsManager.processSequences(this._isFirstFrame);\r\n};\r\n\r\nCVShapeElement.prototype.addTransformToStyleList = function (transform) {\r\n var i;\r\n var len = this.stylesList.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (!this.stylesList[i].closed) {\r\n this.stylesList[i].transforms.push(transform);\r\n }\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.removeTransformFromStyleList = function () {\r\n var i;\r\n var len = this.stylesList.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (!this.stylesList[i].closed) {\r\n this.stylesList[i].transforms.pop();\r\n }\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.closeStyles = function (styles) {\r\n var i;\r\n var len = styles.length;\r\n for (i = 0; i < len; i += 1) {\r\n styles[i].closed = true;\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\r\n var i;\r\n var len = arr.length - 1;\r\n var j;\r\n var jLen;\r\n var ownStyles = [];\r\n var ownModifiers = [];\r\n var processedPos;\r\n var modifier;\r\n var currentTransform;\r\n var ownTransforms = [].concat(transforms);\r\n for (i = len; i >= 0; i -= 1) {\r\n processedPos = this.searchProcessedElement(arr[i]);\r\n if (!processedPos) {\r\n arr[i]._shouldRender = shouldRender;\r\n } else {\r\n itemsData[i] = prevViewData[processedPos - 1];\r\n }\r\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs') {\r\n if (!processedPos) {\r\n itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\r\n } else {\r\n itemsData[i].style.closed = false;\r\n }\r\n\r\n ownStyles.push(itemsData[i].style);\r\n } else if (arr[i].ty === 'gr') {\r\n if (!processedPos) {\r\n itemsData[i] = this.createGroupElement(arr[i]);\r\n } else {\r\n jLen = itemsData[i].it.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\r\n }\r\n }\r\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\r\n } else if (arr[i].ty === 'tr') {\r\n if (!processedPos) {\r\n currentTransform = this.createTransformElement(arr[i]);\r\n itemsData[i] = currentTransform;\r\n }\r\n ownTransforms.push(itemsData[i]);\r\n this.addTransformToStyleList(itemsData[i]);\r\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\r\n if (!processedPos) {\r\n itemsData[i] = this.createShapeElement(arr[i]);\r\n }\r\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'pb') {\r\n if (!processedPos) {\r\n modifier = ShapeModifiers.getModifier(arr[i].ty);\r\n modifier.init(this, arr[i]);\r\n itemsData[i] = modifier;\r\n this.shapeModifiers.push(modifier);\r\n } else {\r\n modifier = itemsData[i];\r\n modifier.closed = false;\r\n }\r\n ownModifiers.push(modifier);\r\n } else if (arr[i].ty === 'rp') {\r\n if (!processedPos) {\r\n modifier = ShapeModifiers.getModifier(arr[i].ty);\r\n itemsData[i] = modifier;\r\n modifier.init(this, arr, i, itemsData);\r\n this.shapeModifiers.push(modifier);\r\n shouldRender = false;\r\n } else {\r\n modifier = itemsData[i];\r\n modifier.closed = true;\r\n }\r\n ownModifiers.push(modifier);\r\n }\r\n this.addProcessedElement(arr[i], i + 1);\r\n }\r\n this.removeTransformFromStyleList();\r\n this.closeStyles(ownStyles);\r\n len = ownModifiers.length;\r\n for (i = 0; i < len; i += 1) {\r\n ownModifiers[i].closed = true;\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderInnerContent = function () {\r\n this.transformHelper.opacity = 1;\r\n this.transformHelper._opMdf = false;\r\n this.renderModifiers();\r\n this.transformsManager.processSequences(this._isFirstFrame);\r\n this.renderShape(this.transformHelper, this.shapesData, this.itemsData, true);\r\n};\r\n\r\nCVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\r\n if (parentTransform._opMdf || groupTransform.op._mdf || this._isFirstFrame) {\r\n groupTransform.opacity = parentTransform.opacity;\r\n groupTransform.opacity *= groupTransform.op.v;\r\n groupTransform._opMdf = true;\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.drawLayer = function () {\r\n var i;\r\n var len = this.stylesList.length;\r\n var j;\r\n var jLen;\r\n var k;\r\n var kLen;\r\n var elems;\r\n var nodes;\r\n var renderer = this.globalData.renderer;\r\n var ctx = this.globalData.canvasContext;\r\n var type;\r\n var currentStyle;\r\n for (i = 0; i < len; i += 1) {\r\n currentStyle = this.stylesList[i];\r\n type = currentStyle.type;\r\n\r\n // Skipping style when\r\n // Stroke width equals 0\r\n // style should not be rendered (extra unused repeaters)\r\n // current opacity equals 0\r\n // global opacity equals 0\r\n if (!(((type === 'st' || type === 'gs') && currentStyle.wi === 0) || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || this.globalData.currentGlobalAlpha === 0)) {\r\n renderer.save();\r\n elems = currentStyle.elements;\r\n if (type === 'st' || type === 'gs') {\r\n ctx.strokeStyle = type === 'st' ? currentStyle.co : currentStyle.grd;\r\n ctx.lineWidth = currentStyle.wi;\r\n ctx.lineCap = currentStyle.lc;\r\n ctx.lineJoin = currentStyle.lj;\r\n ctx.miterLimit = currentStyle.ml || 0;\r\n } else {\r\n ctx.fillStyle = type === 'fl' ? currentStyle.co : currentStyle.grd;\r\n }\r\n renderer.ctxOpacity(currentStyle.coOp);\r\n if (type !== 'st' && type !== 'gs') {\r\n ctx.beginPath();\r\n }\r\n renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\r\n jLen = elems.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n if (type === 'st' || type === 'gs') {\r\n ctx.beginPath();\r\n if (currentStyle.da) {\r\n ctx.setLineDash(currentStyle.da);\r\n ctx.lineDashOffset = currentStyle.do;\r\n }\r\n }\r\n nodes = elems[j].trNodes;\r\n kLen = nodes.length;\r\n\r\n for (k = 0; k < kLen; k += 1) {\r\n if (nodes[k].t === 'm') {\r\n ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\r\n } else if (nodes[k].t === 'c') {\r\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]);\r\n } else {\r\n ctx.closePath();\r\n }\r\n }\r\n if (type === 'st' || type === 'gs') {\r\n ctx.stroke();\r\n if (currentStyle.da) {\r\n ctx.setLineDash(this.dashResetter);\r\n }\r\n }\r\n }\r\n if (type !== 'st' && type !== 'gs') {\r\n ctx.fill(currentStyle.r);\r\n }\r\n renderer.restore();\r\n }\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\r\n var i;\r\n var len = items.length - 1;\r\n var groupTransform;\r\n groupTransform = parentTransform;\r\n for (i = len; i >= 0; i -= 1) {\r\n if (items[i].ty === 'tr') {\r\n groupTransform = data[i].transform;\r\n this.renderShapeTransform(parentTransform, groupTransform);\r\n } else if (items[i].ty === 'sh' || items[i].ty === 'el' || items[i].ty === 'rc' || items[i].ty === 'sr') {\r\n this.renderPath(items[i], data[i]);\r\n } else if (items[i].ty === 'fl') {\r\n this.renderFill(items[i], data[i], groupTransform);\r\n } else if (items[i].ty === 'st') {\r\n this.renderStroke(items[i], data[i], groupTransform);\r\n } else if (items[i].ty === 'gf' || items[i].ty === 'gs') {\r\n this.renderGradientFill(items[i], data[i], groupTransform);\r\n } else if (items[i].ty === 'gr') {\r\n this.renderShape(groupTransform, items[i].it, data[i].it);\r\n } else if (items[i].ty === 'tm') {\r\n //\r\n }\r\n }\r\n if (isMain) {\r\n this.drawLayer();\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\r\n if (this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\r\n var shapeNodes = styledShape.trNodes;\r\n var paths = shape.paths;\r\n var i;\r\n var len;\r\n var j;\r\n var jLen = paths._length;\r\n shapeNodes.length = 0;\r\n var groupTransformMat = styledShape.transforms.finalTransform;\r\n for (j = 0; j < jLen; j += 1) {\r\n var pathNodes = paths.shapes[j];\r\n if (pathNodes && pathNodes.v) {\r\n len = pathNodes._length;\r\n for (i = 1; i < len; i += 1) {\r\n if (i === 1) {\r\n shapeNodes.push({\r\n t: 'm',\r\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0),\r\n });\r\n }\r\n shapeNodes.push({\r\n t: 'c',\r\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i]),\r\n });\r\n }\r\n if (len === 1) {\r\n shapeNodes.push({\r\n t: 'm',\r\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0),\r\n });\r\n }\r\n if (pathNodes.c && len) {\r\n shapeNodes.push({\r\n t: 'c',\r\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0]),\r\n });\r\n shapeNodes.push({\r\n t: 'z',\r\n });\r\n }\r\n }\r\n }\r\n styledShape.trNodes = shapeNodes;\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderPath = function (pathData, itemData) {\r\n if (pathData.hd !== true && pathData._shouldRender) {\r\n var i;\r\n var len = itemData.styledShapes.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\r\n }\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\r\n var styleElem = itemData.style;\r\n\r\n if (itemData.c._mdf || this._isFirstFrame) {\r\n styleElem.co = 'rgb('\r\n + bmFloor(itemData.c.v[0]) + ','\r\n + bmFloor(itemData.c.v[1]) + ','\r\n + bmFloor(itemData.c.v[2]) + ')';\r\n }\r\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\r\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\r\n var styleElem = itemData.style;\r\n var grd;\r\n if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || (styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf))) {\r\n var ctx = this.globalData.canvasContext;\r\n var pt1 = itemData.s.v;\r\n var pt2 = itemData.e.v;\r\n if (styleData.t === 1) {\r\n grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\r\n } else {\r\n var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\r\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\r\n\r\n var percent = itemData.h.v;\r\n if (percent >= 1) {\r\n percent = 0.99;\r\n } else if (percent <= -1) {\r\n percent = -0.99;\r\n }\r\n var dist = rad * percent;\r\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\r\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\r\n grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\r\n }\r\n\r\n var i;\r\n var len = styleData.g.p;\r\n var cValues = itemData.g.c;\r\n var opacity = 1;\r\n\r\n for (i = 0; i < len; i += 1) {\r\n if (itemData.g._hasOpacity && itemData.g._collapsable) {\r\n opacity = itemData.g.o[i * 2 + 1];\r\n }\r\n grd.addColorStop(cValues[i * 4] / 100, 'rgba(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ',' + opacity + ')');\r\n }\r\n styleElem.grd = grd;\r\n }\r\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\r\n};\r\n\r\nCVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\r\n var styleElem = itemData.style;\r\n var d = itemData.d;\r\n if (d && (d._mdf || this._isFirstFrame)) {\r\n styleElem.da = d.dashArray;\r\n styleElem.do = d.dashoffset[0];\r\n }\r\n if (itemData.c._mdf || this._isFirstFrame) {\r\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\r\n }\r\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\r\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\r\n }\r\n if (itemData.w._mdf || this._isFirstFrame) {\r\n styleElem.wi = itemData.w.v;\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.destroy = function () {\r\n this.shapesData = null;\r\n this.globalData = null;\r\n this.canvasContext = null;\r\n this.stylesList.length = 0;\r\n this.itemsData.length = 0;\r\n};\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement,\r\nSVGShapeElement, IImageElement */\r\n\r\nfunction CVSolidElement(data, globalData, comp) {\r\n this.initElement(data, globalData, comp);\r\n}\r\nextendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\r\n\r\nCVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\r\nCVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\r\n\r\nCVSolidElement.prototype.renderInnerContent = function () {\r\n var ctx = this.canvasContext;\r\n ctx.fillStyle = this.data.sc;\r\n ctx.fillRect(0, 0, this.data.sw, this.data.sh);\r\n //\r\n};\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement,\r\nRenderableElement, ITextElement, createTag, createSizedArray */\r\n\r\nfunction CVTextElement(data, globalData, comp) {\r\n this.textSpans = [];\r\n this.yOffset = 0;\r\n this.fillColorAnim = false;\r\n this.strokeColorAnim = false;\r\n this.strokeWidthAnim = false;\r\n this.stroke = false;\r\n this.fill = false;\r\n this.justifyOffset = 0;\r\n this.currentRender = null;\r\n this.renderType = 'canvas';\r\n this.values = {\r\n fill: 'rgba(0,0,0,0)',\r\n stroke: 'rgba(0,0,0,0)',\r\n sWidth: 0,\r\n fValue: '',\r\n };\r\n this.initElement(data, globalData, comp);\r\n}\r\nextendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\r\n\r\nCVTextElement.prototype.tHelper = createTag('canvas').getContext('2d');\r\n\r\nCVTextElement.prototype.buildNewText = function () {\r\n var documentData = this.textProperty.currentData;\r\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\r\n\r\n var hasFill = false;\r\n if (documentData.fc) {\r\n hasFill = true;\r\n this.values.fill = this.buildColor(documentData.fc);\r\n } else {\r\n this.values.fill = 'rgba(0,0,0,0)';\r\n }\r\n this.fill = hasFill;\r\n var hasStroke = false;\r\n if (documentData.sc) {\r\n hasStroke = true;\r\n this.values.stroke = this.buildColor(documentData.sc);\r\n this.values.sWidth = documentData.sw;\r\n }\r\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\r\n var i;\r\n var len;\r\n var letters = documentData.l;\r\n var matrixHelper = this.mHelper;\r\n this.stroke = hasStroke;\r\n this.values.fValue = documentData.finalSize + 'px ' + this.globalData.fontManager.getFontByName(documentData.f).fFamily;\r\n len = documentData.finalText.length;\r\n // this.tHelper.font = this.values.fValue;\r\n var charData;\r\n var shapeData;\r\n var k;\r\n var kLen;\r\n var shapes;\r\n var j;\r\n var jLen;\r\n var pathNodes;\r\n var commands;\r\n var pathArr;\r\n var singleShape = this.data.singleShape;\r\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\r\n var xPos = 0;\r\n var yPos = 0;\r\n var firstLine = true;\r\n var cnt = 0;\r\n for (i = 0; i < len; i += 1) {\r\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\r\n shapeData = (charData && charData.data) || {};\r\n matrixHelper.reset();\r\n if (singleShape && letters[i].n) {\r\n xPos = -trackingOffset;\r\n yPos += documentData.yOffset;\r\n yPos += firstLine ? 1 : 0;\r\n firstLine = false;\r\n }\r\n\r\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\r\n jLen = shapes.length;\r\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\r\n if (singleShape) {\r\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\r\n }\r\n commands = createSizedArray(jLen);\r\n for (j = 0; j < jLen; j += 1) {\r\n kLen = shapes[j].ks.k.i.length;\r\n pathNodes = shapes[j].ks.k;\r\n pathArr = [];\r\n for (k = 1; k < kLen; k += 1) {\r\n if (k === 1) {\r\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));\r\n }\r\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));\r\n }\r\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));\r\n commands[j] = pathArr;\r\n }\r\n if (singleShape) {\r\n xPos += letters[i].l;\r\n xPos += trackingOffset;\r\n }\r\n if (this.textSpans[cnt]) {\r\n this.textSpans[cnt].elem = commands;\r\n } else {\r\n this.textSpans[cnt] = { elem: commands };\r\n }\r\n cnt += 1;\r\n }\r\n};\r\n\r\nCVTextElement.prototype.renderInnerContent = function () {\r\n var ctx = this.canvasContext;\r\n ctx.font = this.values.fValue;\r\n ctx.lineCap = 'butt';\r\n ctx.lineJoin = 'miter';\r\n ctx.miterLimit = 4;\r\n\r\n if (!this.data.singleShape) {\r\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\r\n }\r\n\r\n var i;\r\n var len;\r\n var j;\r\n var jLen;\r\n var k;\r\n var kLen;\r\n var renderedLetters = this.textAnimator.renderedLetters;\r\n\r\n var letters = this.textProperty.currentData.l;\r\n\r\n len = letters.length;\r\n var renderedLetter;\r\n var lastFill = null;\r\n var lastStroke = null;\r\n var lastStrokeW = null;\r\n var commands;\r\n var pathArr;\r\n for (i = 0; i < len; i += 1) {\r\n if (!letters[i].n) {\r\n renderedLetter = renderedLetters[i];\r\n if (renderedLetter) {\r\n this.globalData.renderer.save();\r\n this.globalData.renderer.ctxTransform(renderedLetter.p);\r\n this.globalData.renderer.ctxOpacity(renderedLetter.o);\r\n }\r\n if (this.fill) {\r\n if (renderedLetter && renderedLetter.fc) {\r\n if (lastFill !== renderedLetter.fc) {\r\n lastFill = renderedLetter.fc;\r\n ctx.fillStyle = renderedLetter.fc;\r\n }\r\n } else if (lastFill !== this.values.fill) {\r\n lastFill = this.values.fill;\r\n ctx.fillStyle = this.values.fill;\r\n }\r\n commands = this.textSpans[i].elem;\r\n jLen = commands.length;\r\n this.globalData.canvasContext.beginPath();\r\n for (j = 0; j < jLen; j += 1) {\r\n pathArr = commands[j];\r\n kLen = pathArr.length;\r\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\r\n for (k = 2; k < kLen; k += 6) {\r\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\r\n }\r\n }\r\n this.globalData.canvasContext.closePath();\r\n this.globalData.canvasContext.fill();\r\n /// ctx.fillText(this.textSpans[i].val,0,0);\r\n }\r\n if (this.stroke) {\r\n if (renderedLetter && renderedLetter.sw) {\r\n if (lastStrokeW !== renderedLetter.sw) {\r\n lastStrokeW = renderedLetter.sw;\r\n ctx.lineWidth = renderedLetter.sw;\r\n }\r\n } else if (lastStrokeW !== this.values.sWidth) {\r\n lastStrokeW = this.values.sWidth;\r\n ctx.lineWidth = this.values.sWidth;\r\n }\r\n if (renderedLetter && renderedLetter.sc) {\r\n if (lastStroke !== renderedLetter.sc) {\r\n lastStroke = renderedLetter.sc;\r\n ctx.strokeStyle = renderedLetter.sc;\r\n }\r\n } else if (lastStroke !== this.values.stroke) {\r\n lastStroke = this.values.stroke;\r\n ctx.strokeStyle = this.values.stroke;\r\n }\r\n commands = this.textSpans[i].elem;\r\n jLen = commands.length;\r\n this.globalData.canvasContext.beginPath();\r\n for (j = 0; j < jLen; j += 1) {\r\n pathArr = commands[j];\r\n kLen = pathArr.length;\r\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\r\n for (k = 2; k < kLen; k += 6) {\r\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\r\n }\r\n }\r\n this.globalData.canvasContext.closePath();\r\n this.globalData.canvasContext.stroke();\r\n /// ctx.strokeText(letters[i].val,0,0);\r\n }\r\n if (renderedLetter) {\r\n this.globalData.renderer.restore();\r\n }\r\n }\r\n }\r\n};\r\n\r\nfunction CVEffects() {\r\n\r\n}\r\nCVEffects.prototype.renderFrame = function () {};\r\n\r\n/* global createTag, createNS, styleDiv, CVEffects, MaskElement, SVGBaseElement, HybridRenderer */\r\n\r\nfunction HBaseElement() {}\r\nHBaseElement.prototype = {\r\n checkBlendMode: function () {},\r\n initRendererElement: function () {\r\n this.baseElement = createTag(this.data.tg || 'div');\r\n if (this.data.hasMask) {\r\n this.svgElement = createNS('svg');\r\n this.layerElement = createNS('g');\r\n this.maskedElement = this.layerElement;\r\n this.svgElement.appendChild(this.layerElement);\r\n this.baseElement.appendChild(this.svgElement);\r\n } else {\r\n this.layerElement = this.baseElement;\r\n }\r\n styleDiv(this.baseElement);\r\n },\r\n createContainerElements: function () {\r\n this.renderableEffectsManager = new CVEffects(this);\r\n this.transformedElement = this.baseElement;\r\n this.maskedElement = this.layerElement;\r\n if (this.data.ln) {\r\n this.layerElement.setAttribute('id', this.data.ln);\r\n }\r\n if (this.data.cl) {\r\n this.layerElement.setAttribute('class', this.data.cl);\r\n }\r\n if (this.data.bm !== 0) {\r\n this.setBlendMode();\r\n }\r\n },\r\n renderElement: function () {\r\n var transformedElementStyle = this.transformedElement ? this.transformedElement.style : {};\r\n if (this.finalTransform._matMdf) {\r\n var matrixValue = this.finalTransform.mat.toCSS();\r\n transformedElementStyle.transform = matrixValue;\r\n transformedElementStyle.webkitTransform = matrixValue;\r\n }\r\n if (this.finalTransform._opMdf) {\r\n transformedElementStyle.opacity = this.finalTransform.mProp.o.v;\r\n }\r\n },\r\n renderFrame: function () {\r\n // If it is exported as hidden (data.hd === true) no need to render\r\n // If it is not visible no need to render\r\n if (this.data.hd || this.hidden) {\r\n return;\r\n }\r\n this.renderTransform();\r\n this.renderRenderable();\r\n this.renderElement();\r\n this.renderInnerContent();\r\n if (this._isFirstFrame) {\r\n this._isFirstFrame = false;\r\n }\r\n },\r\n destroy: function () {\r\n this.layerElement = null;\r\n this.transformedElement = null;\r\n if (this.matteElement) {\r\n this.matteElement = null;\r\n }\r\n if (this.maskManager) {\r\n this.maskManager.destroy();\r\n this.maskManager = null;\r\n }\r\n },\r\n createRenderableComponents: function () {\r\n this.maskManager = new MaskElement(this.data, this, this.globalData);\r\n },\r\n addEffects: function () {\r\n },\r\n setMatte: function () {},\r\n};\r\nHBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\r\nHBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\r\nHBaseElement.prototype.buildElementParenting = HybridRenderer.prototype.buildElementParenting;\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\nRenderableDOMElement, createNS, createTag */\r\n\r\nfunction HSolidElement(data, globalData, comp) {\r\n this.initElement(data, globalData, comp);\r\n}\r\nextendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\r\n\r\nHSolidElement.prototype.createContent = function () {\r\n var rect;\r\n if (this.data.hasMask) {\r\n rect = createNS('rect');\r\n rect.setAttribute('width', this.data.sw);\r\n rect.setAttribute('height', this.data.sh);\r\n rect.setAttribute('fill', this.data.sc);\r\n this.svgElement.setAttribute('width', this.data.sw);\r\n this.svgElement.setAttribute('height', this.data.sh);\r\n } else {\r\n rect = createTag('div');\r\n rect.style.width = this.data.sw + 'px';\r\n rect.style.height = this.data.sh + 'px';\r\n rect.style.backgroundColor = this.data.sc;\r\n }\r\n this.layerElement.appendChild(rect);\r\n};\r\n\r\n/* global createSizedArray, PropertyFactory, extendPrototype, HybridRenderer, ICompElement, HBaseElement */\r\n\r\nfunction HCompElement(data, globalData, comp) {\r\n this.layers = data.layers;\r\n this.supports3d = !data.hasMask;\r\n this.completeLayers = false;\r\n this.pendingElements = [];\r\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\r\n this.initElement(data, globalData, comp);\r\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : { _placeholder: true };\r\n}\r\n\r\nextendPrototype([HybridRenderer, ICompElement, HBaseElement], HCompElement);\r\nHCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\r\n\r\nHCompElement.prototype.createContainerElements = function () {\r\n this._createBaseContainerElements();\r\n // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\r\n if (this.data.hasMask) {\r\n this.svgElement.setAttribute('width', this.data.w);\r\n this.svgElement.setAttribute('height', this.data.h);\r\n this.transformedElement = this.baseElement;\r\n } else {\r\n this.transformedElement = this.layerElement;\r\n }\r\n};\r\n\r\nHCompElement.prototype.addTo3dContainer = function (elem, pos) {\r\n var j = 0;\r\n var nextElement;\r\n while (j < pos) {\r\n if (this.elements[j] && this.elements[j].getBaseElement) {\r\n nextElement = this.elements[j].getBaseElement();\r\n }\r\n j += 1;\r\n }\r\n if (nextElement) {\r\n this.layerElement.insertBefore(elem, nextElement);\r\n } else {\r\n this.layerElement.appendChild(elem);\r\n }\r\n};\r\n\r\n/* global createNS, extendPrototype, BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement,\r\nHierarchyElement, FrameElement, RenderableElement, createNS, bmMin, bmSqrt, bmMin, bmMax, bmPow */\r\n\r\nfunction HShapeElement(data, globalData, comp) {\r\n // List of drawable elements\r\n this.shapes = [];\r\n // Full shape data\r\n this.shapesData = data.shapes;\r\n // List of styles that will be applied to shapes\r\n this.stylesList = [];\r\n // List of modifiers that will be applied to shapes\r\n this.shapeModifiers = [];\r\n // List of items in shape tree\r\n this.itemsData = [];\r\n // List of items in previous shape tree\r\n this.processedElements = [];\r\n // List of animated components\r\n this.animatedContents = [];\r\n this.shapesContainer = createNS('g');\r\n this.initElement(data, globalData, comp);\r\n // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\r\n // List of elements that have been created\r\n this.prevViewData = [];\r\n this.currentBBox = {\r\n x: 999999,\r\n y: -999999,\r\n h: 0,\r\n w: 0,\r\n };\r\n}\r\nextendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\r\nHShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\r\n\r\nHShapeElement.prototype.createContent = function () {\r\n var cont;\r\n this.baseElement.style.fontSize = 0;\r\n if (this.data.hasMask) {\r\n this.layerElement.appendChild(this.shapesContainer);\r\n cont = this.svgElement;\r\n } else {\r\n cont = createNS('svg');\r\n var size = this.comp.data ? this.comp.data : this.globalData.compSize;\r\n cont.setAttribute('width', size.w);\r\n cont.setAttribute('height', size.h);\r\n cont.appendChild(this.shapesContainer);\r\n this.layerElement.appendChild(cont);\r\n }\r\n\r\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], true);\r\n this.filterUniqueShapes();\r\n this.shapeCont = cont;\r\n};\r\n\r\nHShapeElement.prototype.getTransformedPoint = function (transformers, point) {\r\n var i;\r\n var len = transformers.length;\r\n for (i = 0; i < len; i += 1) {\r\n point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\r\n }\r\n return point;\r\n};\r\n\r\nHShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\r\n var shape = item.sh.v;\r\n var transformers = item.transformers;\r\n var i;\r\n var len = shape._length;\r\n var vPoint;\r\n var oPoint;\r\n var nextIPoint;\r\n var nextVPoint;\r\n if (len <= 1) {\r\n return;\r\n }\r\n for (i = 0; i < len - 1; i += 1) {\r\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\r\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\r\n nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\r\n nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\r\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\r\n }\r\n if (shape.c) {\r\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\r\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\r\n nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\r\n nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\r\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\r\n }\r\n};\r\n\r\nHShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\r\n this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\r\n var bounds = this.shapeBoundingBox;\r\n boundingBox.x = bmMin(bounds.left, boundingBox.x);\r\n boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\r\n boundingBox.y = bmMin(bounds.top, boundingBox.y);\r\n boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\r\n};\r\n\r\nHShapeElement.prototype.shapeBoundingBox = {\r\n left: 0,\r\n right: 0,\r\n top: 0,\r\n bottom: 0,\r\n};\r\n\r\nHShapeElement.prototype.tempBoundingBox = {\r\n x: 0,\r\n xMax: 0,\r\n y: 0,\r\n yMax: 0,\r\n width: 0,\r\n height: 0,\r\n};\r\n\r\nHShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\r\n var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\r\n\r\n for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) { // eslint-disable-line no-plusplus\r\n b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\r\n a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\r\n c = 3 * p1[i] - 3 * p0[i];\r\n\r\n b |= 0; // eslint-disable-line no-bitwise\r\n a |= 0; // eslint-disable-line no-bitwise\r\n c |= 0; // eslint-disable-line no-bitwise\r\n\r\n if (a === 0 && b === 0) {\r\n //\r\n } else if (a === 0) {\r\n t = -c / b;\r\n\r\n if (t > 0 && t < 1) {\r\n bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\r\n }\r\n } else {\r\n b2ac = b * b - 4 * c * a;\r\n\r\n if (b2ac >= 0) {\r\n t1 = (-b + bmSqrt(b2ac)) / (2 * a);\r\n if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\r\n t2 = (-b - bmSqrt(b2ac)) / (2 * a);\r\n if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\r\n }\r\n }\r\n }\r\n\r\n this.shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\r\n this.shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\r\n this.shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\r\n this.shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\r\n};\r\n\r\nHShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\r\n return bmPow(1 - t, 3) * p0[i]\r\n + 3 * bmPow(1 - t, 2) * t * p1[i]\r\n + 3 * (1 - t) * bmPow(t, 2) * p2[i]\r\n + bmPow(t, 3) * p3[i];\r\n};\r\n\r\nHShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\r\n var i;\r\n var len = itemsData.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (itemsData[i] && itemsData[i].sh) {\r\n this.calculateShapeBoundingBox(itemsData[i], boundingBox);\r\n } else if (itemsData[i] && itemsData[i].it) {\r\n this.calculateBoundingBox(itemsData[i].it, boundingBox);\r\n }\r\n }\r\n};\r\n\r\nHShapeElement.prototype.currentBoxContains = function (box) {\r\n return this.currentBBox.x <= box.x\r\n && this.currentBBox.y <= box.y\r\n && this.currentBBox.width + this.currentBBox.x >= box.x + box.width\r\n && this.currentBBox.height + this.currentBBox.y >= box.y + box.height;\r\n};\r\n\r\nHShapeElement.prototype.renderInnerContent = function () {\r\n this._renderShapeFrame();\r\n\r\n if (!this.hidden && (this._isFirstFrame || this._mdf)) {\r\n var tempBoundingBox = this.tempBoundingBox;\r\n var max = 999999;\r\n tempBoundingBox.x = max;\r\n tempBoundingBox.xMax = -max;\r\n tempBoundingBox.y = max;\r\n tempBoundingBox.yMax = -max;\r\n this.calculateBoundingBox(this.itemsData, tempBoundingBox);\r\n tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\r\n tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y;\r\n // var tempBoundingBox = this.shapeCont.getBBox();\r\n if (this.currentBoxContains(tempBoundingBox)) {\r\n return;\r\n }\r\n var changed = false;\r\n if (this.currentBBox.w !== tempBoundingBox.width) {\r\n this.currentBBox.w = tempBoundingBox.width;\r\n this.shapeCont.setAttribute('width', tempBoundingBox.width);\r\n changed = true;\r\n }\r\n if (this.currentBBox.h !== tempBoundingBox.height) {\r\n this.currentBBox.h = tempBoundingBox.height;\r\n this.shapeCont.setAttribute('height', tempBoundingBox.height);\r\n changed = true;\r\n }\r\n if (changed || this.currentBBox.x !== tempBoundingBox.x || this.currentBBox.y !== tempBoundingBox.y) {\r\n this.currentBBox.w = tempBoundingBox.width;\r\n this.currentBBox.h = tempBoundingBox.height;\r\n this.currentBBox.x = tempBoundingBox.x;\r\n this.currentBBox.y = tempBoundingBox.y;\r\n\r\n this.shapeCont.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\r\n var shapeStyle = this.shapeCont.style;\r\n var shapeTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\r\n shapeStyle.transform = shapeTransform;\r\n shapeStyle.webkitTransform = shapeTransform;\r\n }\r\n }\r\n};\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\nRenderableDOMElement, ITextElement, createSizedArray, createTag, styleDiv, createNS, lineJoinEnum, lineCapEnum */\r\n\r\nfunction HTextElement(data, globalData, comp) {\r\n this.textSpans = [];\r\n this.textPaths = [];\r\n this.currentBBox = {\r\n x: 999999,\r\n y: -999999,\r\n h: 0,\r\n w: 0,\r\n };\r\n this.renderType = 'svg';\r\n this.isMasked = false;\r\n this.initElement(data, globalData, comp);\r\n}\r\nextendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\r\n\r\nHTextElement.prototype.createContent = function () {\r\n this.isMasked = this.checkMasks();\r\n if (this.isMasked) {\r\n this.renderType = 'svg';\r\n this.compW = this.comp.data.w;\r\n this.compH = this.comp.data.h;\r\n this.svgElement.setAttribute('width', this.compW);\r\n this.svgElement.setAttribute('height', this.compH);\r\n var g = createNS('g');\r\n this.maskedElement.appendChild(g);\r\n this.innerElem = g;\r\n } else {\r\n this.renderType = 'html';\r\n this.innerElem = this.layerElement;\r\n }\r\n\r\n this.checkParenting();\r\n};\r\n\r\nHTextElement.prototype.buildNewText = function () {\r\n var documentData = this.textProperty.currentData;\r\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\r\n var innerElemStyle = this.innerElem.style;\r\n var textColor = documentData.fc ? this.buildColor(documentData.fc) : 'rgba(0,0,0,0)';\r\n innerElemStyle.fill = textColor;\r\n innerElemStyle.color = textColor;\r\n if (documentData.sc) {\r\n innerElemStyle.stroke = this.buildColor(documentData.sc);\r\n innerElemStyle.strokeWidth = documentData.sw + 'px';\r\n }\r\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\r\n if (!this.globalData.fontManager.chars) {\r\n innerElemStyle.fontSize = documentData.finalSize + 'px';\r\n innerElemStyle.lineHeight = documentData.finalSize + 'px';\r\n if (fontData.fClass) {\r\n this.innerElem.className = fontData.fClass;\r\n } else {\r\n innerElemStyle.fontFamily = fontData.fFamily;\r\n var fWeight = documentData.fWeight;\r\n var fStyle = documentData.fStyle;\r\n innerElemStyle.fontStyle = fStyle;\r\n innerElemStyle.fontWeight = fWeight;\r\n }\r\n }\r\n var i;\r\n var len;\r\n\r\n var letters = documentData.l;\r\n len = letters.length;\r\n var tSpan;\r\n var tParent;\r\n var tCont;\r\n var matrixHelper = this.mHelper;\r\n var shapes;\r\n var shapeStr = '';\r\n var cnt = 0;\r\n for (i = 0; i < len; i += 1) {\r\n if (this.globalData.fontManager.chars) {\r\n if (!this.textPaths[cnt]) {\r\n tSpan = createNS('path');\r\n tSpan.setAttribute('stroke-linecap', lineCapEnum[1]);\r\n tSpan.setAttribute('stroke-linejoin', lineJoinEnum[2]);\r\n tSpan.setAttribute('stroke-miterlimit', '4');\r\n } else {\r\n tSpan = this.textPaths[cnt];\r\n }\r\n if (!this.isMasked) {\r\n if (this.textSpans[cnt]) {\r\n tParent = this.textSpans[cnt];\r\n tCont = tParent.children[0];\r\n } else {\r\n tParent = createTag('div');\r\n tParent.style.lineHeight = 0;\r\n tCont = createNS('svg');\r\n tCont.appendChild(tSpan);\r\n styleDiv(tParent);\r\n }\r\n }\r\n } else if (!this.isMasked) {\r\n if (this.textSpans[cnt]) {\r\n tParent = this.textSpans[cnt];\r\n tSpan = this.textPaths[cnt];\r\n } else {\r\n tParent = createTag('span');\r\n styleDiv(tParent);\r\n tSpan = createTag('span');\r\n styleDiv(tSpan);\r\n tParent.appendChild(tSpan);\r\n }\r\n } else {\r\n tSpan = this.textPaths[cnt] ? this.textPaths[cnt] : createNS('text');\r\n }\r\n // tSpan.setAttribute('visibility', 'hidden');\r\n if (this.globalData.fontManager.chars) {\r\n var charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\r\n var shapeData;\r\n if (charData) {\r\n shapeData = charData.data;\r\n } else {\r\n shapeData = null;\r\n }\r\n matrixHelper.reset();\r\n if (shapeData && shapeData.shapes) {\r\n shapes = shapeData.shapes[0].it;\r\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\r\n shapeStr = this.createPathShape(matrixHelper, shapes);\r\n tSpan.setAttribute('d', shapeStr);\r\n }\r\n if (!this.isMasked) {\r\n this.innerElem.appendChild(tParent);\r\n if (shapeData && shapeData.shapes) {\r\n // document.body.appendChild is needed to get exact measure of shape\r\n document.body.appendChild(tCont);\r\n var boundingBox = tCont.getBBox();\r\n tCont.setAttribute('width', boundingBox.width + 2);\r\n tCont.setAttribute('height', boundingBox.height + 2);\r\n tCont.setAttribute('viewBox', (boundingBox.x - 1) + ' ' + (boundingBox.y - 1) + ' ' + (boundingBox.width + 2) + ' ' + (boundingBox.height + 2));\r\n var tContStyle = tCont.style;\r\n var tContTranslation = 'translate(' + (boundingBox.x - 1) + 'px,' + (boundingBox.y - 1) + 'px)';\r\n tContStyle.transform = tContTranslation;\r\n tContStyle.webkitTransform = tContTranslation;\r\n\r\n letters[i].yOffset = boundingBox.y - 1;\r\n } else {\r\n tCont.setAttribute('width', 1);\r\n tCont.setAttribute('height', 1);\r\n }\r\n tParent.appendChild(tCont);\r\n } else {\r\n this.innerElem.appendChild(tSpan);\r\n }\r\n } else {\r\n tSpan.textContent = letters[i].val;\r\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\r\n if (!this.isMasked) {\r\n this.innerElem.appendChild(tParent);\r\n //\r\n var tStyle = tSpan.style;\r\n var tSpanTranslation = 'translate3d(0,' + -documentData.finalSize / 1.2 + 'px,0)';\r\n tStyle.transform = tSpanTranslation;\r\n tStyle.webkitTransform = tSpanTranslation;\r\n } else {\r\n this.innerElem.appendChild(tSpan);\r\n }\r\n }\r\n //\r\n if (!this.isMasked) {\r\n this.textSpans[cnt] = tParent;\r\n } else {\r\n this.textSpans[cnt] = tSpan;\r\n }\r\n this.textSpans[cnt].style.display = 'block';\r\n this.textPaths[cnt] = tSpan;\r\n cnt += 1;\r\n }\r\n while (cnt < this.textSpans.length) {\r\n this.textSpans[cnt].style.display = 'none';\r\n cnt += 1;\r\n }\r\n};\r\n\r\nHTextElement.prototype.renderInnerContent = function () {\r\n var svgStyle;\r\n if (this.data.singleShape) {\r\n if (!this._isFirstFrame && !this.lettersChangedFlag) {\r\n return;\r\n } if (this.isMasked && this.finalTransform._matMdf) {\r\n // Todo Benchmark if using this is better than getBBox\r\n this.svgElement.setAttribute('viewBox', -this.finalTransform.mProp.p.v[0] + ' ' + -this.finalTransform.mProp.p.v[1] + ' ' + this.compW + ' ' + this.compH);\r\n svgStyle = this.svgElement.style;\r\n var translation = 'translate(' + -this.finalTransform.mProp.p.v[0] + 'px,' + -this.finalTransform.mProp.p.v[1] + 'px)';\r\n svgStyle.transform = translation;\r\n svgStyle.webkitTransform = translation;\r\n }\r\n }\r\n\r\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\r\n if (!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag) {\r\n return;\r\n }\r\n var i;\r\n var len;\r\n var count = 0;\r\n var renderedLetters = this.textAnimator.renderedLetters;\r\n\r\n var letters = this.textProperty.currentData.l;\r\n\r\n len = letters.length;\r\n var renderedLetter;\r\n var textSpan;\r\n var textPath;\r\n for (i = 0; i < len; i += 1) {\r\n if (letters[i].n) {\r\n count += 1;\r\n } else {\r\n textSpan = this.textSpans[i];\r\n textPath = this.textPaths[i];\r\n renderedLetter = renderedLetters[count];\r\n count += 1;\r\n if (renderedLetter._mdf.m) {\r\n if (!this.isMasked) {\r\n textSpan.style.webkitTransform = renderedLetter.m;\r\n textSpan.style.transform = renderedLetter.m;\r\n } else {\r\n textSpan.setAttribute('transform', renderedLetter.m);\r\n }\r\n }\r\n /// /textSpan.setAttribute('opacity',renderedLetter.o);\r\n textSpan.style.opacity = renderedLetter.o;\r\n if (renderedLetter.sw && renderedLetter._mdf.sw) {\r\n textPath.setAttribute('stroke-width', renderedLetter.sw);\r\n }\r\n if (renderedLetter.sc && renderedLetter._mdf.sc) {\r\n textPath.setAttribute('stroke', renderedLetter.sc);\r\n }\r\n if (renderedLetter.fc && renderedLetter._mdf.fc) {\r\n textPath.setAttribute('fill', renderedLetter.fc);\r\n textPath.style.color = renderedLetter.fc;\r\n }\r\n }\r\n }\r\n\r\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\r\n var boundingBox = this.innerElem.getBBox();\r\n\r\n if (this.currentBBox.w !== boundingBox.width) {\r\n this.currentBBox.w = boundingBox.width;\r\n this.svgElement.setAttribute('width', boundingBox.width);\r\n }\r\n if (this.currentBBox.h !== boundingBox.height) {\r\n this.currentBBox.h = boundingBox.height;\r\n this.svgElement.setAttribute('height', boundingBox.height);\r\n }\r\n\r\n var margin = 1;\r\n if (this.currentBBox.w !== (boundingBox.width + margin * 2) || this.currentBBox.h !== (boundingBox.height + margin * 2) || this.currentBBox.x !== (boundingBox.x - margin) || this.currentBBox.y !== (boundingBox.y - margin)) {\r\n this.currentBBox.w = boundingBox.width + margin * 2;\r\n this.currentBBox.h = boundingBox.height + margin * 2;\r\n this.currentBBox.x = boundingBox.x - margin;\r\n this.currentBBox.y = boundingBox.y - margin;\r\n\r\n this.svgElement.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\r\n svgStyle = this.svgElement.style;\r\n var svgTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\r\n svgStyle.transform = svgTransform;\r\n svgStyle.webkitTransform = svgTransform;\r\n }\r\n }\r\n};\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement,\r\nFrameElement, RenderableElement, createNS */\r\n\r\nfunction HImageElement(data, globalData, comp) {\r\n this.assetData = globalData.getAssetData(data.refId);\r\n this.initElement(data, globalData, comp);\r\n}\r\n\r\nextendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\r\n\r\nHImageElement.prototype.createContent = function () {\r\n var assetPath = this.globalData.getAssetsPath(this.assetData);\r\n var img = new Image();\r\n\r\n if (this.data.hasMask) {\r\n this.imageElem = createNS('image');\r\n this.imageElem.setAttribute('width', this.assetData.w + 'px');\r\n this.imageElem.setAttribute('height', this.assetData.h + 'px');\r\n this.imageElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\r\n this.layerElement.appendChild(this.imageElem);\r\n this.baseElement.setAttribute('width', this.assetData.w);\r\n this.baseElement.setAttribute('height', this.assetData.h);\r\n } else {\r\n this.layerElement.appendChild(img);\r\n }\r\n img.crossOrigin = 'anonymous';\r\n img.src = assetPath;\r\n if (this.data.ln) {\r\n this.baseElement.setAttribute('id', this.data.ln);\r\n }\r\n};\r\n\r\n/* global PropertyFactory, degToRads, Matrix, extendPrototype, BaseElement, FrameElement, HierarchyElement */\r\n\r\nfunction HCameraElement(data, globalData, comp) {\r\n this.initFrame();\r\n this.initBaseData(data, globalData, comp);\r\n this.initHierarchy();\r\n var getProp = PropertyFactory.getProp;\r\n this.pe = getProp(this, data.pe, 0, 0, this);\r\n if (data.ks.p.s) {\r\n this.px = getProp(this, data.ks.p.x, 1, 0, this);\r\n this.py = getProp(this, data.ks.p.y, 1, 0, this);\r\n this.pz = getProp(this, data.ks.p.z, 1, 0, this);\r\n } else {\r\n this.p = getProp(this, data.ks.p, 1, 0, this);\r\n }\r\n if (data.ks.a) {\r\n this.a = getProp(this, data.ks.a, 1, 0, this);\r\n }\r\n if (data.ks.or.k.length && data.ks.or.k[0].to) {\r\n var i;\r\n var len = data.ks.or.k.length;\r\n for (i = 0; i < len; i += 1) {\r\n data.ks.or.k[i].to = null;\r\n data.ks.or.k[i].ti = null;\r\n }\r\n }\r\n this.or = getProp(this, data.ks.or, 1, degToRads, this);\r\n this.or.sh = true;\r\n this.rx = getProp(this, data.ks.rx, 0, degToRads, this);\r\n this.ry = getProp(this, data.ks.ry, 0, degToRads, this);\r\n this.rz = getProp(this, data.ks.rz, 0, degToRads, this);\r\n this.mat = new Matrix();\r\n this._prevMat = new Matrix();\r\n this._isFirstFrame = true;\r\n\r\n // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\r\n this.finalTransform = {\r\n mProp: this,\r\n };\r\n}\r\nextendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\r\n\r\nHCameraElement.prototype.setup = function () {\r\n var i;\r\n var len = this.comp.threeDElements.length;\r\n var comp;\r\n var perspectiveStyle;\r\n var containerStyle;\r\n for (i = 0; i < len; i += 1) {\r\n // [perspectiveElem,container]\r\n comp = this.comp.threeDElements[i];\r\n if (comp.type === '3d') {\r\n perspectiveStyle = comp.perspectiveElem.style;\r\n containerStyle = comp.container.style;\r\n var perspective = this.pe.v + 'px';\r\n var origin = '0px 0px 0px';\r\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\r\n perspectiveStyle.perspective = perspective;\r\n perspectiveStyle.webkitPerspective = perspective;\r\n containerStyle.transformOrigin = origin;\r\n containerStyle.mozTransformOrigin = origin;\r\n containerStyle.webkitTransformOrigin = origin;\r\n perspectiveStyle.transform = matrix;\r\n perspectiveStyle.webkitTransform = matrix;\r\n }\r\n }\r\n};\r\n\r\nHCameraElement.prototype.createElements = function () {\r\n};\r\n\r\nHCameraElement.prototype.hide = function () {\r\n};\r\n\r\nHCameraElement.prototype.renderFrame = function () {\r\n var _mdf = this._isFirstFrame;\r\n var i;\r\n var len;\r\n if (this.hierarchy) {\r\n len = this.hierarchy.length;\r\n for (i = 0; i < len; i += 1) {\r\n _mdf = this.hierarchy[i].finalTransform.mProp._mdf || _mdf;\r\n }\r\n }\r\n if (_mdf || this.pe._mdf || (this.p && this.p._mdf) || (this.px && (this.px._mdf || this.py._mdf || this.pz._mdf)) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || (this.a && this.a._mdf)) {\r\n this.mat.reset();\r\n\r\n if (this.hierarchy) {\r\n len = this.hierarchy.length - 1;\r\n for (i = len; i >= 0; i -= 1) {\r\n var mTransf = this.hierarchy[i].finalTransform.mProp;\r\n this.mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\r\n this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\r\n this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\r\n this.mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\r\n this.mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\r\n }\r\n }\r\n if (this.p) {\r\n this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]);\r\n } else {\r\n this.mat.translate(-this.px.v, -this.py.v, this.pz.v);\r\n }\r\n if (this.a) {\r\n var diffVector;\r\n if (this.p) {\r\n diffVector = [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]];\r\n } else {\r\n diffVector = [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\r\n }\r\n var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2));\r\n // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\r\n var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\r\n var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\r\n var mRotationX = (Math.atan2(lookDir[1], lookLengthOnXZ));\r\n var mRotationY = (Math.atan2(lookDir[0], -lookDir[2]));\r\n this.mat.rotateY(mRotationY).rotateX(-mRotationX);\r\n }\r\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v);\r\n this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]);\r\n this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0);\r\n this.mat.translate(0, 0, this.pe.v);\r\n\r\n var hasMatrixChanged = !this._prevMat.equals(this.mat);\r\n if ((hasMatrixChanged || this.pe._mdf) && this.comp.threeDElements) {\r\n len = this.comp.threeDElements.length;\r\n var comp;\r\n var perspectiveStyle;\r\n var containerStyle;\r\n for (i = 0; i < len; i += 1) {\r\n comp = this.comp.threeDElements[i];\r\n if (comp.type === '3d') {\r\n if (hasMatrixChanged) {\r\n var matValue = this.mat.toCSS();\r\n containerStyle = comp.container.style;\r\n containerStyle.transform = matValue;\r\n containerStyle.webkitTransform = matValue;\r\n }\r\n if (this.pe._mdf) {\r\n perspectiveStyle = comp.perspectiveElem.style;\r\n perspectiveStyle.perspective = this.pe.v + 'px';\r\n perspectiveStyle.webkitPerspective = this.pe.v + 'px';\r\n }\r\n }\r\n }\r\n this.mat.clone(this._prevMat);\r\n }\r\n }\r\n this._isFirstFrame = false;\r\n};\r\n\r\nHCameraElement.prototype.prepareFrame = function (num) {\r\n this.prepareProperties(num, true);\r\n};\r\n\r\nHCameraElement.prototype.destroy = function () {\r\n};\r\nHCameraElement.prototype.getBaseElement = function () { return null; };\r\n\r\nfunction HEffects() {\r\n}\r\nHEffects.prototype.renderFrame = function () {};\r\n\r\n/* global createTag, AnimationItem */\r\n/* exported animationManager */\r\n\r\nvar animationManager = (function () {\r\n var moduleOb = {};\r\n var registeredAnimations = [];\r\n var initTime = 0;\r\n var len = 0;\r\n var playingAnimationsNum = 0;\r\n var _stopped = true;\r\n var _isFrozen = false;\r\n\r\n function removeElement(ev) {\r\n var i = 0;\r\n var animItem = ev.target;\r\n while (i < len) {\r\n if (registeredAnimations[i].animation === animItem) {\r\n registeredAnimations.splice(i, 1);\r\n i -= 1;\r\n len -= 1;\r\n if (!animItem.isPaused) {\r\n subtractPlayingCount();\r\n }\r\n }\r\n i += 1;\r\n }\r\n }\r\n\r\n function registerAnimation(element, animationData) {\r\n if (!element) {\r\n return null;\r\n }\r\n var i = 0;\r\n while (i < len) {\r\n if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\r\n return registeredAnimations[i].animation;\r\n }\r\n i += 1;\r\n }\r\n var animItem = new AnimationItem();\r\n setupAnimation(animItem, element);\r\n animItem.setData(element, animationData);\r\n return animItem;\r\n }\r\n\r\n function getRegisteredAnimations() {\r\n var i;\r\n var lenAnims = registeredAnimations.length;\r\n var animations = [];\r\n for (i = 0; i < lenAnims; i += 1) {\r\n animations.push(registeredAnimations[i].animation);\r\n }\r\n return animations;\r\n }\r\n\r\n function addPlayingCount() {\r\n playingAnimationsNum += 1;\r\n activate();\r\n }\r\n\r\n function subtractPlayingCount() {\r\n playingAnimationsNum -= 1;\r\n }\r\n\r\n function setupAnimation(animItem, element) {\r\n animItem.addEventListener('destroy', removeElement);\r\n animItem.addEventListener('_active', addPlayingCount);\r\n animItem.addEventListener('_idle', subtractPlayingCount);\r\n registeredAnimations.push({ elem: element, animation: animItem });\r\n len += 1;\r\n }\r\n\r\n function loadAnimation(params) {\r\n var animItem = new AnimationItem();\r\n setupAnimation(animItem, null);\r\n animItem.setParams(params);\r\n return animItem;\r\n }\r\n\r\n function setSpeed(val, animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.setSpeed(val, animation);\r\n }\r\n }\r\n\r\n function setDirection(val, animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.setDirection(val, animation);\r\n }\r\n }\r\n\r\n function play(animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.play(animation);\r\n }\r\n }\r\n function resume(nowTime) {\r\n var elapsedTime = nowTime - initTime;\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.advanceTime(elapsedTime);\r\n }\r\n initTime = nowTime;\r\n if (playingAnimationsNum && !_isFrozen) {\r\n window.requestAnimationFrame(resume);\r\n } else {\r\n _stopped = true;\r\n }\r\n }\r\n\r\n function first(nowTime) {\r\n initTime = nowTime;\r\n window.requestAnimationFrame(resume);\r\n }\r\n\r\n function pause(animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.pause(animation);\r\n }\r\n }\r\n\r\n function goToAndStop(value, isFrame, animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\r\n }\r\n }\r\n\r\n function stop(animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.stop(animation);\r\n }\r\n }\r\n\r\n function togglePause(animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.togglePause(animation);\r\n }\r\n }\r\n\r\n function destroy(animation) {\r\n var i;\r\n for (i = (len - 1); i >= 0; i -= 1) {\r\n registeredAnimations[i].animation.destroy(animation);\r\n }\r\n }\r\n\r\n function searchAnimations(animationData, standalone, renderer) {\r\n var animElements = [].concat([].slice.call(document.getElementsByClassName('lottie')),\r\n [].slice.call(document.getElementsByClassName('bodymovin')));\r\n var i;\r\n var lenAnims = animElements.length;\r\n for (i = 0; i < lenAnims; i += 1) {\r\n if (renderer) {\r\n animElements[i].setAttribute('data-bm-type', renderer);\r\n }\r\n registerAnimation(animElements[i], animationData);\r\n }\r\n if (standalone && lenAnims === 0) {\r\n if (!renderer) {\r\n renderer = 'svg';\r\n }\r\n var body = document.getElementsByTagName('body')[0];\r\n body.innerText = '';\r\n var div = createTag('div');\r\n div.style.width = '100%';\r\n div.style.height = '100%';\r\n div.setAttribute('data-bm-type', renderer);\r\n body.appendChild(div);\r\n registerAnimation(div, animationData);\r\n }\r\n }\r\n\r\n function resize() {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.resize();\r\n }\r\n }\r\n\r\n function activate() {\r\n if (!_isFrozen && playingAnimationsNum) {\r\n if (_stopped) {\r\n window.requestAnimationFrame(first);\r\n _stopped = false;\r\n }\r\n }\r\n }\r\n\r\n function freeze() {\r\n _isFrozen = true;\r\n }\r\n\r\n function unfreeze() {\r\n _isFrozen = false;\r\n activate();\r\n }\r\n\r\n function setVolume(val, animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.setVolume(val, animation);\r\n }\r\n }\r\n\r\n function mute(animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.mute(animation);\r\n }\r\n }\r\n\r\n function unmute(animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.unmute(animation);\r\n }\r\n }\r\n\r\n moduleOb.registerAnimation = registerAnimation;\r\n moduleOb.loadAnimation = loadAnimation;\r\n moduleOb.setSpeed = setSpeed;\r\n moduleOb.setDirection = setDirection;\r\n moduleOb.play = play;\r\n moduleOb.pause = pause;\r\n moduleOb.stop = stop;\r\n moduleOb.togglePause = togglePause;\r\n moduleOb.searchAnimations = searchAnimations;\r\n moduleOb.resize = resize;\r\n // moduleOb.start = start;\r\n moduleOb.goToAndStop = goToAndStop;\r\n moduleOb.destroy = destroy;\r\n moduleOb.freeze = freeze;\r\n moduleOb.unfreeze = unfreeze;\r\n moduleOb.setVolume = setVolume;\r\n moduleOb.mute = mute;\r\n moduleOb.unmute = unmute;\r\n moduleOb.getRegisteredAnimations = getRegisteredAnimations;\r\n return moduleOb;\r\n}());\r\n\r\n/* global createElementID, subframeEnabled, ProjectInterface, ImagePreloader, audioControllerFactory, extendPrototype, BaseEvent,\r\nCanvasRenderer, SVGRenderer, HybridRenderer, assetLoader, dataManager, expressionsPlugin, BMEnterFrameEvent, BMCompleteLoopEvent,\r\nBMCompleteEvent, BMSegmentStartEvent, BMDestroyEvent, BMEnterFrameEvent, BMCompleteLoopEvent, BMCompleteEvent, BMSegmentStartEvent,\r\nBMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, markerParser */\r\n\r\nvar AnimationItem = function () {\r\n this._cbs = [];\r\n this.name = '';\r\n this.path = '';\r\n this.isLoaded = false;\r\n this.currentFrame = 0;\r\n this.currentRawFrame = 0;\r\n this.firstFrame = 0;\r\n this.totalFrames = 0;\r\n this.frameRate = 0;\r\n this.frameMult = 0;\r\n this.playSpeed = 1;\r\n this.playDirection = 1;\r\n this.playCount = 0;\r\n this.animationData = {};\r\n this.assets = [];\r\n this.isPaused = true;\r\n this.autoplay = false;\r\n this.loop = true;\r\n this.renderer = null;\r\n this.animationID = createElementID();\r\n this.assetsPath = '';\r\n this.timeCompleted = 0;\r\n this.segmentPos = 0;\r\n this.isSubframeEnabled = subframeEnabled;\r\n this.segments = [];\r\n this._idle = true;\r\n this._completedLoop = false;\r\n this.projectInterface = ProjectInterface();\r\n this.imagePreloader = new ImagePreloader();\r\n this.audioController = audioControllerFactory();\r\n this.markers = [];\r\n};\r\n\r\nextendPrototype([BaseEvent], AnimationItem);\r\n\r\nAnimationItem.prototype.setParams = function (params) {\r\n if (params.wrapper || params.container) {\r\n this.wrapper = params.wrapper || params.container;\r\n }\r\n var animType = 'svg';\r\n if (params.animType) {\r\n animType = params.animType;\r\n } else if (params.renderer) {\r\n animType = params.renderer;\r\n }\r\n switch (animType) {\r\n case 'canvas':\r\n this.renderer = new CanvasRenderer(this, params.rendererSettings);\r\n break;\r\n case 'svg':\r\n this.renderer = new SVGRenderer(this, params.rendererSettings);\r\n break;\r\n default:\r\n this.renderer = new HybridRenderer(this, params.rendererSettings);\r\n break;\r\n }\r\n this.imagePreloader.setCacheType(animType, this.renderer.globalData.defs);\r\n this.renderer.setProjectInterface(this.projectInterface);\r\n this.animType = animType;\r\n if (params.loop === ''\r\n || params.loop === null\r\n || params.loop === undefined\r\n || params.loop === true) {\r\n this.loop = true;\r\n } else if (params.loop === false) {\r\n this.loop = false;\r\n } else {\r\n this.loop = parseInt(params.loop, 10);\r\n }\r\n this.autoplay = 'autoplay' in params ? params.autoplay : true;\r\n this.name = params.name ? params.name : '';\r\n this.autoloadSegments = Object.prototype.hasOwnProperty.call(params, 'autoloadSegments') ? params.autoloadSegments : true;\r\n this.assetsPath = params.assetsPath;\r\n this.initialSegment = params.initialSegment;\r\n if (params.audioFactory) {\r\n this.audioController.setAudioFactory(params.audioFactory);\r\n }\r\n if (params.animationData) {\r\n this.configAnimation(params.animationData);\r\n } else if (params.path) {\r\n if (params.path.lastIndexOf('\\\\') !== -1) {\r\n this.path = params.path.substr(0, params.path.lastIndexOf('\\\\') + 1);\r\n } else {\r\n this.path = params.path.substr(0, params.path.lastIndexOf('/') + 1);\r\n }\r\n this.fileName = params.path.substr(params.path.lastIndexOf('/') + 1);\r\n this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf('.json'));\r\n\r\n assetLoader.load(params.path, this.configAnimation.bind(this), function () {\r\n this.trigger('data_failed');\r\n }.bind(this));\r\n }\r\n};\r\n\r\nAnimationItem.prototype.setData = function (wrapper, animationData) {\r\n if (animationData) {\r\n if (typeof animationData !== 'object') {\r\n animationData = JSON.parse(animationData);\r\n }\r\n }\r\n var params = {\r\n wrapper: wrapper,\r\n animationData: animationData,\r\n };\r\n var wrapperAttributes = wrapper.attributes;\r\n\r\n params.path = wrapperAttributes.getNamedItem('data-animation-path') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-animation-path').value\r\n : wrapperAttributes.getNamedItem('data-bm-path') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-bm-path').value\r\n : wrapperAttributes.getNamedItem('bm-path')\r\n ? wrapperAttributes.getNamedItem('bm-path').value\r\n : '';\r\n params.animType = wrapperAttributes.getNamedItem('data-anim-type') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-anim-type').value\r\n : wrapperAttributes.getNamedItem('data-bm-type') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-bm-type').value\r\n : wrapperAttributes.getNamedItem('bm-type') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('bm-type').value\r\n : wrapperAttributes.getNamedItem('data-bm-renderer') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-bm-renderer').value\r\n : wrapperAttributes.getNamedItem('bm-renderer')\r\n ? wrapperAttributes.getNamedItem('bm-renderer').value\r\n : 'canvas';\r\n\r\n var loop = wrapperAttributes.getNamedItem('data-anim-loop') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-anim-loop').value\r\n : wrapperAttributes.getNamedItem('data-bm-loop') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-bm-loop').value\r\n : wrapperAttributes.getNamedItem('bm-loop')\r\n ? wrapperAttributes.getNamedItem('bm-loop').value\r\n : '';\r\n if (loop === 'false') {\r\n params.loop = false;\r\n } else if (loop === 'true') {\r\n params.loop = true;\r\n } else if (loop !== '') {\r\n params.loop = parseInt(loop, 10);\r\n }\r\n var autoplay = wrapperAttributes.getNamedItem('data-anim-autoplay') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-anim-autoplay').value\r\n : wrapperAttributes.getNamedItem('data-bm-autoplay') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-bm-autoplay').value\r\n : wrapperAttributes.getNamedItem('bm-autoplay')\r\n ? wrapperAttributes.getNamedItem('bm-autoplay').value\r\n : true;\r\n params.autoplay = autoplay !== 'false';\r\n\r\n params.name = wrapperAttributes.getNamedItem('data-name') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-name').value\r\n : wrapperAttributes.getNamedItem('data-bm-name') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-bm-name').value\r\n : wrapperAttributes.getNamedItem('bm-name')\r\n ? wrapperAttributes.getNamedItem('bm-name').value\r\n : '';\r\n var prerender = wrapperAttributes.getNamedItem('data-anim-prerender') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-anim-prerender').value\r\n : wrapperAttributes.getNamedItem('data-bm-prerender') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-bm-prerender').value\r\n : wrapperAttributes.getNamedItem('bm-prerender')\r\n ? wrapperAttributes.getNamedItem('bm-prerender').value\r\n : '';\r\n\r\n if (prerender === 'false') {\r\n params.prerender = false;\r\n }\r\n this.setParams(params);\r\n};\r\n\r\nAnimationItem.prototype.includeLayers = function (data) {\r\n if (data.op > this.animationData.op) {\r\n this.animationData.op = data.op;\r\n this.totalFrames = Math.floor(data.op - this.animationData.ip);\r\n }\r\n var layers = this.animationData.layers;\r\n var i;\r\n var len = layers.length;\r\n var newLayers = data.layers;\r\n var j;\r\n var jLen = newLayers.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n i = 0;\r\n while (i < len) {\r\n if (layers[i].id === newLayers[j].id) {\r\n layers[i] = newLayers[j];\r\n break;\r\n }\r\n i += 1;\r\n }\r\n }\r\n if (data.chars || data.fonts) {\r\n this.renderer.globalData.fontManager.addChars(data.chars);\r\n this.renderer.globalData.fontManager.addFonts(data.fonts, this.renderer.globalData.defs);\r\n }\r\n if (data.assets) {\r\n len = data.assets.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.animationData.assets.push(data.assets[i]);\r\n }\r\n }\r\n this.animationData.__complete = false;\r\n dataManager.completeData(this.animationData, this.renderer.globalData.fontManager);\r\n this.renderer.includeLayers(data.layers);\r\n if (expressionsPlugin) {\r\n expressionsPlugin.initExpressions(this);\r\n }\r\n this.loadNextSegment();\r\n};\r\n\r\nAnimationItem.prototype.loadNextSegment = function () {\r\n var segments = this.animationData.segments;\r\n if (!segments || segments.length === 0 || !this.autoloadSegments) {\r\n this.trigger('data_ready');\r\n this.timeCompleted = this.totalFrames;\r\n return;\r\n }\r\n var segment = segments.shift();\r\n this.timeCompleted = segment.time * this.frameRate;\r\n var segmentPath = this.path + this.fileName + '_' + this.segmentPos + '.json';\r\n this.segmentPos += 1;\r\n assetLoader.load(segmentPath, this.includeLayers.bind(this), function () {\r\n this.trigger('data_failed');\r\n }.bind(this));\r\n};\r\n\r\nAnimationItem.prototype.loadSegments = function () {\r\n var segments = this.animationData.segments;\r\n if (!segments) {\r\n this.timeCompleted = this.totalFrames;\r\n }\r\n this.loadNextSegment();\r\n};\r\n\r\nAnimationItem.prototype.imagesLoaded = function () {\r\n this.trigger('loaded_images');\r\n this.checkLoaded();\r\n};\r\n\r\nAnimationItem.prototype.preloadImages = function () {\r\n this.imagePreloader.setAssetsPath(this.assetsPath);\r\n this.imagePreloader.setPath(this.path);\r\n this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\r\n};\r\n\r\nAnimationItem.prototype.configAnimation = function (animData) {\r\n if (!this.renderer) {\r\n return;\r\n }\r\n try {\r\n this.animationData = animData;\r\n\r\n if (this.initialSegment) {\r\n this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]);\r\n this.firstFrame = Math.round(this.initialSegment[0]);\r\n } else {\r\n this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip);\r\n this.firstFrame = Math.round(this.animationData.ip);\r\n }\r\n this.renderer.configAnimation(animData);\r\n if (!animData.assets) {\r\n animData.assets = [];\r\n }\r\n\r\n this.assets = this.animationData.assets;\r\n this.frameRate = this.animationData.fr;\r\n this.frameMult = this.animationData.fr / 1000;\r\n this.renderer.searchExtraCompositions(animData.assets);\r\n this.markers = markerParser(animData.markers || []);\r\n this.trigger('config_ready');\r\n this.preloadImages();\r\n this.loadSegments();\r\n this.updaFrameModifier();\r\n this.waitForFontsLoaded();\r\n if (this.isPaused) {\r\n this.audioController.pause();\r\n }\r\n } catch (error) {\r\n this.triggerConfigError(error);\r\n }\r\n};\r\n\r\nAnimationItem.prototype.waitForFontsLoaded = function () {\r\n if (!this.renderer) {\r\n return;\r\n }\r\n if (this.renderer.globalData.fontManager.isLoaded) {\r\n this.checkLoaded();\r\n } else {\r\n setTimeout(this.waitForFontsLoaded.bind(this), 20);\r\n }\r\n};\r\n\r\nAnimationItem.prototype.checkLoaded = function () {\r\n if (!this.isLoaded\r\n && this.renderer.globalData.fontManager.isLoaded\r\n && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== 'canvas')\r\n && (this.imagePreloader.loadedFootages())\r\n ) {\r\n this.isLoaded = true;\r\n dataManager.completeData(this.animationData, this.renderer.globalData.fontManager);\r\n if (expressionsPlugin) {\r\n expressionsPlugin.initExpressions(this);\r\n }\r\n this.renderer.initItems();\r\n setTimeout(function () {\r\n this.trigger('DOMLoaded');\r\n }.bind(this), 0);\r\n this.gotoFrame();\r\n if (this.autoplay) {\r\n this.play();\r\n }\r\n }\r\n};\r\n\r\nAnimationItem.prototype.resize = function () {\r\n this.renderer.updateContainerSize();\r\n};\r\n\r\nAnimationItem.prototype.setSubframe = function (flag) {\r\n this.isSubframeEnabled = !!flag;\r\n};\r\n\r\nAnimationItem.prototype.gotoFrame = function () {\r\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame; // eslint-disable-line no-bitwise\r\n\r\n if (this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted) {\r\n this.currentFrame = this.timeCompleted;\r\n }\r\n this.trigger('enterFrame');\r\n this.renderFrame();\r\n};\r\n\r\nAnimationItem.prototype.renderFrame = function () {\r\n if (this.isLoaded === false || !this.renderer) {\r\n return;\r\n }\r\n try {\r\n this.renderer.renderFrame(this.currentFrame + this.firstFrame);\r\n } catch (error) {\r\n this.triggerRenderFrameError(error);\r\n }\r\n};\r\n\r\nAnimationItem.prototype.play = function (name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n if (this.isPaused === true) {\r\n this.isPaused = false;\r\n this.audioController.resume();\r\n if (this._idle) {\r\n this._idle = false;\r\n this.trigger('_active');\r\n }\r\n }\r\n};\r\n\r\nAnimationItem.prototype.pause = function (name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n if (this.isPaused === false) {\r\n this.isPaused = true;\r\n this._idle = true;\r\n this.trigger('_idle');\r\n this.audioController.pause();\r\n }\r\n};\r\n\r\nAnimationItem.prototype.togglePause = function (name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n if (this.isPaused === true) {\r\n this.play();\r\n } else {\r\n this.pause();\r\n }\r\n};\r\n\r\nAnimationItem.prototype.stop = function (name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n this.pause();\r\n this.playCount = 0;\r\n this._completedLoop = false;\r\n this.setCurrentRawFrameValue(0);\r\n};\r\n\r\nAnimationItem.prototype.getMarkerData = function (markerName) {\r\n var marker;\r\n for (var i = 0; i < this.markers.length; i += 1) {\r\n marker = this.markers[i];\r\n if (marker.payload && marker.payload.name === markerName) {\r\n return marker;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nAnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n var numValue = Number(value);\r\n if (isNaN(numValue)) {\r\n var marker = this.getMarkerData(value);\r\n if (marker) {\r\n this.goToAndStop(marker.time, true);\r\n }\r\n } else if (isFrame) {\r\n this.setCurrentRawFrameValue(value);\r\n } else {\r\n this.setCurrentRawFrameValue(value * this.frameModifier);\r\n }\r\n this.pause();\r\n};\r\n\r\nAnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n var numValue = Number(value);\r\n if (isNaN(numValue)) {\r\n var marker = this.getMarkerData(value);\r\n if (marker) {\r\n if (!marker.duration) {\r\n this.goToAndStop(marker.time, true);\r\n } else {\r\n this.playSegments([marker.time, marker.time + marker.duration], true);\r\n }\r\n }\r\n } else {\r\n this.goToAndStop(numValue, isFrame, name);\r\n }\r\n this.play();\r\n};\r\n\r\nAnimationItem.prototype.advanceTime = function (value) {\r\n if (this.isPaused === true || this.isLoaded === false) {\r\n return;\r\n }\r\n var nextValue = this.currentRawFrame + value * this.frameModifier;\r\n var _isComplete = false;\r\n // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\r\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.\r\n if (nextValue >= this.totalFrames - 1 && this.frameModifier > 0) {\r\n if (!this.loop || this.playCount === this.loop) {\r\n if (!this.checkSegments(nextValue > this.totalFrames ? nextValue % this.totalFrames : 0)) {\r\n _isComplete = true;\r\n nextValue = this.totalFrames - 1;\r\n }\r\n } else if (nextValue >= this.totalFrames) {\r\n this.playCount += 1;\r\n if (!this.checkSegments(nextValue % this.totalFrames)) {\r\n this.setCurrentRawFrameValue(nextValue % this.totalFrames);\r\n this._completedLoop = true;\r\n this.trigger('loopComplete');\r\n }\r\n } else {\r\n this.setCurrentRawFrameValue(nextValue);\r\n }\r\n } else if (nextValue < 0) {\r\n if (!this.checkSegments(nextValue % this.totalFrames)) {\r\n if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) { // eslint-disable-line no-plusplus\r\n this.setCurrentRawFrameValue(this.totalFrames + (nextValue % this.totalFrames));\r\n if (!this._completedLoop) {\r\n this._completedLoop = true;\r\n } else {\r\n this.trigger('loopComplete');\r\n }\r\n } else {\r\n _isComplete = true;\r\n nextValue = 0;\r\n }\r\n }\r\n } else {\r\n this.setCurrentRawFrameValue(nextValue);\r\n }\r\n if (_isComplete) {\r\n this.setCurrentRawFrameValue(nextValue);\r\n this.pause();\r\n this.trigger('complete');\r\n }\r\n};\r\n\r\nAnimationItem.prototype.adjustSegment = function (arr, offset) {\r\n this.playCount = 0;\r\n if (arr[1] < arr[0]) {\r\n if (this.frameModifier > 0) {\r\n if (this.playSpeed < 0) {\r\n this.setSpeed(-this.playSpeed);\r\n } else {\r\n this.setDirection(-1);\r\n }\r\n }\r\n this.totalFrames = arr[0] - arr[1];\r\n this.timeCompleted = this.totalFrames;\r\n this.firstFrame = arr[1];\r\n this.setCurrentRawFrameValue(this.totalFrames - 0.001 - offset);\r\n } else if (arr[1] > arr[0]) {\r\n if (this.frameModifier < 0) {\r\n if (this.playSpeed < 0) {\r\n this.setSpeed(-this.playSpeed);\r\n } else {\r\n this.setDirection(1);\r\n }\r\n }\r\n this.totalFrames = arr[1] - arr[0];\r\n this.timeCompleted = this.totalFrames;\r\n this.firstFrame = arr[0];\r\n this.setCurrentRawFrameValue(0.001 + offset);\r\n }\r\n this.trigger('segmentStart');\r\n};\r\nAnimationItem.prototype.setSegment = function (init, end) {\r\n var pendingFrame = -1;\r\n if (this.isPaused) {\r\n if (this.currentRawFrame + this.firstFrame < init) {\r\n pendingFrame = init;\r\n } else if (this.currentRawFrame + this.firstFrame > end) {\r\n pendingFrame = end - init;\r\n }\r\n }\r\n\r\n this.firstFrame = init;\r\n this.totalFrames = end - init;\r\n this.timeCompleted = this.totalFrames;\r\n if (pendingFrame !== -1) {\r\n this.goToAndStop(pendingFrame, true);\r\n }\r\n};\r\n\r\nAnimationItem.prototype.playSegments = function (arr, forceFlag) {\r\n if (forceFlag) {\r\n this.segments.length = 0;\r\n }\r\n if (typeof arr[0] === 'object') {\r\n var i;\r\n var len = arr.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.segments.push(arr[i]);\r\n }\r\n } else {\r\n this.segments.push(arr);\r\n }\r\n if (this.segments.length && forceFlag) {\r\n this.adjustSegment(this.segments.shift(), 0);\r\n }\r\n if (this.isPaused) {\r\n this.play();\r\n }\r\n};\r\n\r\nAnimationItem.prototype.resetSegments = function (forceFlag) {\r\n this.segments.length = 0;\r\n this.segments.push([this.animationData.ip, this.animationData.op]);\r\n // this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op - this.animationData.ip+this.animationData.ip*this.frameRate)]);\r\n if (forceFlag) {\r\n this.checkSegments(0);\r\n }\r\n};\r\nAnimationItem.prototype.checkSegments = function (offset) {\r\n if (this.segments.length) {\r\n this.adjustSegment(this.segments.shift(), offset);\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nAnimationItem.prototype.destroy = function (name) {\r\n if ((name && this.name !== name) || !this.renderer) {\r\n return;\r\n }\r\n this.renderer.destroy();\r\n this.imagePreloader.destroy();\r\n this.trigger('destroy');\r\n this._cbs = null;\r\n this.onEnterFrame = null;\r\n this.onLoopComplete = null;\r\n this.onComplete = null;\r\n this.onSegmentStart = null;\r\n this.onDestroy = null;\r\n this.renderer = null;\r\n this.renderer = null;\r\n this.imagePreloader = null;\r\n this.projectInterface = null;\r\n};\r\n\r\nAnimationItem.prototype.setCurrentRawFrameValue = function (value) {\r\n this.currentRawFrame = value;\r\n this.gotoFrame();\r\n};\r\n\r\nAnimationItem.prototype.setSpeed = function (val) {\r\n this.playSpeed = val;\r\n this.updaFrameModifier();\r\n};\r\n\r\nAnimationItem.prototype.setDirection = function (val) {\r\n this.playDirection = val < 0 ? -1 : 1;\r\n this.updaFrameModifier();\r\n};\r\n\r\nAnimationItem.prototype.setVolume = function (val, name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n this.audioController.setVolume(val);\r\n};\r\n\r\nAnimationItem.prototype.getVolume = function () {\r\n return this.audioController.getVolume();\r\n};\r\n\r\nAnimationItem.prototype.mute = function (name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n this.audioController.mute();\r\n};\r\n\r\nAnimationItem.prototype.unmute = function (name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n this.audioController.unmute();\r\n};\r\n\r\nAnimationItem.prototype.updaFrameModifier = function () {\r\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection;\r\n this.audioController.setRate(this.playSpeed * this.playDirection);\r\n};\r\n\r\nAnimationItem.prototype.getPath = function () {\r\n return this.path;\r\n};\r\n\r\nAnimationItem.prototype.getAssetsPath = function (assetData) {\r\n var path = '';\r\n if (assetData.e) {\r\n path = assetData.p;\r\n } else if (this.assetsPath) {\r\n var imagePath = assetData.p;\r\n if (imagePath.indexOf('images/') !== -1) {\r\n imagePath = imagePath.split('/')[1];\r\n }\r\n path = this.assetsPath + imagePath;\r\n } else {\r\n path = this.path;\r\n path += assetData.u ? assetData.u : '';\r\n path += assetData.p;\r\n }\r\n return path;\r\n};\r\n\r\nAnimationItem.prototype.getAssetData = function (id) {\r\n var i = 0;\r\n var len = this.assets.length;\r\n while (i < len) {\r\n if (id === this.assets[i].id) {\r\n return this.assets[i];\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n};\r\n\r\nAnimationItem.prototype.hide = function () {\r\n this.renderer.hide();\r\n};\r\n\r\nAnimationItem.prototype.show = function () {\r\n this.renderer.show();\r\n};\r\n\r\nAnimationItem.prototype.getDuration = function (isFrame) {\r\n return isFrame ? this.totalFrames : this.totalFrames / this.frameRate;\r\n};\r\n\r\nAnimationItem.prototype.trigger = function (name) {\r\n if (this._cbs && this._cbs[name]) {\r\n switch (name) {\r\n case 'enterFrame':\r\n this.triggerEvent(name, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameModifier));\r\n break;\r\n case 'loopComplete':\r\n this.triggerEvent(name, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\r\n break;\r\n case 'complete':\r\n this.triggerEvent(name, new BMCompleteEvent(name, this.frameMult));\r\n break;\r\n case 'segmentStart':\r\n this.triggerEvent(name, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\r\n break;\r\n case 'destroy':\r\n this.triggerEvent(name, new BMDestroyEvent(name, this));\r\n break;\r\n default:\r\n this.triggerEvent(name);\r\n }\r\n }\r\n if (name === 'enterFrame' && this.onEnterFrame) {\r\n this.onEnterFrame.call(this, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameMult));\r\n }\r\n if (name === 'loopComplete' && this.onLoopComplete) {\r\n this.onLoopComplete.call(this, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\r\n }\r\n if (name === 'complete' && this.onComplete) {\r\n this.onComplete.call(this, new BMCompleteEvent(name, this.frameMult));\r\n }\r\n if (name === 'segmentStart' && this.onSegmentStart) {\r\n this.onSegmentStart.call(this, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\r\n }\r\n if (name === 'destroy' && this.onDestroy) {\r\n this.onDestroy.call(this, new BMDestroyEvent(name, this));\r\n }\r\n};\r\n\r\nAnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\r\n var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame);\r\n this.triggerEvent('error', error);\r\n\r\n if (this.onError) {\r\n this.onError.call(this, error);\r\n }\r\n};\r\n\r\nAnimationItem.prototype.triggerConfigError = function (nativeError) {\r\n var error = new BMConfigErrorEvent(nativeError, this.currentFrame);\r\n this.triggerEvent('error', error);\r\n\r\n if (this.onError) {\r\n this.onError.call(this, error);\r\n }\r\n};\r\n\r\n/* global CompExpressionInterface, expressionsPlugin: writable */\r\n/* exported expressionsPlugin */\r\n\r\nvar Expressions = (function () {\r\n var ob = {};\r\n ob.initExpressions = initExpressions;\r\n\r\n function initExpressions(animation) {\r\n var stackCount = 0;\r\n var registers = [];\r\n\r\n function pushExpression() {\r\n stackCount += 1;\r\n }\r\n\r\n function popExpression() {\r\n stackCount -= 1;\r\n if (stackCount === 0) {\r\n releaseInstances();\r\n }\r\n }\r\n\r\n function registerExpressionProperty(expression) {\r\n if (registers.indexOf(expression) === -1) {\r\n registers.push(expression);\r\n }\r\n }\r\n\r\n function releaseInstances() {\r\n var i;\r\n var len = registers.length;\r\n for (i = 0; i < len; i += 1) {\r\n registers[i].release();\r\n }\r\n registers.length = 0;\r\n }\r\n\r\n animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\r\n animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\r\n animation.renderer.globalData.pushExpression = pushExpression;\r\n animation.renderer.globalData.popExpression = popExpression;\r\n animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\r\n }\r\n return ob;\r\n}());\r\n\r\nexpressionsPlugin = Expressions;\r\n\r\n/* eslint-disable camelcase, no-unused-vars */\r\n/* global BMMath, BezierFactory, createTypedArray, degToRads, shapePool */\r\n\r\nvar ExpressionManager = (function () {\r\n 'use strict';\r\n\r\n var ob = {};\r\n var Math = BMMath;\r\n var window = null;\r\n var document = null;\r\n var XMLHttpRequest = null;\r\n var fetch = null;\r\n\r\n function $bm_isInstanceOfArray(arr) {\r\n return arr.constructor === Array || arr.constructor === Float32Array;\r\n }\r\n\r\n function isNumerable(tOfV, v) {\r\n return tOfV === 'number' || tOfV === 'boolean' || tOfV === 'string' || v instanceof Number;\r\n }\r\n\r\n function $bm_neg(a) {\r\n var tOfA = typeof a;\r\n if (tOfA === 'number' || tOfA === 'boolean' || a instanceof Number) {\r\n return -a;\r\n }\r\n if ($bm_isInstanceOfArray(a)) {\r\n var i;\r\n var lenA = a.length;\r\n var retArr = [];\r\n for (i = 0; i < lenA; i += 1) {\r\n retArr[i] = -a[i];\r\n }\r\n return retArr;\r\n }\r\n if (a.propType) {\r\n return a.v;\r\n }\r\n return -a;\r\n }\r\n\r\n var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, 'easeIn').get;\r\n var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, 'easeOut').get;\r\n var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, 'easeInOut').get;\r\n\r\n function sum(a, b) {\r\n var tOfA = typeof a;\r\n var tOfB = typeof b;\r\n if (tOfA === 'string' || tOfB === 'string') {\r\n return a + b;\r\n }\r\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\r\n return a + b;\r\n }\r\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\r\n a = a.slice(0);\r\n a[0] += b;\r\n return a;\r\n }\r\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\r\n b = b.slice(0);\r\n b[0] = a + b[0];\r\n return b;\r\n }\r\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\r\n var i = 0;\r\n var lenA = a.length;\r\n var lenB = b.length;\r\n var retArr = [];\r\n while (i < lenA || i < lenB) {\r\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\r\n retArr[i] = a[i] + b[i];\r\n } else {\r\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\r\n }\r\n i += 1;\r\n }\r\n return retArr;\r\n }\r\n return 0;\r\n }\r\n var add = sum;\r\n\r\n function sub(a, b) {\r\n var tOfA = typeof a;\r\n var tOfB = typeof b;\r\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\r\n if (tOfA === 'string') {\r\n a = parseInt(a, 10);\r\n }\r\n if (tOfB === 'string') {\r\n b = parseInt(b, 10);\r\n }\r\n return a - b;\r\n }\r\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\r\n a = a.slice(0);\r\n a[0] -= b;\r\n return a;\r\n }\r\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\r\n b = b.slice(0);\r\n b[0] = a - b[0];\r\n return b;\r\n }\r\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\r\n var i = 0;\r\n var lenA = a.length;\r\n var lenB = b.length;\r\n var retArr = [];\r\n while (i < lenA || i < lenB) {\r\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\r\n retArr[i] = a[i] - b[i];\r\n } else {\r\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\r\n }\r\n i += 1;\r\n }\r\n return retArr;\r\n }\r\n return 0;\r\n }\r\n\r\n function mul(a, b) {\r\n var tOfA = typeof a;\r\n var tOfB = typeof b;\r\n var arr;\r\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\r\n return a * b;\r\n }\r\n\r\n var i;\r\n var len;\r\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\r\n len = a.length;\r\n arr = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n arr[i] = a[i] * b;\r\n }\r\n return arr;\r\n }\r\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\r\n len = b.length;\r\n arr = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n arr[i] = a * b[i];\r\n }\r\n return arr;\r\n }\r\n return 0;\r\n }\r\n\r\n function div(a, b) {\r\n var tOfA = typeof a;\r\n var tOfB = typeof b;\r\n var arr;\r\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\r\n return a / b;\r\n }\r\n var i;\r\n var len;\r\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\r\n len = a.length;\r\n arr = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n arr[i] = a[i] / b;\r\n }\r\n return arr;\r\n }\r\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\r\n len = b.length;\r\n arr = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n arr[i] = a / b[i];\r\n }\r\n return arr;\r\n }\r\n return 0;\r\n }\r\n function mod(a, b) {\r\n if (typeof a === 'string') {\r\n a = parseInt(a, 10);\r\n }\r\n if (typeof b === 'string') {\r\n b = parseInt(b, 10);\r\n }\r\n return a % b;\r\n }\r\n var $bm_sum = sum;\r\n var $bm_sub = sub;\r\n var $bm_mul = mul;\r\n var $bm_div = div;\r\n var $bm_mod = mod;\r\n\r\n function clamp(num, min, max) {\r\n if (min > max) {\r\n var mm = max;\r\n max = min;\r\n min = mm;\r\n }\r\n return Math.min(Math.max(num, min), max);\r\n }\r\n\r\n function radiansToDegrees(val) {\r\n return val / degToRads;\r\n }\r\n var radians_to_degrees = radiansToDegrees;\r\n\r\n function degreesToRadians(val) {\r\n return val * degToRads;\r\n }\r\n var degrees_to_radians = radiansToDegrees;\r\n\r\n var helperLengthArray = [0, 0, 0, 0, 0, 0];\r\n\r\n function length(arr1, arr2) {\r\n if (typeof arr1 === 'number' || arr1 instanceof Number) {\r\n arr2 = arr2 || 0;\r\n return Math.abs(arr1 - arr2);\r\n }\r\n if (!arr2) {\r\n arr2 = helperLengthArray;\r\n }\r\n var i;\r\n var len = Math.min(arr1.length, arr2.length);\r\n var addedLength = 0;\r\n for (i = 0; i < len; i += 1) {\r\n addedLength += Math.pow(arr2[i] - arr1[i], 2);\r\n }\r\n return Math.sqrt(addedLength);\r\n }\r\n\r\n function normalize(vec) {\r\n return div(vec, length(vec));\r\n }\r\n\r\n function rgbToHsl(val) {\r\n var r = val[0]; var g = val[1]; var b = val[2];\r\n var max = Math.max(r, g, b);\r\n var min = Math.min(r, g, b);\r\n var h;\r\n var s;\r\n var l = (max + min) / 2;\r\n\r\n if (max === min) {\r\n h = 0; // achromatic\r\n s = 0; // achromatic\r\n } else {\r\n var d = max - min;\r\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\r\n switch (max) {\r\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\r\n case g: h = (b - r) / d + 2; break;\r\n case b: h = (r - g) / d + 4; break;\r\n default: break;\r\n }\r\n h /= 6;\r\n }\r\n\r\n return [h, s, l, val[3]];\r\n }\r\n\r\n function hue2rgb(p, q, t) {\r\n if (t < 0) t += 1;\r\n if (t > 1) t -= 1;\r\n if (t < 1 / 6) return p + (q - p) * 6 * t;\r\n if (t < 1 / 2) return q;\r\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\r\n return p;\r\n }\r\n\r\n function hslToRgb(val) {\r\n var h = val[0];\r\n var s = val[1];\r\n var l = val[2];\r\n\r\n var r;\r\n var g;\r\n var b;\r\n\r\n if (s === 0) {\r\n r = l; // achromatic\r\n b = l; // achromatic\r\n g = l; // achromatic\r\n } else {\r\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\r\n var p = 2 * l - q;\r\n r = hue2rgb(p, q, h + 1 / 3);\r\n g = hue2rgb(p, q, h);\r\n b = hue2rgb(p, q, h - 1 / 3);\r\n }\r\n\r\n return [r, g, b, val[3]];\r\n }\r\n\r\n function linear(t, tMin, tMax, value1, value2) {\r\n if (value1 === undefined || value2 === undefined) {\r\n value1 = tMin;\r\n value2 = tMax;\r\n tMin = 0;\r\n tMax = 1;\r\n }\r\n if (tMax < tMin) {\r\n var _tMin = tMax;\r\n tMax = tMin;\r\n tMin = _tMin;\r\n }\r\n if (t <= tMin) {\r\n return value1;\r\n } if (t >= tMax) {\r\n return value2;\r\n }\r\n var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\r\n if (!value1.length) {\r\n return value1 + (value2 - value1) * perc;\r\n }\r\n var i;\r\n var len = value1.length;\r\n var arr = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\r\n }\r\n return arr;\r\n }\r\n function random(min, max) {\r\n if (max === undefined) {\r\n if (min === undefined) {\r\n min = 0;\r\n max = 1;\r\n } else {\r\n max = min;\r\n min = undefined;\r\n }\r\n }\r\n if (max.length) {\r\n var i;\r\n var len = max.length;\r\n if (!min) {\r\n min = createTypedArray('float32', len);\r\n }\r\n var arr = createTypedArray('float32', len);\r\n var rnd = BMMath.random();\r\n for (i = 0; i < len; i += 1) {\r\n arr[i] = min[i] + rnd * (max[i] - min[i]);\r\n }\r\n return arr;\r\n }\r\n if (min === undefined) {\r\n min = 0;\r\n }\r\n var rndm = BMMath.random();\r\n return min + rndm * (max - min);\r\n }\r\n\r\n function createPath(points, inTangents, outTangents, closed) {\r\n var i;\r\n var len = points.length;\r\n var path = shapePool.newElement();\r\n path.setPathData(!!closed, len);\r\n var arrPlaceholder = [0, 0];\r\n var inVertexPoint;\r\n var outVertexPoint;\r\n for (i = 0; i < len; i += 1) {\r\n inVertexPoint = (inTangents && inTangents[i]) ? inTangents[i] : arrPlaceholder;\r\n outVertexPoint = (outTangents && outTangents[i]) ? outTangents[i] : arrPlaceholder;\r\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);\r\n }\r\n return path;\r\n }\r\n\r\n function initiateExpression(elem, data, property) {\r\n var val = data.x;\r\n var needsVelocity = /velocity(?![\\w\\d])/.test(val);\r\n var _needsRandom = val.indexOf('random') !== -1;\r\n var elemType = elem.data.ty;\r\n var transform;\r\n var $bm_transform;\r\n var content;\r\n var effect;\r\n var thisProperty = property;\r\n thisProperty.valueAtTime = thisProperty.getValueAtTime;\r\n Object.defineProperty(thisProperty, 'value', {\r\n get: function () {\r\n return thisProperty.v;\r\n },\r\n });\r\n elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\r\n elem.comp.displayStartTime = 0;\r\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\r\n var outPoint = elem.data.op / elem.comp.globalData.frameRate;\r\n var width = elem.data.sw ? elem.data.sw : 0;\r\n var height = elem.data.sh ? elem.data.sh : 0;\r\n var name = elem.data.nm;\r\n var loopIn;\r\n var loop_in;\r\n var loopOut;\r\n var loop_out;\r\n var smooth;\r\n var toWorld;\r\n var fromWorld;\r\n var fromComp;\r\n var toComp;\r\n var fromCompToSurface;\r\n var position;\r\n var rotation;\r\n var anchorPoint;\r\n var scale;\r\n var thisLayer;\r\n var thisComp;\r\n var mask;\r\n var valueAtTime;\r\n var velocityAtTime;\r\n\r\n var scoped_bm_rt;\r\n // val = val.replace(/(\\\\?\"|')((http)(s)?(:\\/))?\\/.*?(\\\\?\"|')/g, \"\\\"\\\"\"); // deter potential network calls\r\n var expression_function = eval('[function _expression_function(){' + val + ';scoped_bm_rt=$bm_rt}]')[0]; // eslint-disable-line no-eval\r\n var numKeys = property.kf ? data.k.length : 0;\r\n\r\n var active = !this.data || this.data.hd !== true;\r\n\r\n var wiggle = function wiggle(freq, amp) {\r\n var iWiggle;\r\n var j;\r\n var lenWiggle = this.pv.length ? this.pv.length : 1;\r\n var addedAmps = createTypedArray('float32', lenWiggle);\r\n freq = 5;\r\n var iterations = Math.floor(time * freq);\r\n iWiggle = 0;\r\n j = 0;\r\n while (iWiggle < iterations) {\r\n // var rnd = BMMath.random();\r\n for (j = 0; j < lenWiggle; j += 1) {\r\n addedAmps[j] += -amp + amp * 2 * BMMath.random();\r\n // addedAmps[j] += -amp + amp*2*rnd;\r\n }\r\n iWiggle += 1;\r\n }\r\n // var rnd2 = BMMath.random();\r\n var periods = time * freq;\r\n var perc = periods - Math.floor(periods);\r\n var arr = createTypedArray('float32', lenWiggle);\r\n if (lenWiggle > 1) {\r\n for (j = 0; j < lenWiggle; j += 1) {\r\n arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc;\r\n // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\r\n // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\r\n }\r\n return arr;\r\n }\r\n return this.pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\r\n }.bind(this);\r\n\r\n if (thisProperty.loopIn) {\r\n loopIn = thisProperty.loopIn.bind(thisProperty);\r\n loop_in = loopIn;\r\n }\r\n\r\n if (thisProperty.loopOut) {\r\n loopOut = thisProperty.loopOut.bind(thisProperty);\r\n loop_out = loopOut;\r\n }\r\n\r\n if (thisProperty.smooth) {\r\n smooth = thisProperty.smooth.bind(thisProperty);\r\n }\r\n\r\n function loopInDuration(type, duration) {\r\n return loopIn(type, duration, true);\r\n }\r\n\r\n function loopOutDuration(type, duration) {\r\n return loopOut(type, duration, true);\r\n }\r\n\r\n if (this.getValueAtTime) {\r\n valueAtTime = this.getValueAtTime.bind(this);\r\n }\r\n\r\n if (this.getVelocityAtTime) {\r\n velocityAtTime = this.getVelocityAtTime.bind(this);\r\n }\r\n\r\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\r\n\r\n function lookAt(elem1, elem2) {\r\n var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\r\n var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\r\n var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\r\n return [yaw, pitch, 0];\r\n }\r\n\r\n function easeOut(t, tMin, tMax, val1, val2) {\r\n return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\r\n }\r\n\r\n function easeIn(t, tMin, tMax, val1, val2) {\r\n return applyEase(easeInBez, t, tMin, tMax, val1, val2);\r\n }\r\n\r\n function ease(t, tMin, tMax, val1, val2) {\r\n return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\r\n }\r\n\r\n function applyEase(fn, t, tMin, tMax, val1, val2) {\r\n if (val1 === undefined) {\r\n val1 = tMin;\r\n val2 = tMax;\r\n } else {\r\n t = (t - tMin) / (tMax - tMin);\r\n }\r\n if (t > 1) {\r\n t = 1;\r\n } else if (t < 0) {\r\n t = 0;\r\n }\r\n var mult = fn(t);\r\n if ($bm_isInstanceOfArray(val1)) {\r\n var iKey;\r\n var lenKey = val1.length;\r\n var arr = createTypedArray('float32', lenKey);\r\n for (iKey = 0; iKey < lenKey; iKey += 1) {\r\n arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\r\n }\r\n return arr;\r\n }\r\n return (val2 - val1) * mult + val1;\r\n }\r\n\r\n function nearestKey(time) {\r\n var iKey;\r\n var lenKey = data.k.length;\r\n var index;\r\n var keyTime;\r\n if (!data.k.length || typeof (data.k[0]) === 'number') {\r\n index = 0;\r\n keyTime = 0;\r\n } else {\r\n index = -1;\r\n time *= elem.comp.globalData.frameRate;\r\n if (time < data.k[0].t) {\r\n index = 1;\r\n keyTime = data.k[0].t;\r\n } else {\r\n for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\r\n if (time === data.k[iKey].t) {\r\n index = iKey + 1;\r\n keyTime = data.k[iKey].t;\r\n break;\r\n } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\r\n if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\r\n index = iKey + 2;\r\n keyTime = data.k[iKey + 1].t;\r\n } else {\r\n index = iKey + 1;\r\n keyTime = data.k[iKey].t;\r\n }\r\n break;\r\n }\r\n }\r\n if (index === -1) {\r\n index = iKey + 1;\r\n keyTime = data.k[iKey].t;\r\n }\r\n }\r\n }\r\n var obKey = {};\r\n obKey.index = index;\r\n obKey.time = keyTime / elem.comp.globalData.frameRate;\r\n return obKey;\r\n }\r\n\r\n function key(ind) {\r\n var obKey;\r\n var iKey;\r\n var lenKey;\r\n if (!data.k.length || typeof (data.k[0]) === 'number') {\r\n throw new Error('The property has no keyframe at index ' + ind);\r\n }\r\n ind -= 1;\r\n obKey = {\r\n time: data.k[ind].t / elem.comp.globalData.frameRate,\r\n value: [],\r\n };\r\n var arr = Object.prototype.hasOwnProperty.call(data.k[ind], 's') ? data.k[ind].s : data.k[ind - 1].e;\r\n\r\n lenKey = arr.length;\r\n for (iKey = 0; iKey < lenKey; iKey += 1) {\r\n obKey[iKey] = arr[iKey];\r\n obKey.value[iKey] = arr[iKey];\r\n }\r\n return obKey;\r\n }\r\n\r\n function framesToTime(frames, fps) {\r\n if (!fps) {\r\n fps = elem.comp.globalData.frameRate;\r\n }\r\n return frames / fps;\r\n }\r\n\r\n function timeToFrames(t, fps) {\r\n if (!t && t !== 0) {\r\n t = time;\r\n }\r\n if (!fps) {\r\n fps = elem.comp.globalData.frameRate;\r\n }\r\n return t * fps;\r\n }\r\n\r\n function seedRandom(seed) {\r\n BMMath.seedrandom(randSeed + seed);\r\n }\r\n\r\n function sourceRectAtTime() {\r\n return elem.sourceRectAtTime();\r\n }\r\n\r\n function substring(init, end) {\r\n if (typeof value === 'string') {\r\n if (end === undefined) {\r\n return value.substring(init);\r\n }\r\n return value.substring(init, end);\r\n }\r\n return '';\r\n }\r\n\r\n function substr(init, end) {\r\n if (typeof value === 'string') {\r\n if (end === undefined) {\r\n return value.substr(init);\r\n }\r\n return value.substr(init, end);\r\n }\r\n return '';\r\n }\r\n\r\n function posterizeTime(framesPerSecond) {\r\n time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\r\n value = valueAtTime(time);\r\n }\r\n\r\n var time;\r\n var velocity;\r\n var value;\r\n var text;\r\n var textIndex;\r\n var textTotal;\r\n var selectorValue;\r\n var index = elem.data.ind;\r\n var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\r\n var parent;\r\n var randSeed = Math.floor(Math.random() * 1000000);\r\n var globalData = elem.globalData;\r\n function executeExpression(_value) {\r\n // globalData.pushExpression();\r\n value = _value;\r\n if (_needsRandom) {\r\n seedRandom(randSeed);\r\n }\r\n if (this.frameExpressionId === elem.globalData.frameId && this.propType !== 'textSelector') {\r\n return value;\r\n }\r\n if (this.propType === 'textSelector') {\r\n textIndex = this.textIndex;\r\n textTotal = this.textTotal;\r\n selectorValue = this.selectorValue;\r\n }\r\n if (!thisLayer) {\r\n text = elem.layerInterface.text;\r\n thisLayer = elem.layerInterface;\r\n thisComp = elem.comp.compInterface;\r\n toWorld = thisLayer.toWorld.bind(thisLayer);\r\n fromWorld = thisLayer.fromWorld.bind(thisLayer);\r\n fromComp = thisLayer.fromComp.bind(thisLayer);\r\n toComp = thisLayer.toComp.bind(thisLayer);\r\n mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\r\n fromCompToSurface = fromComp;\r\n }\r\n if (!transform) {\r\n transform = elem.layerInterface('ADBE Transform Group');\r\n $bm_transform = transform;\r\n if (transform) {\r\n anchorPoint = transform.anchorPoint;\r\n /* position = transform.position;\r\n rotation = transform.rotation;\r\n scale = transform.scale; */\r\n }\r\n }\r\n\r\n if (elemType === 4 && !content) {\r\n content = thisLayer('ADBE Root Vectors Group');\r\n }\r\n if (!effect) {\r\n effect = thisLayer(4);\r\n }\r\n hasParent = !!(elem.hierarchy && elem.hierarchy.length);\r\n if (hasParent && !parent) {\r\n parent = elem.hierarchy[0].layerInterface;\r\n }\r\n time = this.comp.renderedFrame / this.comp.globalData.frameRate;\r\n if (needsVelocity) {\r\n velocity = velocityAtTime(time);\r\n }\r\n expression_function();\r\n this.frameExpressionId = elem.globalData.frameId;\r\n\r\n // TODO: Check if it's possible to return on ShapeInterface the .v value\r\n if (scoped_bm_rt.propType === 'shape') {\r\n scoped_bm_rt = scoped_bm_rt.v;\r\n }\r\n // globalData.popExpression();\r\n return scoped_bm_rt;\r\n }\r\n return executeExpression;\r\n }\r\n\r\n ob.initiateExpression = initiateExpression;\r\n return ob;\r\n}());\r\n\r\n/* global ExpressionManager, createTypedArray */\r\n/* exported expressionHelpers */\r\n\r\nvar expressionHelpers = (function () {\r\n function searchExpressions(elem, data, prop) {\r\n if (data.x) {\r\n prop.k = true;\r\n prop.x = true;\r\n prop.initiateExpression = ExpressionManager.initiateExpression;\r\n prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\r\n }\r\n }\r\n\r\n function getValueAtTime(frameNum) {\r\n frameNum *= this.elem.globalData.frameRate;\r\n frameNum -= this.offsetTime;\r\n if (frameNum !== this._cachingAtTime.lastFrame) {\r\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;\r\n this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);\r\n this._cachingAtTime.lastFrame = frameNum;\r\n }\r\n return this._cachingAtTime.value;\r\n }\r\n\r\n function getSpeedAtTime(frameNum) {\r\n var delta = -0.01;\r\n var v1 = this.getValueAtTime(frameNum);\r\n var v2 = this.getValueAtTime(frameNum + delta);\r\n var speed = 0;\r\n if (v1.length) {\r\n var i;\r\n for (i = 0; i < v1.length; i += 1) {\r\n speed += Math.pow(v2[i] - v1[i], 2);\r\n }\r\n speed = Math.sqrt(speed) * 100;\r\n } else {\r\n speed = 0;\r\n }\r\n return speed;\r\n }\r\n\r\n function getVelocityAtTime(frameNum) {\r\n if (this.vel !== undefined) {\r\n return this.vel;\r\n }\r\n var delta = -0.001;\r\n // frameNum += this.elem.data.st;\r\n var v1 = this.getValueAtTime(frameNum);\r\n var v2 = this.getValueAtTime(frameNum + delta);\r\n var velocity;\r\n if (v1.length) {\r\n velocity = createTypedArray('float32', v1.length);\r\n var i;\r\n for (i = 0; i < v1.length; i += 1) {\r\n // removing frameRate\r\n // if needed, don't add it here\r\n // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\r\n velocity[i] = (v2[i] - v1[i]) / delta;\r\n }\r\n } else {\r\n velocity = (v2 - v1) / delta;\r\n }\r\n return velocity;\r\n }\r\n\r\n function getStaticValueAtTime() {\r\n return this.pv;\r\n }\r\n\r\n function setGroupProperty(propertyGroup) {\r\n this.propertyGroup = propertyGroup;\r\n }\r\n\r\n return {\r\n searchExpressions: searchExpressions,\r\n getSpeedAtTime: getSpeedAtTime,\r\n getVelocityAtTime: getVelocityAtTime,\r\n getValueAtTime: getValueAtTime,\r\n getStaticValueAtTime: getStaticValueAtTime,\r\n setGroupProperty: setGroupProperty,\r\n };\r\n}());\r\n\r\n/* global createTypedArray, Matrix, TransformPropertyFactory, expressionHelpers, PropertyFactory, expressionHelpers,\r\ninitialDefaultFrame, shapePool, ShapePropertyFactory, bez, extendPrototype, ExpressionManager, createSizedArray */\r\n\r\n(function addPropertyDecorator() {\r\n function loopOut(type, duration, durationFlag) {\r\n if (!this.k || !this.keyframes) {\r\n return this.pv;\r\n }\r\n type = type ? type.toLowerCase() : '';\r\n var currentFrame = this.comp.renderedFrame;\r\n var keyframes = this.keyframes;\r\n var lastKeyFrame = keyframes[keyframes.length - 1].t;\r\n if (currentFrame <= lastKeyFrame) {\r\n return this.pv;\r\n }\r\n var cycleDuration;\r\n var firstKeyFrame;\r\n if (!durationFlag) {\r\n if (!duration || duration > keyframes.length - 1) {\r\n duration = keyframes.length - 1;\r\n }\r\n firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\r\n cycleDuration = lastKeyFrame - firstKeyFrame;\r\n } else {\r\n if (!duration) {\r\n cycleDuration = Math.max(0, lastKeyFrame - this.elem.data.ip);\r\n } else {\r\n cycleDuration = Math.abs(lastKeyFrame - this.elem.comp.globalData.frameRate * duration);\r\n }\r\n firstKeyFrame = lastKeyFrame - cycleDuration;\r\n }\r\n var i;\r\n var len;\r\n var ret;\r\n if (type === 'pingpong') {\r\n var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\r\n if (iterations % 2 !== 0) {\r\n return this.getValueAtTime(((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0); // eslint-disable-line\r\n }\r\n } else if (type === 'offset') {\r\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\r\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\r\n var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\r\n var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\r\n if (this.pv.length) {\r\n ret = new Array(initV.length);\r\n len = ret.length;\r\n for (i = 0; i < len; i += 1) {\r\n ret[i] = (endV[i] - initV[i]) * repeats + current[i];\r\n }\r\n return ret;\r\n }\r\n return (endV - initV) * repeats + current;\r\n } else if (type === 'continue') {\r\n var lastValue = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\r\n var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / this.comp.globalData.frameRate, 0);\r\n if (this.pv.length) {\r\n ret = new Array(lastValue.length);\r\n len = ret.length;\r\n for (i = 0; i < len; i += 1) {\r\n ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / this.comp.globalData.frameRate) / 0.0005; // eslint-disable-line\r\n }\r\n return ret;\r\n }\r\n return lastValue + (lastValue - nextLastValue) * (((currentFrame - lastKeyFrame)) / 0.001);\r\n }\r\n return this.getValueAtTime((((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0); // eslint-disable-line\r\n\r\n }\r\n\r\n function loopIn(type, duration, durationFlag) {\r\n if (!this.k) {\r\n return this.pv;\r\n }\r\n type = type ? type.toLowerCase() : '';\r\n var currentFrame = this.comp.renderedFrame;\r\n var keyframes = this.keyframes;\r\n var firstKeyFrame = keyframes[0].t;\r\n if (currentFrame >= firstKeyFrame) {\r\n return this.pv;\r\n }\r\n var cycleDuration;\r\n var lastKeyFrame;\r\n if (!durationFlag) {\r\n if (!duration || duration > keyframes.length - 1) {\r\n duration = keyframes.length - 1;\r\n }\r\n lastKeyFrame = keyframes[duration].t;\r\n cycleDuration = lastKeyFrame - firstKeyFrame;\r\n } else {\r\n if (!duration) {\r\n cycleDuration = Math.max(0, this.elem.data.op - firstKeyFrame);\r\n } else {\r\n cycleDuration = Math.abs(this.elem.comp.globalData.frameRate * duration);\r\n }\r\n lastKeyFrame = firstKeyFrame + cycleDuration;\r\n }\r\n var i;\r\n var len;\r\n var ret;\r\n if (type === 'pingpong') {\r\n var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\r\n if (iterations % 2 === 0) {\r\n return this.getValueAtTime((((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0); // eslint-disable-line\r\n }\r\n } else if (type === 'offset') {\r\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\r\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\r\n var current = this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration) + firstKeyFrame) / this.comp.globalData.frameRate, 0);\r\n var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\r\n if (this.pv.length) {\r\n ret = new Array(initV.length);\r\n len = ret.length;\r\n for (i = 0; i < len; i += 1) {\r\n ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\r\n }\r\n return ret;\r\n }\r\n return current - (endV - initV) * repeats;\r\n } else if (type === 'continue') {\r\n var firstValue = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\r\n var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / this.comp.globalData.frameRate, 0);\r\n if (this.pv.length) {\r\n ret = new Array(firstValue.length);\r\n len = ret.length;\r\n for (i = 0; i < len; i += 1) {\r\n ret[i] = firstValue[i] + ((firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame)) / 0.001;\r\n }\r\n return ret;\r\n }\r\n return firstValue + ((firstValue - nextFirstValue) * (firstKeyFrame - currentFrame)) / 0.001;\r\n }\r\n return this.getValueAtTime(((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame))) / this.comp.globalData.frameRate, 0); // eslint-disable-line\r\n\r\n }\r\n\r\n function smooth(width, samples) {\r\n if (!this.k) {\r\n return this.pv;\r\n }\r\n width = (width || 0.4) * 0.5;\r\n samples = Math.floor(samples || 5);\r\n if (samples <= 1) {\r\n return this.pv;\r\n }\r\n var currentTime = this.comp.renderedFrame / this.comp.globalData.frameRate;\r\n var initFrame = currentTime - width;\r\n var endFrame = currentTime + width;\r\n var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\r\n var i = 0;\r\n var j = 0;\r\n var value;\r\n if (this.pv.length) {\r\n value = createTypedArray('float32', this.pv.length);\r\n } else {\r\n value = 0;\r\n }\r\n var sampleValue;\r\n while (i < samples) {\r\n sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\r\n if (this.pv.length) {\r\n for (j = 0; j < this.pv.length; j += 1) {\r\n value[j] += sampleValue[j];\r\n }\r\n } else {\r\n value += sampleValue;\r\n }\r\n i += 1;\r\n }\r\n if (this.pv.length) {\r\n for (j = 0; j < this.pv.length; j += 1) {\r\n value[j] /= samples;\r\n }\r\n } else {\r\n value /= samples;\r\n }\r\n return value;\r\n }\r\n\r\n function getTransformValueAtTime(time) {\r\n if (!this._transformCachingAtTime) {\r\n this._transformCachingAtTime = {\r\n v: new Matrix(),\r\n };\r\n }\r\n /// /\r\n var matrix = this._transformCachingAtTime.v;\r\n matrix.cloneFromProps(this.pre.props);\r\n if (this.appliedTransformations < 1) {\r\n var anchor = this.a.getValueAtTime(time);\r\n matrix.translate(\r\n -anchor[0] * this.a.mult,\r\n -anchor[1] * this.a.mult,\r\n anchor[2] * this.a.mult\r\n );\r\n }\r\n if (this.appliedTransformations < 2) {\r\n var scale = this.s.getValueAtTime(time);\r\n matrix.scale(\r\n scale[0] * this.s.mult,\r\n scale[1] * this.s.mult,\r\n scale[2] * this.s.mult\r\n );\r\n }\r\n if (this.sk && this.appliedTransformations < 3) {\r\n var skew = this.sk.getValueAtTime(time);\r\n var skewAxis = this.sa.getValueAtTime(time);\r\n matrix.skewFromAxis(-skew * this.sk.mult, skewAxis * this.sa.mult);\r\n }\r\n if (this.r && this.appliedTransformations < 4) {\r\n var rotation = this.r.getValueAtTime(time);\r\n matrix.rotate(-rotation * this.r.mult);\r\n } else if (!this.r && this.appliedTransformations < 4) {\r\n var rotationZ = this.rz.getValueAtTime(time);\r\n var rotationY = this.ry.getValueAtTime(time);\r\n var rotationX = this.rx.getValueAtTime(time);\r\n var orientation = this.or.getValueAtTime(time);\r\n matrix.rotateZ(-rotationZ * this.rz.mult)\r\n .rotateY(rotationY * this.ry.mult)\r\n .rotateX(rotationX * this.rx.mult)\r\n .rotateZ(-orientation[2] * this.or.mult)\r\n .rotateY(orientation[1] * this.or.mult)\r\n .rotateX(orientation[0] * this.or.mult);\r\n }\r\n if (this.data.p && this.data.p.s) {\r\n var positionX = this.px.getValueAtTime(time);\r\n var positionY = this.py.getValueAtTime(time);\r\n if (this.data.p.z) {\r\n var positionZ = this.pz.getValueAtTime(time);\r\n matrix.translate(\r\n positionX * this.px.mult,\r\n positionY * this.py.mult,\r\n -positionZ * this.pz.mult\r\n );\r\n } else {\r\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, 0);\r\n }\r\n } else {\r\n var position = this.p.getValueAtTime(time);\r\n matrix.translate(\r\n position[0] * this.p.mult,\r\n position[1] * this.p.mult,\r\n -position[2] * this.p.mult\r\n );\r\n }\r\n return matrix;\r\n /// /\r\n }\r\n\r\n function getTransformStaticValueAtTime() {\r\n return this.v.clone(new Matrix());\r\n }\r\n\r\n var getTransformProperty = TransformPropertyFactory.getTransformProperty;\r\n TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\r\n var prop = getTransformProperty(elem, data, container);\r\n if (prop.dynamicProperties.length) {\r\n prop.getValueAtTime = getTransformValueAtTime.bind(prop);\r\n } else {\r\n prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\r\n }\r\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\r\n return prop;\r\n };\r\n\r\n var propertyGetProp = PropertyFactory.getProp;\r\n PropertyFactory.getProp = function (elem, data, type, mult, container) {\r\n var prop = propertyGetProp(elem, data, type, mult, container);\r\n // prop.getVelocityAtTime = getVelocityAtTime;\r\n // prop.loopOut = loopOut;\r\n // prop.loopIn = loopIn;\r\n if (prop.kf) {\r\n prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\r\n } else {\r\n prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\r\n }\r\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\r\n prop.loopOut = loopOut;\r\n prop.loopIn = loopIn;\r\n prop.smooth = smooth;\r\n prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\r\n prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\r\n prop.numKeys = data.a === 1 ? data.k.length : 0;\r\n prop.propertyIndex = data.ix;\r\n var value = 0;\r\n if (type !== 0) {\r\n value = createTypedArray('float32', data.a === 1 ? data.k[0].s.length : data.k.length);\r\n }\r\n prop._cachingAtTime = {\r\n lastFrame: initialDefaultFrame,\r\n lastIndex: 0,\r\n value: value,\r\n };\r\n expressionHelpers.searchExpressions(elem, data, prop);\r\n if (prop.k) {\r\n container.addDynamicProperty(prop);\r\n }\r\n\r\n return prop;\r\n };\r\n\r\n function getShapeValueAtTime(frameNum) {\r\n // For now this caching object is created only when needed instead of creating it when the shape is initialized.\r\n if (!this._cachingAtTime) {\r\n this._cachingAtTime = {\r\n shapeValue: shapePool.clone(this.pv),\r\n lastIndex: 0,\r\n lastTime: initialDefaultFrame,\r\n };\r\n }\r\n\r\n frameNum *= this.elem.globalData.frameRate;\r\n frameNum -= this.offsetTime;\r\n if (frameNum !== this._cachingAtTime.lastTime) {\r\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0;\r\n this._cachingAtTime.lastTime = frameNum;\r\n this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime);\r\n }\r\n return this._cachingAtTime.shapeValue;\r\n }\r\n\r\n var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\r\n var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\r\n\r\n function ShapeExpressions() {}\r\n ShapeExpressions.prototype = {\r\n vertices: function (prop, time) {\r\n if (this.k) {\r\n this.getValue();\r\n }\r\n var shapePath = this.v;\r\n if (time !== undefined) {\r\n shapePath = this.getValueAtTime(time, 0);\r\n }\r\n var i;\r\n var len = shapePath._length;\r\n var vertices = shapePath[prop];\r\n var points = shapePath.v;\r\n var arr = createSizedArray(len);\r\n for (i = 0; i < len; i += 1) {\r\n if (prop === 'i' || prop === 'o') {\r\n arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\r\n } else {\r\n arr[i] = [vertices[i][0], vertices[i][1]];\r\n }\r\n }\r\n return arr;\r\n },\r\n points: function (time) {\r\n return this.vertices('v', time);\r\n },\r\n inTangents: function (time) {\r\n return this.vertices('i', time);\r\n },\r\n outTangents: function (time) {\r\n return this.vertices('o', time);\r\n },\r\n isClosed: function () {\r\n return this.v.c;\r\n },\r\n pointOnPath: function (perc, time) {\r\n var shapePath = this.v;\r\n if (time !== undefined) {\r\n shapePath = this.getValueAtTime(time, 0);\r\n }\r\n if (!this._segmentsLength) {\r\n this._segmentsLength = bez.getSegmentsLength(shapePath);\r\n }\r\n\r\n var segmentsLength = this._segmentsLength;\r\n var lengths = segmentsLength.lengths;\r\n var lengthPos = segmentsLength.totalLength * perc;\r\n var i = 0;\r\n var len = lengths.length;\r\n var accumulatedLength = 0;\r\n var pt;\r\n while (i < len) {\r\n if (accumulatedLength + lengths[i].addedLength > lengthPos) {\r\n var initIndex = i;\r\n var endIndex = (shapePath.c && i === len - 1) ? 0 : i + 1;\r\n var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\r\n pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\r\n break;\r\n } else {\r\n accumulatedLength += lengths[i].addedLength;\r\n }\r\n i += 1;\r\n }\r\n if (!pt) {\r\n pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\r\n }\r\n return pt;\r\n },\r\n vectorOnPath: function (perc, time, vectorType) {\r\n // perc doesn't use triple equality because it can be a Number object as well as a primitive.\r\n if (perc == 1) { // eslint-disable-line eqeqeq\r\n perc = this.v.c;\r\n } else if (perc == 0) { // eslint-disable-line eqeqeq\r\n perc = 0.999;\r\n }\r\n var pt1 = this.pointOnPath(perc, time);\r\n var pt2 = this.pointOnPath(perc + 0.001, time);\r\n var xLength = pt2[0] - pt1[0];\r\n var yLength = pt2[1] - pt1[1];\r\n var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\r\n if (magnitude === 0) {\r\n return [0, 0];\r\n }\r\n var unitVector = vectorType === 'tangent' ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\r\n return unitVector;\r\n },\r\n tangentOnPath: function (perc, time) {\r\n return this.vectorOnPath(perc, time, 'tangent');\r\n },\r\n normalOnPath: function (perc, time) {\r\n return this.vectorOnPath(perc, time, 'normal');\r\n },\r\n setGroupProperty: expressionHelpers.setGroupProperty,\r\n getValueAtTime: expressionHelpers.getStaticValueAtTime,\r\n };\r\n extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\r\n extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\r\n KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\r\n KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\r\n\r\n var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\r\n ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\r\n var prop = propertyGetShapeProp(elem, data, type, arr, trims);\r\n prop.propertyIndex = data.ix;\r\n prop.lock = false;\r\n if (type === 3) {\r\n expressionHelpers.searchExpressions(elem, data.pt, prop);\r\n } else if (type === 4) {\r\n expressionHelpers.searchExpressions(elem, data.ks, prop);\r\n }\r\n if (prop.k) {\r\n elem.addDynamicProperty(prop);\r\n }\r\n return prop;\r\n };\r\n}());\r\n\r\n/* global ExpressionManager, TextProperty */\r\n\r\n(function addDecorator() {\r\n function searchExpressions() {\r\n if (this.data.d.x) {\r\n this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this);\r\n this.addEffect(this.getExpressionValue.bind(this));\r\n return true;\r\n }\r\n return null;\r\n }\r\n\r\n TextProperty.prototype.getExpressionValue = function (currentValue, text) {\r\n var newValue = this.calculateExpression(text);\r\n if (currentValue.t !== newValue) {\r\n var newData = {};\r\n this.copyData(newData, currentValue);\r\n newData.t = newValue.toString();\r\n newData.__complete = false;\r\n return newData;\r\n }\r\n return currentValue;\r\n };\r\n\r\n TextProperty.prototype.searchProperty = function () {\r\n var isKeyframed = this.searchKeyframes();\r\n var hasExpressions = this.searchExpressions();\r\n this.kf = isKeyframed || hasExpressions;\r\n return this.kf;\r\n };\r\n\r\n TextProperty.prototype.searchExpressions = searchExpressions;\r\n}());\r\n\r\n/* global propertyGroupFactory, PropertyInterface */\r\n/* exported ShapePathInterface */\r\n\r\nvar ShapePathInterface = (\r\n\r\n function () {\r\n return function pathInterfaceFactory(shape, view, propertyGroup) {\r\n var prop = view.sh;\r\n\r\n function interfaceFunction(val) {\r\n if (val === 'Shape' || val === 'shape' || val === 'Path' || val === 'path' || val === 'ADBE Vector Shape' || val === 2) {\r\n return interfaceFunction.path;\r\n }\r\n return null;\r\n }\r\n\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n prop.setGroupProperty(PropertyInterface('Path', _propertyGroup));\r\n Object.defineProperties(interfaceFunction, {\r\n path: {\r\n get: function () {\r\n if (prop.k) {\r\n prop.getValue();\r\n }\r\n return prop;\r\n },\r\n },\r\n shape: {\r\n get: function () {\r\n if (prop.k) {\r\n prop.getValue();\r\n }\r\n return prop;\r\n },\r\n },\r\n _name: { value: shape.nm },\r\n ix: { value: shape.ix },\r\n propertyIndex: { value: shape.ix },\r\n mn: { value: shape.mn },\r\n propertyGroup: { value: propertyGroup },\r\n });\r\n return interfaceFunction;\r\n };\r\n }()\r\n);\r\n\r\n/* exported propertyGroupFactory */\r\n\r\nvar propertyGroupFactory = (function () {\r\n return function (interfaceFunction, parentPropertyGroup) {\r\n return function (val) {\r\n val = val === undefined ? 1 : val;\r\n if (val <= 0) {\r\n return interfaceFunction;\r\n }\r\n return parentPropertyGroup(val - 1);\r\n };\r\n };\r\n}());\r\n\r\n/* exported PropertyInterface */\r\n\r\nvar PropertyInterface = (function () {\r\n return function (propertyName, propertyGroup) {\r\n var interfaceFunction = {\r\n _name: propertyName,\r\n };\r\n\r\n function _propertyGroup(val) {\r\n val = val === undefined ? 1 : val;\r\n if (val <= 0) {\r\n return interfaceFunction;\r\n }\r\n return propertyGroup(val - 1);\r\n }\r\n\r\n return _propertyGroup;\r\n };\r\n}());\r\n\r\n/* global ExpressionPropertyInterface, PropertyInterface, propertyGroupFactory, ShapePathInterface */\r\n/* exported ShapeExpressionInterface */\r\n\r\nvar ShapeExpressionInterface = (function () {\r\n function iterateElements(shapes, view, propertyGroup) {\r\n var arr = [];\r\n var i;\r\n var len = shapes ? shapes.length : 0;\r\n for (i = 0; i < len; i += 1) {\r\n if (shapes[i].ty === 'gr') {\r\n arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'fl') {\r\n arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'st') {\r\n arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'tm') {\r\n arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'tr') {\r\n // arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\r\n } else if (shapes[i].ty === 'el') {\r\n arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'sr') {\r\n arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'sh') {\r\n arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'rc') {\r\n arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'rd') {\r\n arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'rp') {\r\n arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'gf') {\r\n arr.push(gradientFillInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else {\r\n arr.push(defaultInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n }\r\n }\r\n return arr;\r\n }\r\n\r\n function contentsInterfaceFactory(shape, view, propertyGroup) {\r\n var interfaces;\r\n var interfaceFunction = function _interfaceFunction(value) {\r\n var i = 0;\r\n var len = interfaces.length;\r\n while (i < len) {\r\n if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\r\n return interfaces[i];\r\n }\r\n i += 1;\r\n }\r\n if (typeof value === 'number') {\r\n return interfaces[value - 1];\r\n }\r\n return null;\r\n };\r\n\r\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\r\n interfaceFunction.numProperties = interfaces.length;\r\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\r\n interfaceFunction.transform = transformInterface;\r\n interfaceFunction.propertyIndex = shape.cix;\r\n interfaceFunction._name = shape.nm;\r\n\r\n return interfaceFunction;\r\n }\r\n\r\n function groupInterfaceFactory(shape, view, propertyGroup) {\r\n var interfaceFunction = function _interfaceFunction(value) {\r\n switch (value) {\r\n case 'ADBE Vectors Group':\r\n case 'Contents':\r\n case 2:\r\n return interfaceFunction.content;\r\n // Not necessary for now. Keeping them here in case a new case appears\r\n // case 'ADBE Vector Transform Group':\r\n // case 3:\r\n default:\r\n return interfaceFunction.transform;\r\n }\r\n };\r\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\r\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\r\n interfaceFunction.content = content;\r\n interfaceFunction.transform = transformInterface;\r\n Object.defineProperty(interfaceFunction, '_name', {\r\n get: function () {\r\n return shape.nm;\r\n },\r\n });\r\n // interfaceFunction.content = interfaceFunction;\r\n interfaceFunction.numProperties = shape.np;\r\n interfaceFunction.propertyIndex = shape.ix;\r\n interfaceFunction.nm = shape.nm;\r\n interfaceFunction.mn = shape.mn;\r\n return interfaceFunction;\r\n }\r\n\r\n function fillInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(val) {\r\n if (val === 'Color' || val === 'color') {\r\n return interfaceFunction.color;\r\n } if (val === 'Opacity' || val === 'opacity') {\r\n return interfaceFunction.opacity;\r\n }\r\n return null;\r\n }\r\n Object.defineProperties(interfaceFunction, {\r\n color: {\r\n get: ExpressionPropertyInterface(view.c),\r\n },\r\n opacity: {\r\n get: ExpressionPropertyInterface(view.o),\r\n },\r\n _name: { value: shape.nm },\r\n mn: { value: shape.mn },\r\n });\r\n\r\n view.c.setGroupProperty(PropertyInterface('Color', propertyGroup));\r\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\r\n return interfaceFunction;\r\n }\r\n\r\n function gradientFillInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(val) {\r\n if (val === 'Start Point' || val === 'start point') {\r\n return interfaceFunction.startPoint;\r\n }\r\n if (val === 'End Point' || val === 'end point') {\r\n return interfaceFunction.endPoint;\r\n }\r\n if (val === 'Opacity' || val === 'opacity') {\r\n return interfaceFunction.opacity;\r\n }\r\n return null;\r\n }\r\n Object.defineProperties(interfaceFunction, {\r\n startPoint: {\r\n get: ExpressionPropertyInterface(view.s),\r\n },\r\n endPoint: {\r\n get: ExpressionPropertyInterface(view.e),\r\n },\r\n opacity: {\r\n get: ExpressionPropertyInterface(view.o),\r\n },\r\n type: {\r\n get: function () {\r\n return 'a';\r\n },\r\n },\r\n _name: { value: shape.nm },\r\n mn: { value: shape.mn },\r\n });\r\n\r\n view.s.setGroupProperty(PropertyInterface('Start Point', propertyGroup));\r\n view.e.setGroupProperty(PropertyInterface('End Point', propertyGroup));\r\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\r\n return interfaceFunction;\r\n }\r\n function defaultInterfaceFactory() {\r\n function interfaceFunction() {\r\n return null;\r\n }\r\n return interfaceFunction;\r\n }\r\n\r\n function strokeInterfaceFactory(shape, view, propertyGroup) {\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\r\n function addPropertyToDashOb(i) {\r\n Object.defineProperty(dashOb, shape.d[i].nm, {\r\n get: ExpressionPropertyInterface(view.d.dataProps[i].p),\r\n });\r\n }\r\n var i;\r\n var len = shape.d ? shape.d.length : 0;\r\n var dashOb = {};\r\n for (i = 0; i < len; i += 1) {\r\n addPropertyToDashOb(i);\r\n view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\r\n }\r\n\r\n function interfaceFunction(val) {\r\n if (val === 'Color' || val === 'color') {\r\n return interfaceFunction.color;\r\n } if (val === 'Opacity' || val === 'opacity') {\r\n return interfaceFunction.opacity;\r\n } if (val === 'Stroke Width' || val === 'stroke width') {\r\n return interfaceFunction.strokeWidth;\r\n }\r\n return null;\r\n }\r\n Object.defineProperties(interfaceFunction, {\r\n color: {\r\n get: ExpressionPropertyInterface(view.c),\r\n },\r\n opacity: {\r\n get: ExpressionPropertyInterface(view.o),\r\n },\r\n strokeWidth: {\r\n get: ExpressionPropertyInterface(view.w),\r\n },\r\n dash: {\r\n get: function () {\r\n return dashOb;\r\n },\r\n },\r\n _name: { value: shape.nm },\r\n mn: { value: shape.mn },\r\n });\r\n\r\n view.c.setGroupProperty(PropertyInterface('Color', _propertyGroup));\r\n view.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\r\n view.w.setGroupProperty(PropertyInterface('Stroke Width', _propertyGroup));\r\n return interfaceFunction;\r\n }\r\n\r\n function trimInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(val) {\r\n if (val === shape.e.ix || val === 'End' || val === 'end') {\r\n return interfaceFunction.end;\r\n }\r\n if (val === shape.s.ix) {\r\n return interfaceFunction.start;\r\n }\r\n if (val === shape.o.ix) {\r\n return interfaceFunction.offset;\r\n }\r\n return null;\r\n }\r\n\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n interfaceFunction.propertyIndex = shape.ix;\r\n\r\n view.s.setGroupProperty(PropertyInterface('Start', _propertyGroup));\r\n view.e.setGroupProperty(PropertyInterface('End', _propertyGroup));\r\n view.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\r\n interfaceFunction.propertyIndex = shape.ix;\r\n interfaceFunction.propertyGroup = propertyGroup;\r\n\r\n Object.defineProperties(interfaceFunction, {\r\n start: {\r\n get: ExpressionPropertyInterface(view.s),\r\n },\r\n end: {\r\n get: ExpressionPropertyInterface(view.e),\r\n },\r\n offset: {\r\n get: ExpressionPropertyInterface(view.o),\r\n },\r\n _name: { value: shape.nm },\r\n });\r\n interfaceFunction.mn = shape.mn;\r\n return interfaceFunction;\r\n }\r\n\r\n function transformInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(value) {\r\n if (shape.a.ix === value || value === 'Anchor Point') {\r\n return interfaceFunction.anchorPoint;\r\n }\r\n if (shape.o.ix === value || value === 'Opacity') {\r\n return interfaceFunction.opacity;\r\n }\r\n if (shape.p.ix === value || value === 'Position') {\r\n return interfaceFunction.position;\r\n }\r\n if (shape.r.ix === value || value === 'Rotation' || value === 'ADBE Vector Rotation') {\r\n return interfaceFunction.rotation;\r\n }\r\n if (shape.s.ix === value || value === 'Scale') {\r\n return interfaceFunction.scale;\r\n }\r\n if ((shape.sk && shape.sk.ix === value) || value === 'Skew') {\r\n return interfaceFunction.skew;\r\n }\r\n if ((shape.sa && shape.sa.ix === value) || value === 'Skew Axis') {\r\n return interfaceFunction.skewAxis;\r\n }\r\n return null;\r\n }\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n view.transform.mProps.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\r\n view.transform.mProps.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\r\n view.transform.mProps.a.setGroupProperty(PropertyInterface('Anchor Point', _propertyGroup));\r\n view.transform.mProps.s.setGroupProperty(PropertyInterface('Scale', _propertyGroup));\r\n view.transform.mProps.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\r\n if (view.transform.mProps.sk) {\r\n view.transform.mProps.sk.setGroupProperty(PropertyInterface('Skew', _propertyGroup));\r\n view.transform.mProps.sa.setGroupProperty(PropertyInterface('Skew Angle', _propertyGroup));\r\n }\r\n view.transform.op.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\r\n Object.defineProperties(interfaceFunction, {\r\n opacity: {\r\n get: ExpressionPropertyInterface(view.transform.mProps.o),\r\n },\r\n position: {\r\n get: ExpressionPropertyInterface(view.transform.mProps.p),\r\n },\r\n anchorPoint: {\r\n get: ExpressionPropertyInterface(view.transform.mProps.a),\r\n },\r\n scale: {\r\n get: ExpressionPropertyInterface(view.transform.mProps.s),\r\n },\r\n rotation: {\r\n get: ExpressionPropertyInterface(view.transform.mProps.r),\r\n },\r\n skew: {\r\n get: ExpressionPropertyInterface(view.transform.mProps.sk),\r\n },\r\n skewAxis: {\r\n get: ExpressionPropertyInterface(view.transform.mProps.sa),\r\n },\r\n _name: { value: shape.nm },\r\n });\r\n interfaceFunction.ty = 'tr';\r\n interfaceFunction.mn = shape.mn;\r\n interfaceFunction.propertyGroup = propertyGroup;\r\n return interfaceFunction;\r\n }\r\n\r\n function ellipseInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(value) {\r\n if (shape.p.ix === value) {\r\n return interfaceFunction.position;\r\n }\r\n if (shape.s.ix === value) {\r\n return interfaceFunction.size;\r\n }\r\n return null;\r\n }\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n interfaceFunction.propertyIndex = shape.ix;\r\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\r\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\r\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\r\n\r\n Object.defineProperties(interfaceFunction, {\r\n size: {\r\n get: ExpressionPropertyInterface(prop.s),\r\n },\r\n position: {\r\n get: ExpressionPropertyInterface(prop.p),\r\n },\r\n _name: { value: shape.nm },\r\n });\r\n interfaceFunction.mn = shape.mn;\r\n return interfaceFunction;\r\n }\r\n\r\n function starInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(value) {\r\n if (shape.p.ix === value) {\r\n return interfaceFunction.position;\r\n }\r\n if (shape.r.ix === value) {\r\n return interfaceFunction.rotation;\r\n }\r\n if (shape.pt.ix === value) {\r\n return interfaceFunction.points;\r\n }\r\n if (shape.or.ix === value || value === 'ADBE Vector Star Outer Radius') {\r\n return interfaceFunction.outerRadius;\r\n }\r\n if (shape.os.ix === value) {\r\n return interfaceFunction.outerRoundness;\r\n }\r\n if (shape.ir && (shape.ir.ix === value || value === 'ADBE Vector Star Inner Radius')) {\r\n return interfaceFunction.innerRadius;\r\n }\r\n if (shape.is && shape.is.ix === value) {\r\n return interfaceFunction.innerRoundness;\r\n }\r\n return null;\r\n }\r\n\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\r\n interfaceFunction.propertyIndex = shape.ix;\r\n prop.or.setGroupProperty(PropertyInterface('Outer Radius', _propertyGroup));\r\n prop.os.setGroupProperty(PropertyInterface('Outer Roundness', _propertyGroup));\r\n prop.pt.setGroupProperty(PropertyInterface('Points', _propertyGroup));\r\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\r\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\r\n if (shape.ir) {\r\n prop.ir.setGroupProperty(PropertyInterface('Inner Radius', _propertyGroup));\r\n prop.is.setGroupProperty(PropertyInterface('Inner Roundness', _propertyGroup));\r\n }\r\n\r\n Object.defineProperties(interfaceFunction, {\r\n position: {\r\n get: ExpressionPropertyInterface(prop.p),\r\n },\r\n rotation: {\r\n get: ExpressionPropertyInterface(prop.r),\r\n },\r\n points: {\r\n get: ExpressionPropertyInterface(prop.pt),\r\n },\r\n outerRadius: {\r\n get: ExpressionPropertyInterface(prop.or),\r\n },\r\n outerRoundness: {\r\n get: ExpressionPropertyInterface(prop.os),\r\n },\r\n innerRadius: {\r\n get: ExpressionPropertyInterface(prop.ir),\r\n },\r\n innerRoundness: {\r\n get: ExpressionPropertyInterface(prop.is),\r\n },\r\n _name: { value: shape.nm },\r\n });\r\n interfaceFunction.mn = shape.mn;\r\n return interfaceFunction;\r\n }\r\n\r\n function rectInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(value) {\r\n if (shape.p.ix === value) {\r\n return interfaceFunction.position;\r\n }\r\n if (shape.r.ix === value) {\r\n return interfaceFunction.roundness;\r\n }\r\n if (shape.s.ix === value || value === 'Size' || value === 'ADBE Vector Rect Size') {\r\n return interfaceFunction.size;\r\n }\r\n return null;\r\n }\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n\r\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\r\n interfaceFunction.propertyIndex = shape.ix;\r\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\r\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\r\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\r\n\r\n Object.defineProperties(interfaceFunction, {\r\n position: {\r\n get: ExpressionPropertyInterface(prop.p),\r\n },\r\n roundness: {\r\n get: ExpressionPropertyInterface(prop.r),\r\n },\r\n size: {\r\n get: ExpressionPropertyInterface(prop.s),\r\n },\r\n _name: { value: shape.nm },\r\n });\r\n interfaceFunction.mn = shape.mn;\r\n return interfaceFunction;\r\n }\r\n\r\n function roundedInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(value) {\r\n if (shape.r.ix === value || value === 'Round Corners 1') {\r\n return interfaceFunction.radius;\r\n }\r\n return null;\r\n }\r\n\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n var prop = view;\r\n interfaceFunction.propertyIndex = shape.ix;\r\n prop.rd.setGroupProperty(PropertyInterface('Radius', _propertyGroup));\r\n\r\n Object.defineProperties(interfaceFunction, {\r\n radius: {\r\n get: ExpressionPropertyInterface(prop.rd),\r\n },\r\n _name: { value: shape.nm },\r\n });\r\n interfaceFunction.mn = shape.mn;\r\n return interfaceFunction;\r\n }\r\n\r\n function repeaterInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(value) {\r\n if (shape.c.ix === value || value === 'Copies') {\r\n return interfaceFunction.copies;\r\n } if (shape.o.ix === value || value === 'Offset') {\r\n return interfaceFunction.offset;\r\n }\r\n return null;\r\n }\r\n\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n var prop = view;\r\n interfaceFunction.propertyIndex = shape.ix;\r\n prop.c.setGroupProperty(PropertyInterface('Copies', _propertyGroup));\r\n prop.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\r\n Object.defineProperties(interfaceFunction, {\r\n copies: {\r\n get: ExpressionPropertyInterface(prop.c),\r\n },\r\n offset: {\r\n get: ExpressionPropertyInterface(prop.o),\r\n },\r\n _name: { value: shape.nm },\r\n });\r\n interfaceFunction.mn = shape.mn;\r\n return interfaceFunction;\r\n }\r\n\r\n return function (shapes, view, propertyGroup) {\r\n var interfaces;\r\n function _interfaceFunction(value) {\r\n if (typeof value === 'number') {\r\n value = value === undefined ? 1 : value;\r\n if (value === 0) {\r\n return propertyGroup;\r\n }\r\n return interfaces[value - 1];\r\n }\r\n var i = 0;\r\n var len = interfaces.length;\r\n while (i < len) {\r\n if (interfaces[i]._name === value) {\r\n return interfaces[i];\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n }\r\n function parentGroupWrapper() {\r\n return propertyGroup;\r\n }\r\n _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\r\n interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\r\n _interfaceFunction.numProperties = interfaces.length;\r\n _interfaceFunction._name = 'Contents';\r\n return _interfaceFunction;\r\n };\r\n}());\r\n\r\n/* exported TextExpressionInterface */\r\n\r\nvar TextExpressionInterface = (function () {\r\n return function (elem) {\r\n var _prevValue;\r\n var _sourceText;\r\n function _thisLayerFunction(name) {\r\n switch (name) {\r\n case 'ADBE Text Document':\r\n return _thisLayerFunction.sourceText;\r\n default:\r\n return null;\r\n }\r\n }\r\n Object.defineProperty(_thisLayerFunction, 'sourceText', {\r\n get: function () {\r\n elem.textProperty.getValue();\r\n var stringValue = elem.textProperty.currentData.t;\r\n if (stringValue !== _prevValue) {\r\n elem.textProperty.currentData.t = _prevValue;\r\n _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\r\n // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\r\n _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\r\n }\r\n return _sourceText;\r\n },\r\n });\r\n return _thisLayerFunction;\r\n };\r\n}());\r\n\r\n/* global Matrix, MaskManagerInterface, TransformExpressionInterface, getDescriptor */\r\n/* exported LayerExpressionInterface */\r\n\r\nvar LayerExpressionInterface = (function () {\r\n function getMatrix(time) {\r\n var toWorldMat = new Matrix();\r\n if (time !== undefined) {\r\n var propMatrix = this._elem.finalTransform.mProp.getValueAtTime(time);\r\n propMatrix.clone(toWorldMat);\r\n } else {\r\n var transformMat = this._elem.finalTransform.mProp;\r\n transformMat.applyToMatrix(toWorldMat);\r\n }\r\n return toWorldMat;\r\n }\r\n\r\n function toWorldVec(arr, time) {\r\n var toWorldMat = this.getMatrix(time);\r\n toWorldMat.props[12] = 0;\r\n toWorldMat.props[13] = 0;\r\n toWorldMat.props[14] = 0;\r\n return this.applyPoint(toWorldMat, arr);\r\n }\r\n\r\n function toWorld(arr, time) {\r\n var toWorldMat = this.getMatrix(time);\r\n return this.applyPoint(toWorldMat, arr);\r\n }\r\n\r\n function fromWorldVec(arr, time) {\r\n var toWorldMat = this.getMatrix(time);\r\n toWorldMat.props[12] = 0;\r\n toWorldMat.props[13] = 0;\r\n toWorldMat.props[14] = 0;\r\n return this.invertPoint(toWorldMat, arr);\r\n }\r\n\r\n function fromWorld(arr, time) {\r\n var toWorldMat = this.getMatrix(time);\r\n return this.invertPoint(toWorldMat, arr);\r\n }\r\n\r\n function applyPoint(matrix, arr) {\r\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\r\n var i;\r\n var len = this._elem.hierarchy.length;\r\n for (i = 0; i < len; i += 1) {\r\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\r\n }\r\n }\r\n return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\r\n }\r\n\r\n function invertPoint(matrix, arr) {\r\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\r\n var i;\r\n var len = this._elem.hierarchy.length;\r\n for (i = 0; i < len; i += 1) {\r\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\r\n }\r\n }\r\n return matrix.inversePoint(arr);\r\n }\r\n\r\n function fromComp(arr) {\r\n var toWorldMat = new Matrix();\r\n toWorldMat.reset();\r\n this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\r\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\r\n var i;\r\n var len = this._elem.hierarchy.length;\r\n for (i = 0; i < len; i += 1) {\r\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\r\n }\r\n return toWorldMat.inversePoint(arr);\r\n }\r\n return toWorldMat.inversePoint(arr);\r\n }\r\n\r\n function sampleImage() {\r\n return [1, 1, 1, 1];\r\n }\r\n\r\n return function (elem) {\r\n var transformInterface;\r\n\r\n function _registerMaskInterface(maskManager) {\r\n _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\r\n }\r\n function _registerEffectsInterface(effects) {\r\n _thisLayerFunction.effect = effects;\r\n }\r\n\r\n function _thisLayerFunction(name) {\r\n switch (name) {\r\n case 'ADBE Root Vectors Group':\r\n case 'Contents':\r\n case 2:\r\n return _thisLayerFunction.shapeInterface;\r\n case 1:\r\n case 6:\r\n case 'Transform':\r\n case 'transform':\r\n case 'ADBE Transform Group':\r\n return transformInterface;\r\n case 4:\r\n case 'ADBE Effect Parade':\r\n case 'effects':\r\n case 'Effects':\r\n return _thisLayerFunction.effect;\r\n case 'ADBE Text Properties':\r\n return _thisLayerFunction.textInterface;\r\n default:\r\n return null;\r\n }\r\n }\r\n _thisLayerFunction.getMatrix = getMatrix;\r\n _thisLayerFunction.invertPoint = invertPoint;\r\n _thisLayerFunction.applyPoint = applyPoint;\r\n _thisLayerFunction.toWorld = toWorld;\r\n _thisLayerFunction.toWorldVec = toWorldVec;\r\n _thisLayerFunction.fromWorld = fromWorld;\r\n _thisLayerFunction.fromWorldVec = fromWorldVec;\r\n _thisLayerFunction.toComp = toWorld;\r\n _thisLayerFunction.fromComp = fromComp;\r\n _thisLayerFunction.sampleImage = sampleImage;\r\n _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\r\n _thisLayerFunction._elem = elem;\r\n transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\r\n var anchorPointDescriptor = getDescriptor(transformInterface, 'anchorPoint');\r\n Object.defineProperties(_thisLayerFunction, {\r\n hasParent: {\r\n get: function () {\r\n return elem.hierarchy.length;\r\n },\r\n },\r\n parent: {\r\n get: function () {\r\n return elem.hierarchy[0].layerInterface;\r\n },\r\n },\r\n rotation: getDescriptor(transformInterface, 'rotation'),\r\n scale: getDescriptor(transformInterface, 'scale'),\r\n position: getDescriptor(transformInterface, 'position'),\r\n opacity: getDescriptor(transformInterface, 'opacity'),\r\n anchorPoint: anchorPointDescriptor,\r\n anchor_point: anchorPointDescriptor,\r\n transform: {\r\n get: function () {\r\n return transformInterface;\r\n },\r\n },\r\n active: {\r\n get: function () {\r\n return elem.isInRange;\r\n },\r\n },\r\n });\r\n\r\n _thisLayerFunction.startTime = elem.data.st;\r\n _thisLayerFunction.index = elem.data.ind;\r\n _thisLayerFunction.source = elem.data.refId;\r\n _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\r\n _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\r\n _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\r\n _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\r\n _thisLayerFunction._name = elem.data.nm;\r\n\r\n _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\r\n _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\r\n return _thisLayerFunction;\r\n };\r\n}());\r\n\r\n/* global */\r\n/* exported FootageInterface */\r\n\r\nvar FootageInterface = (function () {\r\n var outlineInterfaceFactory = (function (elem) {\r\n var currentPropertyName = '';\r\n var currentProperty = elem.getFootageData();\r\n function init() {\r\n currentPropertyName = '';\r\n currentProperty = elem.getFootageData();\r\n return searchProperty;\r\n }\r\n function searchProperty(value) {\r\n if (currentProperty[value]) {\r\n currentPropertyName = value;\r\n currentProperty = currentProperty[value];\r\n if (typeof currentProperty === 'object') {\r\n return searchProperty;\r\n }\r\n return currentProperty;\r\n }\r\n var propertyNameIndex = value.indexOf(currentPropertyName);\r\n if (propertyNameIndex !== -1) {\r\n var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\r\n currentProperty = currentProperty[index];\r\n if (typeof currentProperty === 'object') {\r\n return searchProperty;\r\n }\r\n return currentProperty;\r\n }\r\n return '';\r\n }\r\n return init;\r\n });\r\n\r\n var dataInterfaceFactory = function (elem) {\r\n function interfaceFunction(value) {\r\n if (value === 'Outline') {\r\n return interfaceFunction.outlineInterface();\r\n }\r\n return null;\r\n }\r\n\r\n interfaceFunction._name = 'Outline';\r\n interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\r\n return interfaceFunction;\r\n };\r\n\r\n return function (elem) {\r\n function _interfaceFunction(value) {\r\n if (value === 'Data') {\r\n return _interfaceFunction.dataInterface;\r\n }\r\n return null;\r\n }\r\n\r\n _interfaceFunction._name = 'Data';\r\n _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\r\n return _interfaceFunction;\r\n };\r\n}());\r\n\r\n/* exported CompExpressionInterface */\r\n\r\nvar CompExpressionInterface = (function () {\r\n return function (comp) {\r\n function _thisLayerFunction(name) {\r\n var i = 0;\r\n var len = comp.layers.length;\r\n while (i < len) {\r\n if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\r\n return comp.elements[i].layerInterface;\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n // return {active:false};\r\n }\r\n Object.defineProperty(_thisLayerFunction, '_name', { value: comp.data.nm });\r\n _thisLayerFunction.layer = _thisLayerFunction;\r\n _thisLayerFunction.pixelAspect = 1;\r\n _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\r\n _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\r\n _thisLayerFunction.pixelAspect = 1;\r\n _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\r\n _thisLayerFunction.displayStartTime = 0;\r\n _thisLayerFunction.numLayers = comp.layers.length;\r\n return _thisLayerFunction;\r\n };\r\n}());\r\n\r\n/* global ExpressionPropertyInterface */\r\n/* exported TransformExpressionInterface */\r\n\r\nvar TransformExpressionInterface = (function () {\r\n return function (transform) {\r\n function _thisFunction(name) {\r\n switch (name) {\r\n case 'scale':\r\n case 'Scale':\r\n case 'ADBE Scale':\r\n case 6:\r\n return _thisFunction.scale;\r\n case 'rotation':\r\n case 'Rotation':\r\n case 'ADBE Rotation':\r\n case 'ADBE Rotate Z':\r\n case 10:\r\n return _thisFunction.rotation;\r\n case 'ADBE Rotate X':\r\n return _thisFunction.xRotation;\r\n case 'ADBE Rotate Y':\r\n return _thisFunction.yRotation;\r\n case 'position':\r\n case 'Position':\r\n case 'ADBE Position':\r\n case 2:\r\n return _thisFunction.position;\r\n case 'ADBE Position_0':\r\n return _thisFunction.xPosition;\r\n case 'ADBE Position_1':\r\n return _thisFunction.yPosition;\r\n case 'ADBE Position_2':\r\n return _thisFunction.zPosition;\r\n case 'anchorPoint':\r\n case 'AnchorPoint':\r\n case 'Anchor Point':\r\n case 'ADBE AnchorPoint':\r\n case 1:\r\n return _thisFunction.anchorPoint;\r\n case 'opacity':\r\n case 'Opacity':\r\n case 11:\r\n return _thisFunction.opacity;\r\n default:\r\n return null;\r\n }\r\n }\r\n Object.defineProperty(_thisFunction, 'rotation', {\r\n get: ExpressionPropertyInterface(transform.r || transform.rz),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'zRotation', {\r\n get: ExpressionPropertyInterface(transform.rz || transform.r),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'xRotation', {\r\n get: ExpressionPropertyInterface(transform.rx),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'yRotation', {\r\n get: ExpressionPropertyInterface(transform.ry),\r\n });\r\n Object.defineProperty(_thisFunction, 'scale', {\r\n get: ExpressionPropertyInterface(transform.s),\r\n });\r\n var _px;\r\n var _py;\r\n var _pz;\r\n var _transformFactory;\r\n if (transform.p) {\r\n _transformFactory = ExpressionPropertyInterface(transform.p);\r\n } else {\r\n _px = ExpressionPropertyInterface(transform.px);\r\n _py = ExpressionPropertyInterface(transform.py);\r\n if (transform.pz) {\r\n _pz = ExpressionPropertyInterface(transform.pz);\r\n }\r\n }\r\n Object.defineProperty(_thisFunction, 'position', {\r\n get: function () {\r\n if (transform.p) {\r\n return _transformFactory();\r\n }\r\n return [\r\n _px(),\r\n _py(),\r\n _pz ? _pz() : 0];\r\n },\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'xPosition', {\r\n get: ExpressionPropertyInterface(transform.px),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'yPosition', {\r\n get: ExpressionPropertyInterface(transform.py),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'zPosition', {\r\n get: ExpressionPropertyInterface(transform.pz),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'anchorPoint', {\r\n get: ExpressionPropertyInterface(transform.a),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'opacity', {\r\n get: ExpressionPropertyInterface(transform.o),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'skew', {\r\n get: ExpressionPropertyInterface(transform.sk),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'skewAxis', {\r\n get: ExpressionPropertyInterface(transform.sa),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'orientation', {\r\n get: ExpressionPropertyInterface(transform.or),\r\n });\r\n\r\n return _thisFunction;\r\n };\r\n}());\r\n\r\n/* exported ProjectInterface */\r\n\r\nvar ProjectInterface = (function () {\r\n function registerComposition(comp) {\r\n this.compositions.push(comp);\r\n }\r\n\r\n return function () {\r\n function _thisProjectFunction(name) {\r\n var i = 0;\r\n var len = this.compositions.length;\r\n while (i < len) {\r\n if (this.compositions[i].data && this.compositions[i].data.nm === name) {\r\n if (this.compositions[i].prepareFrame && this.compositions[i].data.xt) {\r\n this.compositions[i].prepareFrame(this.currentFrame);\r\n }\r\n return this.compositions[i].compInterface;\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n }\r\n\r\n _thisProjectFunction.compositions = [];\r\n _thisProjectFunction.currentFrame = 0;\r\n\r\n _thisProjectFunction.registerComposition = registerComposition;\r\n\r\n return _thisProjectFunction;\r\n };\r\n}());\r\n\r\n/* global propertyGroupFactory, ExpressionPropertyInterface, PropertyInterface */\r\n/* exported EffectsExpressionInterface */\r\n\r\nvar EffectsExpressionInterface = (function () {\r\n var ob = {\r\n createEffectsInterface: createEffectsInterface,\r\n };\r\n\r\n function createEffectsInterface(elem, propertyGroup) {\r\n if (elem.effectsManager) {\r\n var effectElements = [];\r\n var effectsData = elem.data.ef;\r\n var i;\r\n var len = elem.effectsManager.effectElements.length;\r\n for (i = 0; i < len; i += 1) {\r\n effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\r\n }\r\n\r\n var effects = elem.data.ef || [];\r\n var groupInterface = function (name) {\r\n i = 0;\r\n len = effects.length;\r\n while (i < len) {\r\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\r\n return effectElements[i];\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n };\r\n Object.defineProperty(groupInterface, 'numProperties', {\r\n get: function () {\r\n return effects.length;\r\n },\r\n });\r\n return groupInterface;\r\n }\r\n return null;\r\n }\r\n\r\n function createGroupInterface(data, elements, propertyGroup, elem) {\r\n function groupInterface(name) {\r\n var effects = data.ef;\r\n var i = 0;\r\n var len = effects.length;\r\n while (i < len) {\r\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\r\n if (effects[i].ty === 5) {\r\n return effectElements[i];\r\n }\r\n return effectElements[i]();\r\n }\r\n i += 1;\r\n }\r\n throw new Error();\r\n }\r\n var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\r\n\r\n var effectElements = [];\r\n var i;\r\n var len = data.ef.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (data.ef[i].ty === 5) {\r\n effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\r\n } else {\r\n effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\r\n }\r\n }\r\n\r\n if (data.mn === 'ADBE Color Control') {\r\n Object.defineProperty(groupInterface, 'color', {\r\n get: function () {\r\n return effectElements[0]();\r\n },\r\n });\r\n }\r\n Object.defineProperties(groupInterface, {\r\n numProperties: {\r\n get: function () {\r\n return data.np;\r\n },\r\n },\r\n _name: { value: data.nm },\r\n propertyGroup: { value: _propertyGroup },\r\n });\r\n groupInterface.enabled = data.en !== 0;\r\n groupInterface.active = groupInterface.enabled;\r\n return groupInterface;\r\n }\r\n\r\n function createValueInterface(element, type, elem, propertyGroup) {\r\n var expressionProperty = ExpressionPropertyInterface(element.p);\r\n function interfaceFunction() {\r\n if (type === 10) {\r\n return elem.comp.compInterface(element.p.v);\r\n }\r\n return expressionProperty();\r\n }\r\n\r\n if (element.p.setGroupProperty) {\r\n element.p.setGroupProperty(PropertyInterface('', propertyGroup));\r\n }\r\n\r\n return interfaceFunction;\r\n }\r\n\r\n return ob;\r\n}());\r\n\r\n/* global createSizedArray */\r\n/* exported MaskManagerInterface */\r\n\r\nvar MaskManagerInterface = (function () {\r\n function MaskInterface(mask, data) {\r\n this._mask = mask;\r\n this._data = data;\r\n }\r\n Object.defineProperty(MaskInterface.prototype, 'maskPath', {\r\n get: function () {\r\n if (this._mask.prop.k) {\r\n this._mask.prop.getValue();\r\n }\r\n return this._mask.prop;\r\n },\r\n });\r\n Object.defineProperty(MaskInterface.prototype, 'maskOpacity', {\r\n get: function () {\r\n if (this._mask.op.k) {\r\n this._mask.op.getValue();\r\n }\r\n return this._mask.op.v * 100;\r\n },\r\n });\r\n\r\n var MaskManager = function (maskManager) {\r\n var _masksInterfaces = createSizedArray(maskManager.viewData.length);\r\n var i;\r\n var len = maskManager.viewData.length;\r\n for (i = 0; i < len; i += 1) {\r\n _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\r\n }\r\n\r\n var maskFunction = function (name) {\r\n i = 0;\r\n while (i < len) {\r\n if (maskManager.masksProperties[i].nm === name) {\r\n return _masksInterfaces[i];\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n };\r\n return maskFunction;\r\n };\r\n return MaskManager;\r\n}());\r\n\r\n/* global createTypedArray */\r\n/* exported ExpressionPropertyInterface */\r\n\r\nvar ExpressionPropertyInterface = (function () {\r\n var defaultUnidimensionalValue = { pv: 0, v: 0, mult: 1 };\r\n var defaultMultidimensionalValue = { pv: [0, 0, 0], v: [0, 0, 0], mult: 1 };\r\n\r\n function completeProperty(expressionValue, property, type) {\r\n Object.defineProperty(expressionValue, 'velocity', {\r\n get: function () {\r\n return property.getVelocityAtTime(property.comp.currentFrame);\r\n },\r\n });\r\n expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\r\n expressionValue.key = function (pos) {\r\n if (!expressionValue.numKeys) {\r\n return 0;\r\n }\r\n var value = '';\r\n if ('s' in property.keyframes[pos - 1]) {\r\n value = property.keyframes[pos - 1].s;\r\n } else if ('e' in property.keyframes[pos - 2]) {\r\n value = property.keyframes[pos - 2].e;\r\n } else {\r\n value = property.keyframes[pos - 2].s;\r\n }\r\n var valueProp = type === 'unidimensional' ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\r\n valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\r\n valueProp.value = type === 'unidimensional' ? value[0] : value;\r\n return valueProp;\r\n };\r\n expressionValue.valueAtTime = property.getValueAtTime;\r\n expressionValue.speedAtTime = property.getSpeedAtTime;\r\n expressionValue.velocityAtTime = property.getVelocityAtTime;\r\n expressionValue.propertyGroup = property.propertyGroup;\r\n }\r\n\r\n function UnidimensionalPropertyInterface(property) {\r\n if (!property || !('pv' in property)) {\r\n property = defaultUnidimensionalValue;\r\n }\r\n var mult = 1 / property.mult;\r\n var val = property.pv * mult;\r\n var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\r\n expressionValue.value = val;\r\n completeProperty(expressionValue, property, 'unidimensional');\r\n\r\n return function () {\r\n if (property.k) {\r\n property.getValue();\r\n }\r\n val = property.v * mult;\r\n if (expressionValue.value !== val) {\r\n expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\r\n expressionValue.value = val;\r\n completeProperty(expressionValue, property, 'unidimensional');\r\n }\r\n return expressionValue;\r\n };\r\n }\r\n\r\n function MultidimensionalPropertyInterface(property) {\r\n if (!property || !('pv' in property)) {\r\n property = defaultMultidimensionalValue;\r\n }\r\n var mult = 1 / property.mult;\r\n var len = (property.data && property.data.l) || property.pv.length;\r\n var expressionValue = createTypedArray('float32', len);\r\n var arrValue = createTypedArray('float32', len);\r\n expressionValue.value = arrValue;\r\n completeProperty(expressionValue, property, 'multidimensional');\r\n\r\n return function () {\r\n if (property.k) {\r\n property.getValue();\r\n }\r\n for (var i = 0; i < len; i += 1) {\r\n arrValue[i] = property.v[i] * mult;\r\n expressionValue[i] = arrValue[i];\r\n }\r\n return expressionValue;\r\n };\r\n }\r\n\r\n // TODO: try to avoid using this getter\r\n function defaultGetter() {\r\n return defaultUnidimensionalValue;\r\n }\r\n\r\n return function (property) {\r\n if (!property) {\r\n return defaultGetter;\r\n } if (property.propType === 'unidimensional') {\r\n return UnidimensionalPropertyInterface(property);\r\n }\r\n return MultidimensionalPropertyInterface(property);\r\n };\r\n}());\r\n\r\n/* global expressionHelpers, TextSelectorProp, ExpressionManager */\r\n/* exported TextExpressionSelectorPropFactory */\r\n\r\nvar TextExpressionSelectorPropFactory = (function () { // eslint-disable-line no-unused-vars\r\n function getValueProxy(index, total) {\r\n this.textIndex = index + 1;\r\n this.textTotal = total;\r\n this.v = this.getValue() * this.mult;\r\n return this.v;\r\n }\r\n\r\n return function (elem, data) {\r\n this.pv = 1;\r\n this.comp = elem.comp;\r\n this.elem = elem;\r\n this.mult = 0.01;\r\n this.propType = 'textSelector';\r\n this.textTotal = data.totalChars;\r\n this.selectorValue = 100;\r\n this.lastValue = [1, 1, 1];\r\n this.k = true;\r\n this.x = true;\r\n this.getValue = ExpressionManager.initiateExpression.bind(this)(elem, data, this);\r\n this.getMult = getValueProxy;\r\n this.getVelocityAtTime = expressionHelpers.getVelocityAtTime;\r\n if (this.kf) {\r\n this.getValueAtTime = expressionHelpers.getValueAtTime.bind(this);\r\n } else {\r\n this.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(this);\r\n }\r\n this.setGroupProperty = expressionHelpers.setGroupProperty;\r\n };\r\n}());\r\n\r\nvar propertyGetTextProp = TextSelectorProp.getTextSelectorProp;\r\nTextSelectorProp.getTextSelectorProp = function (elem, data, arr) {\r\n if (data.t === 1) {\r\n return new TextExpressionSelectorPropFactory(elem, data, arr); // eslint-disable-line no-undef\r\n }\r\n return propertyGetTextProp(elem, data, arr);\r\n};\r\n\r\n/* global PropertyFactory */\r\n/* exported SliderEffect, AngleEffect, ColorEffect, PointEffect, LayerIndexEffect, MaskIndexEffect, CheckboxEffect, NoValueEffect */\r\n\r\nfunction SliderEffect(data, elem, container) {\r\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\r\n}\r\nfunction AngleEffect(data, elem, container) {\r\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\r\n}\r\nfunction ColorEffect(data, elem, container) {\r\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\r\n}\r\nfunction PointEffect(data, elem, container) {\r\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\r\n}\r\nfunction LayerIndexEffect(data, elem, container) {\r\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\r\n}\r\nfunction MaskIndexEffect(data, elem, container) {\r\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\r\n}\r\nfunction CheckboxEffect(data, elem, container) {\r\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\r\n}\r\nfunction NoValueEffect() {\r\n this.p = {};\r\n}\r\n\r\n/* global extendPrototype, SliderEffect, AngleEffect, ColorEffect, PointEffect, CheckboxEffect, LayerIndexEffect,\r\nMaskIndexEffect, NoValueEffect, DynamicPropertyContainer */\r\n\r\nfunction EffectsManager(data, element) {\r\n var effects = data.ef || [];\r\n this.effectElements = [];\r\n var i;\r\n var len = effects.length;\r\n var effectItem;\r\n for (i = 0; i < len; i += 1) {\r\n effectItem = new GroupEffect(effects[i], element);\r\n this.effectElements.push(effectItem);\r\n }\r\n}\r\n\r\nfunction GroupEffect(data, element) {\r\n this.init(data, element);\r\n}\r\n\r\nextendPrototype([DynamicPropertyContainer], GroupEffect);\r\n\r\nGroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\r\n\r\nGroupEffect.prototype.init = function (data, element) {\r\n this.data = data;\r\n this.effectElements = [];\r\n this.initDynamicPropertyContainer(element);\r\n var i;\r\n var len = this.data.ef.length;\r\n var eff;\r\n var effects = this.data.ef;\r\n for (i = 0; i < len; i += 1) {\r\n eff = null;\r\n switch (effects[i].ty) {\r\n case 0:\r\n eff = new SliderEffect(effects[i], element, this);\r\n break;\r\n case 1:\r\n eff = new AngleEffect(effects[i], element, this);\r\n break;\r\n case 2:\r\n eff = new ColorEffect(effects[i], element, this);\r\n break;\r\n case 3:\r\n eff = new PointEffect(effects[i], element, this);\r\n break;\r\n case 4:\r\n case 7:\r\n eff = new CheckboxEffect(effects[i], element, this);\r\n break;\r\n case 10:\r\n eff = new LayerIndexEffect(effects[i], element, this);\r\n break;\r\n case 11:\r\n eff = new MaskIndexEffect(effects[i], element, this);\r\n break;\r\n case 5:\r\n eff = new EffectsManager(effects[i], element, this);\r\n break;\r\n // case 6:\r\n default:\r\n eff = new NoValueEffect(effects[i], element, this);\r\n break;\r\n }\r\n if (eff) {\r\n this.effectElements.push(eff);\r\n }\r\n }\r\n};\r\n\r\n\r\nvar lottie = {};\r\n\r\nfunction setLocationHref(href) {\r\n locationHref = href;\r\n}\r\n\r\nfunction searchAnimations() {\r\n if (standalone === true) {\r\n animationManager.searchAnimations(animationData, standalone, renderer);\r\n } else {\r\n animationManager.searchAnimations();\r\n }\r\n}\r\n\r\nfunction setSubframeRendering(flag) {\r\n subframeEnabled = flag;\r\n}\r\n\r\nfunction setIDPrefix(prefix) {\r\n idPrefix = prefix;\r\n}\r\n\r\nfunction loadAnimation(params) {\r\n if (standalone === true) {\r\n params.animationData = JSON.parse(animationData);\r\n }\r\n return animationManager.loadAnimation(params);\r\n}\r\n\r\nfunction setQuality(value) {\r\n if (typeof value === 'string') {\r\n switch (value) {\r\n case 'high':\r\n defaultCurveSegments = 200;\r\n break;\r\n default:\r\n case 'medium':\r\n defaultCurveSegments = 50;\r\n break;\r\n case 'low':\r\n defaultCurveSegments = 10;\r\n break;\r\n }\r\n } else if (!isNaN(value) && value > 1) {\r\n defaultCurveSegments = value;\r\n }\r\n if (defaultCurveSegments >= 50) {\r\n roundValues(false);\r\n } else {\r\n roundValues(true);\r\n }\r\n}\r\n\r\nfunction inBrowser() {\r\n return typeof navigator !== 'undefined';\r\n}\r\n\r\nfunction installPlugin(type, plugin) {\r\n if (type === 'expressions') {\r\n expressionsPlugin = plugin;\r\n }\r\n}\r\n\r\nfunction getFactory(name) {\r\n switch (name) {\r\n case 'propertyFactory':\r\n return PropertyFactory;\r\n case 'shapePropertyFactory':\r\n return ShapePropertyFactory;\r\n case 'matrix':\r\n return Matrix;\r\n default:\r\n return null;\r\n }\r\n}\r\n\r\nlottie.play = animationManager.play;\r\nlottie.pause = animationManager.pause;\r\nlottie.setLocationHref = setLocationHref;\r\nlottie.togglePause = animationManager.togglePause;\r\nlottie.setSpeed = animationManager.setSpeed;\r\nlottie.setDirection = animationManager.setDirection;\r\nlottie.stop = animationManager.stop;\r\nlottie.searchAnimations = searchAnimations;\r\nlottie.registerAnimation = animationManager.registerAnimation;\r\nlottie.loadAnimation = loadAnimation;\r\nlottie.setSubframeRendering = setSubframeRendering;\r\nlottie.resize = animationManager.resize;\r\n// lottie.start = start;\r\nlottie.goToAndStop = animationManager.goToAndStop;\r\nlottie.destroy = animationManager.destroy;\r\nlottie.setQuality = setQuality;\r\nlottie.inBrowser = inBrowser;\r\nlottie.installPlugin = installPlugin;\r\nlottie.freeze = animationManager.freeze;\r\nlottie.unfreeze = animationManager.unfreeze;\r\nlottie.setVolume = animationManager.setVolume;\r\nlottie.mute = animationManager.mute;\r\nlottie.unmute = animationManager.unmute;\r\nlottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\r\nlottie.setIDPrefix = setIDPrefix;\r\nlottie.__getFactory = getFactory;\r\nlottie.version = '5.7.14';\r\n\r\nfunction checkReady() {\r\n if (document.readyState === 'complete') {\r\n clearInterval(readyStateCheckInterval);\r\n searchAnimations();\r\n }\r\n}\r\n\r\nfunction getQueryVariable(variable) {\r\n var vars = queryString.split('&');\r\n for (var i = 0; i < vars.length; i += 1) {\r\n var pair = vars[i].split('=');\r\n if (decodeURIComponent(pair[0]) == variable) { // eslint-disable-line eqeqeq\r\n return decodeURIComponent(pair[1]);\r\n }\r\n }\r\n return null;\r\n}\r\nvar standalone = '__[STANDALONE]__';\r\nvar animationData = '__[ANIMATIONDATA]__';\r\nvar renderer = '';\r\nvar queryString;\r\nif (standalone) {\r\n var scripts = document.getElementsByTagName('script');\r\n var index = scripts.length - 1;\r\n var myScript = scripts[index] || {\r\n src: '',\r\n };\r\n queryString = myScript.src.replace(/^[^\\?]+\\??/, ''); // eslint-disable-line no-useless-escape\r\n renderer = getQueryVariable('renderer');\r\n}\r\nvar readyStateCheckInterval = setInterval(checkReady, 100);\r\n\nreturn lottie;\n}));","var LayerList = require('../layer/LayerList');\r\nvar KeyPathList = require('../key_path/KeyPathList');\r\n\r\nfunction Renderer(state) {\r\n\r\n\tstate._type = 'renderer';\r\n\r\n\tfunction getRendererType() {\r\n\t\treturn state.animation.animType;\r\n\t}\r\n\r\n\treturn Object.assign({\r\n\t\tgetRendererType: getRendererType\r\n\t}, LayerList(state.elements), KeyPathList(state.elements, 'renderer'));\r\n}\r\n\r\nmodule.exports = Renderer;","(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i layer_api(item, animation)),\r\n\t\tboundingRect: null,\r\n\t\tscaleData: null\r\n\t}\r\n\r\n\tfunction getCurrentFrame() {\r\n\t\treturn animation.currentFrame;\r\n\t}\r\n\r\n\tfunction getCurrentTime() {\r\n\t\treturn animation.currentFrame / animation.frameRate;\r\n\t}\r\n\r\n\tfunction addValueCallback(properties, value) {\r\n\t\tvar i, len = properties.length;\r\n\t\tfor (i = 0; i < len; i += 1) {\r\n\t\t\tproperties.getPropertyAtIndex(i).setValue(value);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction toKeypathLayerPoint(properties, point) {\r\n\t\tvar i, len = properties.length;\r\n\t\tvar points = [];\r\n\t\tfor (i = 0; i < len; i += 1) {\r\n\t\t\tpoints.push(properties.getPropertyAtIndex(i).toKeypathLayerPoint(point));\r\n\t\t}\r\n\t\tif(points.length === 1) {\r\n\t\t\treturn points[0];\r\n\t\t}\r\n\t\treturn points;\r\n\t}\r\n\r\n\tfunction fromKeypathLayerPoint(properties, point) {\r\n\t\tvar i, len = properties.length;\r\n\t\tvar points = [];\r\n\t\tfor (i = 0; i < len; i += 1) {\r\n\t\t\tpoints.push(properties.getPropertyAtIndex(i).fromKeypathLayerPoint(point));\r\n\t\t}\r\n\t\tif(points.length === 1) {\r\n\t\t\treturn points[0];\r\n\t\t}\r\n\t\treturn points;\r\n\t}\r\n\r\n\tfunction calculateScaleData(boundingRect) {\r\n\t\tvar compWidth = animation.animationData.w;\r\n var compHeight = animation.animationData.h;\r\n\t\tvar compRel = compWidth / compHeight;\r\n var elementWidth = boundingRect.width;\r\n var elementHeight = boundingRect.height;\r\n var elementRel = elementWidth / elementHeight;\r\n var scale,scaleXOffset,scaleYOffset;\r\n var xAlignment, yAlignment, scaleMode;\r\n var aspectRatio = animation.renderer.renderConfig.preserveAspectRatio.split(' ');\r\n if(aspectRatio[1] === 'meet') {\r\n \tscale = elementRel > compRel ? elementHeight / compHeight : elementWidth / compWidth;\r\n } else {\r\n \tscale = elementRel > compRel ? elementWidth / compWidth : elementHeight / compHeight;\r\n }\r\n xAlignment = aspectRatio[0].substr(0,4);\r\n yAlignment = aspectRatio[0].substr(4);\r\n if(xAlignment === 'xMin') {\r\n \tscaleXOffset = 0;\r\n } else if(xAlignment === 'xMid') {\r\n \tscaleXOffset = (elementWidth - compWidth * scale) / 2;\r\n } else {\r\n \tscaleXOffset = (elementWidth - compWidth * scale);\r\n }\r\n\r\n if(yAlignment === 'YMin') {\r\n\t scaleYOffset = 0;\r\n } else if(yAlignment === 'YMid') {\r\n\t scaleYOffset = (elementHeight - compHeight * scale) / 2;\r\n } else {\r\n\t scaleYOffset = (elementHeight - compHeight * scale);\r\n }\r\n return {\r\n \tscaleYOffset: scaleYOffset,\r\n \tscaleXOffset: scaleXOffset,\r\n \tscale: scale\r\n }\r\n\t}\r\n\r\n\tfunction recalculateSize(container) {\r\n\t\tvar container = animation.wrapper;\r\n\t\tstate.boundingRect = container.getBoundingClientRect();\r\n\t\tstate.scaleData = calculateScaleData(state.boundingRect);\r\n\t}\r\n\r\n\tfunction toContainerPoint(point) {\r\n\t\tif(!animation.wrapper || !animation.wrapper.getBoundingClientRect) {\r\n\t\t\treturn point;\r\n\t\t}\r\n\t\tif(!state.boundingRect) {\r\n\t\t\trecalculateSize();\r\n\t\t}\r\n\r\n\t\tvar boundingRect = state.boundingRect;\r\n\t\tvar newPoint = [point[0] - boundingRect.left, point[1] - boundingRect.top];\r\n\t\tvar scaleData = state.scaleData;\r\n\r\n newPoint[0] = (newPoint[0] - scaleData.scaleXOffset) / scaleData.scale;\r\n newPoint[1] = (newPoint[1] - scaleData.scaleYOffset) / scaleData.scale;\r\n\r\n\t\treturn newPoint;\r\n\t}\r\n\r\n\tfunction fromContainerPoint(point) {\r\n\t\tif(!animation.wrapper || !animation.wrapper.getBoundingClientRect) {\r\n\t\t\treturn point;\r\n\t\t}\r\n\t\tif(!state.boundingRect) {\r\n\t\t\trecalculateSize();\r\n\t\t}\r\n\t\tvar boundingRect = state.boundingRect;\r\n\t\tvar scaleData = state.scaleData;\r\n\r\n\t\tvar newPoint = [point[0] * scaleData.scale + scaleData.scaleXOffset, point[1] * scaleData.scale + scaleData.scaleYOffset];\r\n\r\n\t\tvar newPoint = [newPoint[0] + boundingRect.left, newPoint[1] + boundingRect.top];\r\n\t\treturn newPoint;\r\n\t}\r\n\r\n\tfunction getScaleData() {\r\n\t\treturn state.scaleData;\r\n\t}\r\n\r\n\tvar methods = {\r\n\t\trecalculateSize: recalculateSize,\r\n\t\tgetScaleData: getScaleData,\r\n\t\ttoContainerPoint: toContainerPoint,\r\n\t\tfromContainerPoint: fromContainerPoint,\r\n\t\tgetCurrentFrame: getCurrentFrame,\r\n\t\tgetCurrentTime: getCurrentTime,\r\n\t\taddValueCallback: addValueCallback,\r\n\t\ttoKeypathLayerPoint: toKeypathLayerPoint,\r\n\t\tfromKeypathLayerPoint: fromKeypathLayerPoint\r\n\t}\r\n\r\n\treturn Object.assign({}, Renderer(state), methods);\r\n}\r\n\r\nmodule.exports = AnimationItemFactory;","module.exports = ',';","module.exports = {\r\n\t 0: 0,\r\n\t 1: 1,\r\n\t 2: 2,\r\n\t 3: 3,\r\n\t 4: 4,\r\n\t 5: 5,\r\n\t 13: 13,\r\n\t'comp': 0,\r\n\t'composition': 0,\r\n\t'solid': 1,\r\n\t'image': 2,\r\n\t'null': 3,\r\n\t'shape': 4,\r\n\t'text': 5,\r\n\t'camera': 13\r\n}","module.exports = {\r\n\tLAYER_TRANSFORM: 'transform'\r\n}","var key_path_separator = require('../enums/key_path_separator');\r\nvar sanitizeString = require('./stringSanitizer');\r\n\r\nmodule.exports = function(propertyPath) {\r\n\tvar keyPathSplit = propertyPath.split(key_path_separator);\r\n\tvar selector = keyPathSplit.shift();\r\n\treturn {\r\n\t\tselector: sanitizeString(selector),\r\n\t\tpropertyPath: keyPathSplit.join(key_path_separator)\r\n\t}\r\n}","var TextElement = require('../layer/text/TextElement');\r\nvar ShapeElement = require('../layer/shape/Shape');\r\nvar NullElement = require('../layer/null_element/NullElement');\r\nvar SolidElement = require('../layer/solid/SolidElement');\r\nvar ImageElement = require('../layer/image/ImageElement');\r\nvar CameraElement = require('../layer/camera/Camera');\r\nvar LayerBase = require('../layer/LayerBase');\r\n\r\n\r\nmodule.exports = function getLayerApi(element, parent) {\r\n\tvar layerType = element.data.ty;\r\n\tvar Composition = require('../layer/composition/Composition');\r\n\tswitch(layerType) {\r\n\t\tcase 0:\r\n\t\treturn Composition(element, parent);\r\n\t\tcase 1:\r\n\t\treturn SolidElement(element, parent);\r\n\t\tcase 2:\r\n\t\treturn ImageElement(element, parent);\r\n\t\tcase 3:\r\n\t\treturn NullElement(element, parent);\r\n\t\tcase 4:\r\n\t\treturn ShapeElement(element, parent, element.data.shapes, element.itemsData);\r\n\t\tcase 5:\r\n\t\treturn TextElement(element, parent);\r\n\t\tcase 13:\r\n\t\treturn CameraElement(element, parent);\r\n\t\tdefault:\r\n\t\treturn LayerBase(element, parent);\r\n\t}\r\n}","function sanitizeString(string) {\r\n\treturn string.trim();\r\n}\r\n\r\nmodule.exports = sanitizeString","var createTypedArray = require('./typedArrays')\r\n\r\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 */\r\n\r\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 */\r\n\r\nvar Matrix = (function(){\r\n\r\n var _cos = Math.cos;\r\n var _sin = Math.sin;\r\n var _tan = Math.tan;\r\n var _rnd = Math.round;\r\n\r\n function reset(){\r\n this.props[0] = 1;\r\n this.props[1] = 0;\r\n this.props[2] = 0;\r\n this.props[3] = 0;\r\n this.props[4] = 0;\r\n this.props[5] = 1;\r\n this.props[6] = 0;\r\n this.props[7] = 0;\r\n this.props[8] = 0;\r\n this.props[9] = 0;\r\n this.props[10] = 1;\r\n this.props[11] = 0;\r\n this.props[12] = 0;\r\n this.props[13] = 0;\r\n this.props[14] = 0;\r\n this.props[15] = 1;\r\n return this;\r\n }\r\n\r\n function rotate(angle) {\r\n if(angle === 0){\r\n return this;\r\n }\r\n var mCos = _cos(angle);\r\n var mSin = _sin(angle);\r\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\r\n }\r\n\r\n function rotateX(angle){\r\n if(angle === 0){\r\n return this;\r\n }\r\n var mCos = _cos(angle);\r\n var mSin = _sin(angle);\r\n return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\r\n }\r\n\r\n function rotateY(angle){\r\n if(angle === 0){\r\n return this;\r\n }\r\n var mCos = _cos(angle);\r\n var mSin = _sin(angle);\r\n return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\r\n }\r\n\r\n function rotateZ(angle){\r\n if(angle === 0){\r\n return this;\r\n }\r\n var mCos = _cos(angle);\r\n var mSin = _sin(angle);\r\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\r\n }\r\n\r\n function shear(sx,sy){\r\n return this._t(1, sy, sx, 1, 0, 0);\r\n }\r\n\r\n function skew(ax, ay){\r\n return this.shear(_tan(ax), _tan(ay));\r\n }\r\n\r\n function skewFromAxis(ax, angle){\r\n var mCos = _cos(angle);\r\n var mSin = _sin(angle);\r\n return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)\r\n ._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)\r\n ._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\r\n //return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\r\n }\r\n\r\n function scale(sx, sy, sz) {\r\n sz = isNaN(sz) ? 1 : sz;\r\n if(sx == 1 && sy == 1 && sz == 1){\r\n return this;\r\n }\r\n return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\r\n }\r\n\r\n function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\r\n this.props[0] = a;\r\n this.props[1] = b;\r\n this.props[2] = c;\r\n this.props[3] = d;\r\n this.props[4] = e;\r\n this.props[5] = f;\r\n this.props[6] = g;\r\n this.props[7] = h;\r\n this.props[8] = i;\r\n this.props[9] = j;\r\n this.props[10] = k;\r\n this.props[11] = l;\r\n this.props[12] = m;\r\n this.props[13] = n;\r\n this.props[14] = o;\r\n this.props[15] = p;\r\n return this;\r\n }\r\n\r\n function translate(tx, ty, tz) {\r\n tz = tz || 0;\r\n if(tx !== 0 || ty !== 0 || tz !== 0){\r\n return this._t(1,0,0,0,0,1,0,0,0,0,1,0,tx,ty,tz,1);\r\n }\r\n return this;\r\n }\r\n\r\n function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\r\n\r\n var _p = this.props;\r\n\r\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){\r\n //NOTE: commenting this condition because TurboFan deoptimizes code when present\r\n //if(m2 !== 0 || n2 !== 0 || o2 !== 0){\r\n _p[12] = _p[12] * a2 + _p[15] * m2;\r\n _p[13] = _p[13] * f2 + _p[15] * n2;\r\n _p[14] = _p[14] * k2 + _p[15] * o2;\r\n _p[15] = _p[15] * p2;\r\n //}\r\n this._identityCalculated = false;\r\n return this;\r\n }\r\n\r\n var a1 = _p[0];\r\n var b1 = _p[1];\r\n var c1 = _p[2];\r\n var d1 = _p[3];\r\n var e1 = _p[4];\r\n var f1 = _p[5];\r\n var g1 = _p[6];\r\n var h1 = _p[7];\r\n var i1 = _p[8];\r\n var j1 = _p[9];\r\n var k1 = _p[10];\r\n var l1 = _p[11];\r\n var m1 = _p[12];\r\n var n1 = _p[13];\r\n var o1 = _p[14];\r\n var p1 = _p[15];\r\n\r\n /* matrix order (canvas compatible):\r\n * ace\r\n * bdf\r\n * 001\r\n */\r\n _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\r\n _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2 ;\r\n _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2 ;\r\n _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2 ;\r\n\r\n _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2 ;\r\n _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2 ;\r\n _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2 ;\r\n _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2 ;\r\n\r\n _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2 ;\r\n _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2 ;\r\n _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2 ;\r\n _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2 ;\r\n\r\n _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2 ;\r\n _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2 ;\r\n _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2 ;\r\n _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2 ;\r\n\r\n this._identityCalculated = false;\r\n return this;\r\n }\r\n\r\n function isIdentity() {\r\n if(!this._identityCalculated){\r\n this._identity = !(this.props[0] !== 1 || this.props[1] !== 0 || this.props[2] !== 0 || this.props[3] !== 0 || this.props[4] !== 0 || this.props[5] !== 1 || this.props[6] !== 0 || this.props[7] !== 0 || this.props[8] !== 0 || this.props[9] !== 0 || this.props[10] !== 1 || this.props[11] !== 0 || this.props[12] !== 0 || this.props[13] !== 0 || this.props[14] !== 0 || this.props[15] !== 1);\r\n this._identityCalculated = true;\r\n }\r\n return this._identity;\r\n }\r\n\r\n function equals(matr){\r\n var i = 0;\r\n while (i < 16) {\r\n if(matr.props[i] !== this.props[i]) {\r\n return false;\r\n }\r\n i+=1;\r\n }\r\n return true;\r\n }\r\n\r\n function clone(matr){\r\n var i;\r\n for(i=0;i<16;i+=1){\r\n matr.props[i] = this.props[i];\r\n }\r\n }\r\n\r\n function cloneFromProps(props){\r\n var i;\r\n for(i=0;i<16;i+=1){\r\n this.props[i] = props[i];\r\n }\r\n }\r\n\r\n function applyToPoint(x, y, z) {\r\n\r\n return {\r\n x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],\r\n y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],\r\n z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]\r\n };\r\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 };*/\r\n }\r\n function applyToX(x, y, z) {\r\n return x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12];\r\n }\r\n function applyToY(x, y, z) {\r\n return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13];\r\n }\r\n function applyToZ(x, y, z) {\r\n return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14];\r\n }\r\n\r\n function inversePoint(pt) {\r\n var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4];\r\n var a = this.props[5]/determinant;\r\n var b = - this.props[1]/determinant;\r\n var c = - this.props[4]/determinant;\r\n var d = this.props[0]/determinant;\r\n var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12])/determinant;\r\n var f = - (this.props[0] * this.props[13] - this.props[1] * this.props[12])/determinant;\r\n return [pt[0] * a + pt[1] * c + e, pt[0] * b + pt[1] * d + f, 0];\r\n }\r\n\r\n function inversePoints(pts){\r\n var i, len = pts.length, retPts = [];\r\n for(i=0;i= elements.length) {\r\n\t\t\treturn [];\r\n\t\t}\r\n\t\treturn layer_api(elements[parseInt(index)]);\r\n\t}\r\n\r\n\tfunction addIteratableMethods(iteratableMethods, list) {\r\n\t\titeratableMethods.reduce(function(accumulator, value){\r\n\t\t\tvar _value = value;\r\n\t\t\taccumulator[value] = function() {\r\n\t\t\t\tvar _arguments = arguments;\r\n\t\t\t\treturn elements.map(function(element){\r\n\t\t\t\t\tvar layer = layer_api(element);\r\n\t\t\t\t\tif(layer[_value]) {\r\n\t\t\t\t\t\treturn layer[_value].apply(null, _arguments);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn null;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn accumulator;\r\n\t\t}, methods);\r\n\t}\r\n\r\n\tfunction getTargetElements() {\r\n\t\treturn elements;\r\n\t}\r\n\r\n\tfunction concat(list) {\r\n\t\treturn elements.concat(list.getTargetElements());\r\n\t}\r\n\r\n\tvar methods = {\r\n\t\tgetLayers: getLayers,\r\n\t\tgetLayersByType: getLayersByType,\r\n\t\tgetLayersByName: getLayersByName,\r\n\t\tlayer: layer,\r\n\t\tconcat: concat,\r\n\t\tgetTargetElements: getTargetElements\r\n\t};\r\n\r\n\taddIteratableMethods(['setTranslate', 'getType', 'getDuration']);\r\n\taddIteratableMethods(['setText', 'getText', 'setDocumentData', 'canResizeFont', 'setMinimumFontSize']);\r\n\r\n\tObject.defineProperty(methods, 'length', {\r\n\t\tget: _getLength\r\n\t});\r\n\treturn methods;\r\n}\r\n\r\nmodule.exports = LayerList;","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar Property = require('../../property/Property');\r\n\r\nfunction Camera(element, parent) {\r\n\r\n\tvar instance = {};\r\n\r\n\tvar state = {\r\n\t\telement: element,\r\n\t\tparent: parent,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'Point of Interest',\r\n\t\t\t\tvalue: Property(element.a, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Zoom',\r\n\t\t\t\tvalue: Property(element.pe, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Position',\r\n\t\t\t\tvalue: Property(element.p, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'X Rotation',\r\n\t\t\t\tvalue: Property(element.rx, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Y Rotation',\r\n\t\t\t\tvalue: Property(element.ry, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Z Rotation',\r\n\t\t\t\tvalue: Property(element.rz, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Orientation',\r\n\t\t\t\tvalue: Property(element.or, parent)\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n\r\n\tfunction getTargetLayer() {\r\n\t\treturn state.element;\r\n\t}\r\n\r\n\tvar methods = {\r\n\t\tgetTargetLayer: getTargetLayer\r\n\t}\r\n\r\n\treturn Object.assign(instance, KeyPathNode(state), methods);\r\n}\r\n\r\nmodule.exports = Camera;","var KeyPathList = require('../../key_path/KeyPathList');\r\nvar LayerBase = require('../LayerBase');\r\nvar layer_api = require('../../helpers/layerAPIBuilder');\r\nvar Property = require('../../property/Property');\r\nvar TimeRemap = require('./TimeRemap');\r\n\r\nfunction Composition(element, parent) {\r\n\r\n\tvar instance = {};\r\n\r\n\tvar state = {\r\n\t\telement: element,\r\n\t\tparent: parent,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction buildLayerApi(layer, index) {\r\n\t\tvar _layerApi = null;\r\n\t\tvar ob = {\r\n\t\t\tname: layer.nm\r\n\t\t}\r\n\r\n\t\tfunction getLayerApi() {\r\n\t\t\tif(!_layerApi) {\r\n\t\t\t\t_layerApi = layer_api(element.elements[index], state)\r\n\t\t\t}\r\n\t\t\treturn _layerApi\r\n\t\t}\r\n\r\n\t\tObject.defineProperty(ob, 'value', {\r\n\t\t\tget : getLayerApi\r\n\t\t})\r\n\t\treturn ob;\r\n\t}\r\n\r\n\t\r\n\tfunction _buildPropertyMap() {\r\n\t\tvar compositionLayers = element.layers.map(buildLayerApi)\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'Time Remap',\r\n\t\t\t\tvalue: TimeRemap(element.tm)\r\n\t\t\t}\r\n\t\t].concat(compositionLayers)\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign(instance, LayerBase(state), KeyPathList(state.elements, 'layer'), methods);\r\n}\r\n\r\nmodule.exports = Composition;","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar ValueProperty = require('../../property/ValueProperty');\r\n\r\nfunction TimeRemap(property, parent) {\r\n\tvar state = {\r\n\t\tproperty: property,\r\n\t\tparent: parent\r\n\t}\r\n\r\n\tvar _isCallbackAdded = false;\r\n\tvar currentSegmentInit = 0;\r\n\tvar currentSegmentEnd = 0;\r\n\tvar previousTime = 0, currentTime = 0;\r\n\tvar initTime = 0;\r\n\tvar _loop = true;\r\n\tvar _loopCount = 0;\r\n\tvar _speed = 1;\r\n\tvar _paused = false;\r\n\tvar _isDebugging = false;\r\n\tvar queuedSegments = [];\r\n\tvar _destroyFunction;\r\n\tvar enterFrameCallback = null;\r\n\tvar enterFrameEvent = {\r\n\t\ttime: -1\r\n\t}\r\n\r\n\tfunction playSegment(init, end, clear) {\r\n\t\t_paused = false;\r\n\t\tif(clear) {\r\n\t\t\tclearQueue();\r\n\t\t\tcurrentTime = init;\r\n\t\t}\r\n\t\tif(_isDebugging) {\r\n\t\t\tconsole.log(init, end);\r\n\t\t}\r\n\t\t_loopCount = 0;\r\n\t\tpreviousTime = Date.now();\r\n\t\tcurrentSegmentInit = init;\r\n\t\tcurrentSegmentEnd = end;\r\n\t\taddCallback();\r\n\t}\r\n\r\n\tfunction playQueuedSegment() {\r\n\t\tvar newSegment = queuedSegments.shift();\r\n\t\tplaySegment(newSegment[0], newSegment[1]);\r\n\t}\r\n\r\n\tfunction queueSegment(init, end) {\r\n\t\tqueuedSegments.push([init, end]);\r\n\t}\r\n\r\n\tfunction clearQueue() {\r\n\t\tqueuedSegments.length = 0;\r\n\t}\r\n\r\n\tfunction _segmentPlayer(currentValue) {\r\n\t\tif(currentSegmentInit === currentSegmentEnd) {\r\n\t\t\tcurrentTime = currentSegmentInit;\r\n\t\t} else if(!_paused) {\r\n\t\t\tvar nowTime = Date.now();\r\n\t\t\tvar elapsedTime = _speed * (nowTime - previousTime) / 1000;\r\n\t\t\tpreviousTime = nowTime;\r\n\t\t\tif(currentSegmentInit < currentSegmentEnd) {\r\n\t\t\t\tcurrentTime += elapsedTime;\r\n\t\t\t\tif(currentTime > currentSegmentEnd) {\r\n\t\t\t\t\t_loopCount += 1;\r\n\t\t\t\t\tif(queuedSegments.length) {\r\n\t\t\t\t\t\tplayQueuedSegment();\r\n\t\t\t\t\t} else if(!_loop) {\r\n\t\t\t\t\t\tcurrentTime = currentSegmentEnd;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t/*currentTime -= Math.floor(currentTime / (currentSegmentEnd - currentSegmentInit)) * (currentSegmentEnd - currentSegmentInit);\r\n\t\t\t\t\t\tcurrentTime = currentSegmentInit + currentTime;*/\r\n\t\t\t\t\t\tcurrentTime = currentTime % (currentSegmentEnd - currentSegmentInit);\r\n\t\t\t\t\t\t//currentTime = currentSegmentInit + (currentTime);\r\n\t\t\t\t\t\t//currentTime = currentSegmentInit + (currentTime - currentSegmentEnd);\r\n\t\t\t\t\t\t //console.log('CT: ', currentTime) \r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tcurrentTime -= elapsedTime;\r\n\t\t\t\tif(currentTime < currentSegmentEnd) {\r\n\t\t\t\t\t_loopCount += 1;\r\n\t\t\t\t\tif(queuedSegments.length) {\r\n\t\t\t\t\t\tplayQueuedSegment();\r\n\t\t\t\t\t} else if(!_loop) {\r\n\t\t\t\t\t\tcurrentTime = currentSegmentEnd;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcurrentTime = currentSegmentInit - (currentSegmentEnd - currentTime);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(_isDebugging) {\r\n\t\t\t\tconsole.log(currentTime)\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(instance.onEnterFrame && enterFrameEvent.time !== currentTime) {\r\n\t\t\tenterFrameEvent.time = currentTime;\r\n\t\t\tinstance.onEnterFrame(enterFrameEvent);\r\n\t\t}\r\n\t\treturn currentTime;\r\n\t}\r\n\r\n\tfunction addCallback() {\r\n\t\tif(!_isCallbackAdded) {\r\n\t\t\t_isCallbackAdded = true;\r\n\t\t\t_destroyFunction = instance.setValue(_segmentPlayer, _isDebugging)\r\n\t\t}\r\n\t}\r\n\r\n\tfunction playTo(end, clear) {\r\n\t\t_paused = false;\r\n\t\tif(clear) {\r\n\t\t\tclearQueue();\r\n\t\t}\r\n\t\taddCallback();\r\n\t\tcurrentSegmentEnd = end;\r\n\t}\r\n\r\n\tfunction getCurrentTime() {\r\n\t\tif(_isCallbackAdded) {\r\n\t\t\treturn currentTime;\r\n\t\t} else {\r\n\t\t\treturn property.v / property.mult;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction setLoop(flag) {\r\n\t\t_loop = flag;\r\n\t}\r\n\r\n\tfunction setSpeed(value) {\r\n\t\t_speed = value;\r\n\t}\r\n\r\n\tfunction setDebugging(flag) {\r\n\t\t_isDebugging = flag;\r\n\t}\r\n\r\n\tfunction pause() {\r\n\t\t_paused = true;\r\n\t}\r\n\r\n\tfunction destroy() {\r\n\t\tif(_destroyFunction) {\r\n\t\t\t_destroyFunction();\r\n\t\t\tstate.property = null;\r\n\t\t\tstate.parent = null;\r\n\t\t}\r\n\t}\r\n\r\n\tvar methods = {\r\n\t\tplaySegment: playSegment,\r\n\t\tplayTo: playTo,\r\n\t\tqueueSegment: queueSegment,\r\n\t\tclearQueue: clearQueue,\r\n\t\tsetLoop: setLoop,\r\n\t\tsetSpeed: setSpeed,\r\n\t\tpause: pause,\r\n\t\tsetDebugging: setDebugging,\r\n\t\tgetCurrentTime: getCurrentTime,\r\n\t\tonEnterFrame: null,\r\n\t\tdestroy: destroy\r\n\t}\r\n\r\n\tvar instance = {}\r\n\r\n\treturn Object.assign(instance, methods, ValueProperty(state), KeyPathNode(state));\r\n}\r\n\r\nmodule.exports = TimeRemap;","var Property = require('../../property/Property');\r\n\r\nfunction EffectElement(effect, parent) {\r\n\r\n\treturn Property(effect.p, parent);\r\n}\r\n\r\nmodule.exports = EffectElement;","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar Property = require('../../property/Property');\r\nvar EffectElement = require('./EffectElement');\r\n\r\nfunction Effects(effects, parent) {\r\n\r\n\tvar state = {\r\n\t\tparent: parent,\r\n\t\tproperties: buildProperties()\r\n\t}\r\n\r\n\tfunction getValue(effectData, index) {\r\n\t\tvar nm = effectData.data ? effectData.data.nm : index.toString();\r\n\t\tvar effectElement = effectData.data ? Effects(effectData.effectElements, parent) : Property(effectData.p, parent);\r\n\t\treturn {\r\n\t\t\tname: nm,\r\n\t\t\tvalue: effectElement\r\n\t\t}\r\n\t}\r\n\r\n\tfunction buildProperties() {\r\n\t\tvar i, len = effects.length;\r\n\t\tvar arr = [];\r\n\t\tfor (i = 0; i < len; i += 1) {\r\n\t\t\tarr.push(getValue(effects[i], i));\r\n\t\t}\r\n\t\treturn arr;\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign(methods, KeyPathNode(state));\r\n}\r\n\r\nmodule.exports = Effects;","var LayerBase = require('../LayerBase');\r\n\r\nfunction Image(element) {\r\n\r\n\tvar state = {\r\n\t\telement: element,\r\n\t\tparent: parent,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t]\r\n\t}\r\n\t\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign({}, LayerBase(state), methods);\r\n}\r\n\r\nmodule.exports = Image;","var LayerBase = require('../LayerBase');\r\n\r\nfunction NullElement(element, parent) {\r\n\r\n\tvar instance = {};\r\n\r\n\tvar state = {\r\n\t\telement: element,\r\n\t\tparent: parent,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t]\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign(instance, LayerBase(state), methods);\r\n}\r\n\r\nmodule.exports = NullElement;","var LayerBase = require('../LayerBase');\r\nvar ShapeContents = require('./ShapeContents');\r\n\r\nfunction Shape(element, parent) {\r\n\r\n\tvar state = {\r\n\t\tproperties: [],\r\n\t\tparent: parent,\r\n\t\telement: element\r\n\t}\r\n\tvar shapeContents = ShapeContents(element.data.shapes, element.itemsData, state);\r\n\r\n\t\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\tstate.properties.push(\r\n\t\t\t{\r\n\t\t\t\tname: 'Contents',\r\n\t\t\t\tvalue: shapeContents\r\n\t\t\t}\r\n\t\t)\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\t_buildPropertyMap();\r\n\r\n\treturn Object.assign(state, LayerBase(state), methods);\r\n}\r\n\r\nmodule.exports = Shape;","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar Property = require('../../property/Property');\r\nvar ShapeRectangle = require('./ShapeRectangle');\r\nvar ShapeFill = require('./ShapeFill');\r\nvar ShapeStroke = require('./ShapeStroke');\r\nvar ShapeEllipse = require('./ShapeEllipse');\r\nvar ShapeGradientFill = require('./ShapeGradientFill');\r\nvar ShapeGradientStroke = require('./ShapeGradientStroke');\r\nvar ShapeTrimPaths = require('./ShapeTrimPaths');\r\nvar ShapeRepeater = require('./ShapeRepeater');\r\nvar ShapePolystar = require('./ShapePolystar');\r\nvar ShapeRoundCorners = require('./ShapeRoundCorners');\r\nvar ShapePath = require('./ShapePath');\r\nvar Transform = require('../transform/Transform');\r\nvar Matrix = require('../../helpers/transformationMatrix');\r\n\r\nfunction ShapeContents(shapesData, shapes, parent) {\r\n\tvar state = {\r\n\t\tproperties: _buildPropertyMap(),\r\n\t\tparent: parent\r\n\t}\r\n\r\n\tvar cachedShapeProperties = [];\r\n\r\n\tfunction buildShapeObject(shape, index) {\r\n\t\tvar ob = {\r\n\t\t\tname: shape.nm\r\n\t\t}\r\n\t\tObject.defineProperty(ob, 'value', {\r\n\t\t get() {\r\n\t\t \tif(cachedShapeProperties[index]) {\r\n\t\t \t\treturn cachedShapeProperties[index];\r\n\t\t \t} else {\r\n\t\t \t\tvar property;\r\n\t\t \t}\r\n\t \t\tif(shape.ty === 'gr') {\r\n\t \t\t\tproperty = ShapeContents(shapesData[index].it, shapes[index].it, state);\r\n\t \t\t} else if(shape.ty === 'rc') {\r\n\t \t\t\tproperty = ShapeRectangle(shapes[index], state);\r\n\t \t\t} else if(shape.ty === 'el') {\r\n\t \t\t\tproperty = ShapeEllipse(shapes[index], state);\r\n\t \t\t} else if(shape.ty === 'fl') {\r\n\t \t\t\tproperty = ShapeFill(shapes[index], state);\r\n\t \t\t} else if(shape.ty === 'st') {\r\n\t \t\t\tproperty = ShapeStroke(shapes[index], state);\r\n\t \t\t} else if(shape.ty === 'gf') {\r\n\t \t\t\tproperty = ShapeGradientFill(shapes[index], state);\r\n\t \t\t} else if(shape.ty === 'gs') {\r\n\t \t\t\tproperty = ShapeGradientStroke(shapes[index], state);\r\n\t \t\t} else if(shape.ty === 'tm') {\r\n\t \t\t\tproperty = ShapeTrimPaths(shapes[index], state);\r\n\t \t\t} else if(shape.ty === 'rp') {\r\n\t \t\t\tproperty = ShapeRepeater(shapes[index], state);\r\n\t \t\t} else if(shape.ty === 'sr') {\r\n\t \t\t\tproperty = ShapePolystar(shapes[index], state);\r\n\t \t\t} else if(shape.ty === 'rd') {\r\n\t \t\t\tproperty = ShapeRoundCorners(shapes[index], state);\r\n\t \t\t} else if(shape.ty === 'sh') {\r\n\t \t\t\tproperty = ShapePath(shapes[index], state);\r\n\t \t\t} else if(shape.ty === 'tr') {\r\n\t \t\t\tproperty = Transform(shapes[index].transform.mProps, state);\r\n\t \t\t} else {\r\n\t \t\t\tconsole.log(shape.ty);\r\n\t \t\t}\r\n\t \t\tcachedShapeProperties[index] = property;\r\n\t \t\treturn property;\r\n\t\t }\r\n\t\t});\r\n\t\treturn ob\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn shapesData.map(function(shape, index) {\r\n\t\t\treturn buildShapeObject(shape, index)\r\n\t\t});\r\n\t}\r\n\r\n\tfunction fromKeypathLayerPoint(point) {\r\n\t\tif(state.hasProperty('Transform')) {\r\n \t\tvar toWorldMat = Matrix();\r\n \tvar transformMat = state.getProperty('Transform').getTargetTransform();\r\n\t\t\ttransformMat.applyToMatrix(toWorldMat);\r\n \tpoint = toWorldMat.applyToPointArray(point[0],point[1],point[2]||0);\r\n\t\t}\r\n\t\treturn state.parent.fromKeypathLayerPoint(point);\r\n\t}\r\n\r\n\tfunction toKeypathLayerPoint(point) {\r\n\t\tpoint = state.parent.toKeypathLayerPoint(point);\r\n\t\tif(state.hasProperty('Transform')) {\r\n \t\tvar toWorldMat = Matrix();\r\n \tvar transformMat = state.getProperty('Transform').getTargetTransform();\r\n\t\t\ttransformMat.applyToMatrix(toWorldMat);\r\n \tpoint = toWorldMat.inversePoint(point);\r\n\t\t}\r\n\t\treturn point;\r\n\t}\r\n\r\n\tvar methods = {\r\n\t\tfromKeypathLayerPoint: fromKeypathLayerPoint,\r\n\t\ttoKeypathLayerPoint: toKeypathLayerPoint\r\n\t}\r\n\r\n\t//state.properties = _buildPropertyMap();\r\n\r\n\treturn Object.assign(state, KeyPathNode(state), methods)\r\n}\r\n\r\nmodule.exports = ShapeContents;","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar Property = require('../../property/Property');\r\n\r\nfunction ShapeEllipse(element, parent) {\r\n\r\n\tvar state = {\r\n\t\tparent: parent,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'Size',\r\n\t\t\t\tvalue: Property(element.sh.s, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Position',\r\n\t\t\t\tvalue: Property(element.sh.p, parent)\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign(methods, KeyPathNode(state));\r\n}\r\n\r\nmodule.exports = ShapeEllipse;","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar Property = require('../../property/Property');\r\n\r\nfunction ShapeFill(element, parent) {\r\n\r\n\tvar state = {\r\n\t\tparent: parent,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'Color',\r\n\t\t\t\tvalue: Property(element.c, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Opacity',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: Property(element.o, parent)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign(methods, KeyPathNode(state));\r\n}\r\n\r\nmodule.exports = ShapeFill;","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar Property = require('../../property/Property');\r\n\r\nfunction ShapeGradientFill(element, parent) {\r\n\r\n\tvar state = {\r\n\t\tparent: parent,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'Start Point',\r\n\t\t\t\tvalue: Property(element.s, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'End Point',\r\n\t\t\t\tvalue: Property(element.s, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Opacity',\r\n\t\t\t\tvalue: Property(element.o, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Highlight Length',\r\n\t\t\t\tvalue: Property(element.h, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Highlight Angle',\r\n\t\t\t\tvalue: Property(element.a, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Colors',\r\n\t\t\t\tvalue: Property(element.g.prop, parent)\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign(methods, KeyPathNode(state));\r\n}\r\n\r\nmodule.exports = ShapeGradientFill;","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar Property = require('../../property/Property');\r\n\r\nfunction ShapeGradientStroke(element, parent) {\r\n\r\n\tvar state = {\r\n\t\tparent: parent,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'Start Point',\r\n\t\t\t\tvalue: Property(element.s, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'End Point',\r\n\t\t\t\tvalue: Property(element.e, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Opacity',\r\n\t\t\t\tvalue: Property(element.o, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Highlight Length',\r\n\t\t\t\tvalue: Property(element.h, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Highlight Angle',\r\n\t\t\t\tvalue: Property(element.a, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Colors',\r\n\t\t\t\tvalue: Property(element.g.prop, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Stroke Width',\r\n\t\t\t\tvalue: Property(element.w, parent)\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign(methods, KeyPathNode(state));\r\n}\r\n\r\nmodule.exports = ShapeGradientStroke;","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar Property = require('../../property/Property');\r\n\r\nfunction ShapePath(element, parent) {\r\n\r\n\tvar state = {\r\n\t\tparent: parent,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction setPath(value) {\r\n\t\tProperty(element.sh).setValue(value);\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'path',\r\n\t\t\t\tvalue:Property(element.sh, parent)\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign(methods, KeyPathNode(state));\r\n}\r\n\r\nmodule.exports = ShapePath;","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar Property = require('../../property/Property');\r\n\r\nfunction ShapePolystar(element, parent) {\r\n\r\n\tvar state = {\r\n\t\tparent: parent,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'Points',\r\n\t\t\t\tvalue: Property(element.sh.pt, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Position',\r\n\t\t\t\tvalue: Property(element.sh.p, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Rotation',\r\n\t\t\t\tvalue: Property(element.sh.r, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Inner Radius',\r\n\t\t\t\tvalue: Property(element.sh.ir, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Outer Radius',\r\n\t\t\t\tvalue: Property(element.sh.or, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Inner Roundness',\r\n\t\t\t\tvalue: Property(element.sh.is, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Outer Roundness',\r\n\t\t\t\tvalue: Property(element.sh.os, parent)\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign(methods, KeyPathNode(state));\r\n}\r\n\r\nmodule.exports = ShapePolystar;","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar Property = require('../../property/Property');\r\n\r\nfunction ShapeRectangle(element, parent) {\r\n\r\n\tvar state = {\r\n\t\tparent: parent,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'Size',\r\n\t\t\t\tvalue: Property(element.sh.s, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Position',\r\n\t\t\t\tvalue: Property(element.sh.p, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Roundness',\r\n\t\t\t\tvalue: Property(element.sh.r, parent)\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign(methods, KeyPathNode(state));\r\n}\r\n\r\nmodule.exports = ShapeRectangle;","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar Property = require('../../property/Property');\r\nvar Transform = require('../transform/Transform');\r\n\r\nfunction ShapeRepeater(element, parent) {\r\n\r\n\tvar state = {\r\n\t\tparent: parent,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'Copies',\r\n\t\t\t\tvalue: Property(element.c, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Offset',\r\n\t\t\t\tvalue: Property(element.o, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Transform',\r\n\t\t\t\tvalue: Transform(element.tr, parent)\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign(methods, KeyPathNode(state));\r\n}\r\n\r\nmodule.exports = ShapeRepeater;","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar Property = require('../../property/Property');\r\n\r\nfunction ShapeRoundCorners(element, parent) {\r\n\r\n\tvar state = {\r\n\t\tparent: parent,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'Radius',\r\n\t\t\t\tvalue: Property(element.rd, parent)\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign(methods, KeyPathNode(state));\r\n}\r\n\r\nmodule.exports = ShapeRoundCorners;","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar Property = require('../../property/Property');\r\n\r\nfunction ShapeStroke(element, parent) {\r\n\tvar state = {\r\n\t\tparent: parent,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'Color',\r\n\t\t\t\tvalue: Property(element.c, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Stroke Width',\r\n\t\t\t\tvalue: Property(element.w, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Opacity',\r\n\t\t\t\tvalue: Property(element.o, parent)\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign(methods, KeyPathNode(state));\r\n}\r\n\r\nmodule.exports = ShapeStroke","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar Property = require('../../property/Property');\r\n\r\nfunction ShapeTrimPaths(element, parent) {\r\n\r\n\tvar state = {\r\n\t\tparent: parent,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'Start',\r\n\t\t\t\tvalue: Property(element.s, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'End',\r\n\t\t\t\tvalue: Property(element.e, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Offset',\r\n\t\t\t\tvalue: Property(element.o, parent)\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign(methods, KeyPathNode(state));\r\n}\r\n\r\nmodule.exports = ShapeTrimPaths;","var LayerBase = require('../LayerBase');\r\n\r\nfunction Solid(element, parent) {\r\n\r\n\tvar state = {\r\n\t\telement: element,\r\n\t\tparent: parent,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t]\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign({}, LayerBase(state), methods);\r\n}\r\n\r\nmodule.exports = Solid;","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar Property = require('../../property/Property');\r\nvar TextAnimator = require('./TextAnimator');\r\n\r\nfunction Text(element, parent) {\r\n\r\n\tvar instance = {}\r\n\r\n\tvar state = {\r\n\t\telement: element,\r\n\t\tparent: parent,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction setDocumentData(_function) {\r\n\t\tvar previousValue;\r\n\t\tvar textDocumentUpdater = function(data) {\r\n\t\t\tvar newValue = _function(element.textProperty.currentData);\r\n\t\t\tif (previousValue !== newValue) {\r\n\t\t\t\tpreviousValue = newValue;\r\n\t\t\t\treturn Object.assign({}, data, newValue, {__complete: false});\r\n\t\t\t}\r\n\t\t\treturn data\r\n\t\t}\r\n\t\telement.textProperty.addEffect(textDocumentUpdater);\r\n\t}\r\n\r\n\tfunction addAnimators() {\r\n\t\tvar animatorProperties = [];\r\n\t\tvar animators = element.textAnimator._animatorsData;\r\n\t\tvar i, len = animators.length;\r\n\t\tvar textAnimator;\r\n\t\tfor (i = 0; i < len; i += 1) {\r\n\t\t\ttextAnimator = TextAnimator(animators[i])\r\n\t\t\tanimatorProperties.push({\r\n\t\t\t\tname: element.textAnimator._textData.a[i].nm || 'Animator ' + (i+1), //Fallback for old animations\r\n\t\t\t\tvalue: textAnimator\r\n\t\t\t})\r\n\t\t}\r\n\t\treturn animatorProperties;\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname:'Source',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setDocumentData\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t].concat(addAnimators())\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign(instance, methods, KeyPathNode(state));\r\n\r\n}\r\n\r\nmodule.exports = Text;","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar Property = require('../../property/Property');\r\n\r\nfunction TextAnimator(animator) {\r\n\r\n\tvar instance = {}\r\n\r\n\tvar state = {\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction setAnchorPoint(value) {\r\n\t\tProperty(animator.a.a).setValue(value);\r\n\t}\r\n\r\n\tfunction setFillBrightness(value) {\r\n\t\tProperty(animator.a.fb).setValue(value);\r\n\t}\r\n\r\n\tfunction setFillColor(value) {\r\n\t\tProperty(animator.a.fc).setValue(value);\r\n\t}\r\n\r\n\tfunction setFillHue(value) {\r\n\t\tProperty(animator.a.fh).setValue(value);\r\n\t}\r\n\r\n\tfunction setFillSaturation(value) {\r\n\t\tProperty(animator.a.fs).setValue(value);\r\n\t}\r\n\r\n\tfunction setFillOpacity(value) {\r\n\t\tProperty(animator.a.fo).setValue(value);\r\n\t}\r\n\r\n\tfunction setOpacity(value) {\r\n\t\tProperty(animator.a.o).setValue(value);\r\n\t}\r\n\r\n\tfunction setPosition(value) {\r\n\t\tProperty(animator.a.p).setValue(value);\r\n\t}\r\n\r\n\tfunction setRotation(value) {\r\n\t\tProperty(animator.a.r).setValue(value);\r\n\t}\r\n\r\n\tfunction setRotationX(value) {\r\n\t\tProperty(animator.a.rx).setValue(value);\r\n\t}\r\n\r\n\tfunction setRotationY(value) {\r\n\t\tProperty(animator.a.ry).setValue(value);\r\n\t}\r\n\r\n\tfunction setScale(value) {\r\n\t\tProperty(animator.a.s).setValue(value);\r\n\t}\r\n\r\n\tfunction setSkewAxis(value) {\r\n\t\tProperty(animator.a.sa).setValue(value);\r\n\t}\r\n\r\n\tfunction setStrokeColor(value) {\r\n\t\tProperty(animator.a.sc).setValue(value);\r\n\t}\r\n\r\n\tfunction setSkew(value) {\r\n\t\tProperty(animator.a.sk).setValue(value);\r\n\t}\r\n\r\n\tfunction setStrokeOpacity(value) {\r\n\t\tProperty(animator.a.so).setValue(value);\r\n\t}\r\n\r\n\tfunction setStrokeWidth(value) {\r\n\t\tProperty(animator.a.sw).setValue(value);\r\n\t}\r\n\r\n\tfunction setStrokeBrightness(value) {\r\n\t\tProperty(animator.a.sb).setValue(value);\r\n\t}\r\n\r\n\tfunction setStrokeHue(value) {\r\n\t\tProperty(animator.a.sh).setValue(value);\r\n\t}\r\n\r\n\tfunction setStrokeSaturation(value) {\r\n\t\tProperty(animator.a.ss).setValue(value);\r\n\t}\r\n\r\n\tfunction setTrackingAmount(value) {\r\n\t\tProperty(animator.a.t).setValue(value);\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname:'Anchor Point',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setAnchorPoint\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Fill Brightness',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setFillBrightness\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Fill Color',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setFillColor\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Fill Hue',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setFillHue\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Fill Saturation',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setFillSaturation\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Fill Opacity',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setFillOpacity\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Opacity',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setOpacity\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Position',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setPosition\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Rotation X',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setRotationX\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Rotation Y',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setRotationY\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Scale',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setScale\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Skew Axis',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setSkewAxis\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Stroke Color',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setStrokeColor\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Skew',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setSkew\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Stroke Width',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setStrokeWidth\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Tracking Amount',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setTrackingAmount\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Stroke Opacity',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setStrokeOpacity\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Stroke Brightness',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setStrokeBrightness\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Stroke Saturation',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setStrokeSaturation\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname:'Stroke Hue',\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tsetValue: setStrokeHue\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\r\n\t\t]\r\n\t}\r\n\r\n\tvar methods = {\r\n\t}\r\n\r\n\treturn Object.assign(instance, methods, KeyPathNode(state));\r\n\r\n}\r\n\r\nmodule.exports = TextAnimator;","var LayerBase = require('../LayerBase');\r\nvar Text = require('./Text');\r\n\r\nfunction TextElement(element) {\r\n\r\n\tvar instance = {};\r\n\r\n\tvar TextProperty = Text(element);\r\n\tvar state = {\r\n\t\telement: element,\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'text',\r\n\t\t\t\tvalue: TextProperty\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Text',\r\n\t\t\t\tvalue: TextProperty\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n\r\n\tfunction getText() {\r\n\t\treturn element.textProperty.currentData.t;\r\n\t}\r\n\r\n\tfunction setText(value, index) {\r\n\t\tsetDocumentData({t: value}, index);\r\n\t}\r\n\r\n\tfunction setDocumentData(data, index) {\r\n\t\treturn element.updateDocumentData(data, index);\r\n\t}\r\n\t\r\n\tfunction canResizeFont(_canResize) {\r\n\t\treturn element.canResizeFont(_canResize);\r\n\t}\r\n\r\n\tfunction setMinimumFontSize(_fontSize) {\r\n\t\treturn element.setMinimumFontSize(_fontSize);\r\n\t}\r\n\r\n\tvar methods = {\r\n\t\tgetText: getText,\r\n\t\tsetText: setText,\r\n\t\tcanResizeFont: canResizeFont,\r\n\t\tsetDocumentData: setDocumentData,\r\n\t\tsetMinimumFontSize: setMinimumFontSize\r\n\t}\r\n\r\n\treturn Object.assign(instance, LayerBase(state), methods);\r\n\r\n}\r\n\r\nmodule.exports = TextElement;","var KeyPathNode = require('../../key_path/KeyPathNode');\r\nvar Property = require('../../property/Property');\r\n\r\nfunction Transform(props, parent) {\r\n\tvar state = {\r\n\t\tproperties: _buildPropertyMap()\r\n\t}\r\n\r\n\tfunction _buildPropertyMap() {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tname: 'Anchor Point',\r\n\t\t\t\tvalue: Property(props.a, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Point of Interest',\r\n\t\t\t\tvalue: Property(props.a, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Position',\r\n\t\t\t\tvalue: Property(props.p, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Scale',\r\n\t\t\t\tvalue: Property(props.s, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Rotation',\r\n\t\t\t\tvalue: Property(props.r, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'X Position',\r\n\t\t\t\tvalue: Property(props.px, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Y Position',\r\n\t\t\t\tvalue: Property(props.py, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Z Position',\r\n\t\t\t\tvalue: Property(props.pz, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'X Rotation',\r\n\t\t\t\tvalue: Property(props.rx, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Y Rotation',\r\n\t\t\t\tvalue: Property(props.ry, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Z Rotation',\r\n\t\t\t\tvalue: Property(props.rz, parent)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'Opacity',\r\n\t\t\t\tvalue: Property(props.o, parent)\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n\r\n\tfunction getTargetTransform() {\r\n\t\treturn props;\r\n\t}\r\n\r\n\tvar methods = {\r\n\t\tgetTargetTransform: getTargetTransform\r\n\t}\r\n\r\n\treturn Object.assign(methods, KeyPathNode(state));\r\n}\r\n\r\nmodule.exports = Transform;","var KeyPathNode = require('../key_path/KeyPathNode');\r\nvar ValueProperty = require('./ValueProperty');\r\n\r\nfunction Property(property, parent) {\r\n\tvar state = {\r\n\t\tproperty: property,\r\n\t\tparent: parent\r\n\t}\r\n\r\n\tfunction destroy() {\r\n\t\tstate.property = null;\r\n\t\tstate.parent = null;\r\n\t}\r\n\r\n\tvar methods = {\r\n\t\tdestroy: destroy\r\n\t}\r\n\r\n\treturn Object.assign({}, methods, ValueProperty(state), KeyPathNode(state));\r\n}\r\n\r\nmodule.exports = Property;","function ValueProperty(state) {\r\n\t\r\n\tfunction setValue(value) {\r\n\t\tvar property = state.property;\r\n\t\tif(!property || !property.addEffect) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (typeof value === 'function') {\r\n\t\t\treturn property.addEffect(value);\r\n\t\t} else if (property.propType === 'multidimensional' && typeof value === 'object' && value.length === 2) {\r\n\t\t\treturn property.addEffect(function(){return value});\r\n\t\t} else if (property.propType === 'unidimensional' && typeof value === 'number') {\r\n\t\t\treturn property.addEffect(function(){return value});\r\n\t\t}\r\n\t}\r\n\r\n\tfunction getValue() {\r\n\t\treturn state.property.v;\r\n\t}\r\n\r\n\tvar methods = {\r\n\t\tsetValue: setValue,\r\n\t\tgetValue: getValue\r\n\t}\r\n\r\n\treturn methods;\r\n}\r\n\r\nmodule.exports = ValueProperty;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _keys = require(\"babel-runtime/core-js/object/keys\");\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _stringify = require(\"babel-runtime/core-js/json/stringify\");\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _extends2 = require(\"babel-runtime/helpers/extends\");\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _getPrototypeOf = require(\"babel-runtime/core-js/object/get-prototype-of\");\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = require(\"babel-runtime/helpers/classCallCheck\");\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require(\"babel-runtime/helpers/createClass\");\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require(\"babel-runtime/helpers/possibleConstructorReturn\");\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require(\"babel-runtime/helpers/inherits\");\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _lottieWeb = require(\"lottie-web\");\n\nvar _lottieWeb2 = _interopRequireDefault(_lottieWeb);\n\nvar _lottie_api = require(\"lottie-api/dist/lottie_api\");\n\nvar _lottie_api2 = _interopRequireDefault(_lottie_api);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Lottie = function (_React$Component) {\n (0, _inherits3.default)(Lottie, _React$Component);\n\n function Lottie() {\n (0, _classCallCheck3.default)(this, Lottie);\n return (0, _possibleConstructorReturn3.default)(this, (Lottie.__proto__ || (0, _getPrototypeOf2.default)(Lottie)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(Lottie, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _props = this.props,\n options = _props.options,\n eventListeners = _props.eventListeners;\n var loop = options.loop,\n autoplay = options.autoplay,\n animationData = options.animationData,\n path = options.path,\n _options$renderer = options.renderer,\n renderer = _options$renderer === undefined ? \"svg\" : _options$renderer,\n rendererSettings = options.rendererSettings,\n assetsPath = options.assetsPath;\n\n\n this.options = {\n container: this.el,\n path: path,\n renderer: renderer,\n loop: loop !== false,\n autoplay: autoplay !== false,\n animationData: animationData,\n rendererSettings: rendererSettings,\n assetsPath: assetsPath\n };\n\n this.options = (0, _extends3.default)({}, this.options, options);\n\n this.anim = _lottieWeb2.default.loadAnimation(this.options);\n this.setSpeed();\n this.setDirection();\n this.animApi = _lottie_api2.default.createAnimationApi(this.anim);\n this.registerEvents(eventListeners);\n this.setAnimationControl();\n\n if (this.props.isStopped) {\n this.stops();\n } else if (this.props.segments) {\n this.playSegments(true);\n } else {\n this.play();\n }\n }\n }, {\n key: \"componentWillUpdate\",\n value: function componentWillUpdate(nextProps /* , nextState */) {\n /* Recreate the animation handle if the data is changed */\n if (this.options.animationData !== nextProps.options.animationData) {\n this.deRegisterEvents(this.props.eventListeners);\n this.destroy();\n this.options = (0, _extends3.default)({}, this.options, nextProps.options);\n this.anim = _lottieWeb2.default.loadAnimation(this.options);\n this.animApi = _lottie_api2.default.createAnimationApi(this.anim);\n this.registerEvents(nextProps.eventListeners);\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.props.options.loop !== undefined) {\n this.anim.loop = this.props.options.loop;\n }\n\n if (this.props.isStopped) {\n this.stop();\n } else if (this.props.segments) {\n if ((0, _stringify2.default)(this.props.segments) === (0, _stringify2.default)(prevProps.segments)) {\n return;\n }\n this.playSegments(this.props.forceSegments);\n } else {\n this.play();\n }\n\n this.setAnimationControl();\n this.pause();\n this.setSpeed();\n this.setDirection();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.deRegisterEvents(this.props.eventListeners);\n this.destroy();\n this.options.animationData = null;\n this.anim = null;\n this.animApi = null;\n }\n }, {\n key: \"setSpeed\",\n value: function setSpeed() {\n this.anim.setSpeed(this.props.speed);\n }\n }, {\n key: \"setDirection\",\n value: function setDirection() {\n this.anim.setDirection(this.props.direction);\n }\n }, {\n key: \"setAnimationControl\",\n value: function setAnimationControl() {\n var _this2 = this;\n\n var animationControl = this.props.animationControl;\n\n if (animationControl) {\n var properties = (0, _keys2.default)(animationControl);\n\n properties.forEach(function (property) {\n var propertyPath = _this2.animApi.getKeyPath(property);\n var value = animationControl[property];\n _this2.animApi.addValueCallback(propertyPath, function () {\n return value;\n });\n });\n }\n }\n }, {\n key: \"play\",\n value: function play() {\n this.anim.play();\n }\n }, {\n key: \"playSegments\",\n value: function playSegments(shouldForce) {\n this.anim.playSegments(this.props.segments, shouldForce);\n }\n }, {\n key: \"stop\",\n value: function stop() {\n this.anim.stop();\n }\n }, {\n key: \"pause\",\n value: function pause() {\n if (this.props.isPaused && !this.anim.isPaused) {\n this.anim.pause();\n } else if (!this.props.isPaused && this.anim.isPaused) {\n this.anim.pause();\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.anim.destroy();\n }\n }, {\n key: \"registerEvents\",\n value: function registerEvents(eventListeners) {\n var _this3 = this;\n\n eventListeners.forEach(function (eventListener) {\n _this3.anim.addEventListener(eventListener.eventName, eventListener.callback);\n });\n }\n }, {\n key: \"deRegisterEvents\",\n value: function deRegisterEvents(eventListeners) {\n var _this4 = this;\n\n eventListeners.forEach(function (eventListener) {\n _this4.anim.removeEventListener(eventListener.eventName, eventListener.callback);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this5 = this;\n\n var _props2 = this.props,\n width = _props2.width,\n height = _props2.height,\n ariaRole = _props2.ariaRole,\n ariaLabel = _props2.ariaLabel,\n title = _props2.title,\n tabIndex = _props2.tabIndex;\n\n\n var getSize = function getSize(initial) {\n var size = void 0;\n\n if (typeof initial === 'number') {\n size = initial + \"px\";\n } else {\n size = initial || '100%';\n }\n\n return size;\n };\n\n var lottieStyles = (0, _extends3.default)({\n width: getSize(width),\n height: getSize(height),\n overflow: 'hidden',\n margin: '0 auto',\n outline: 'none'\n }, this.props.style);\n\n return (\n // Bug with eslint rules https://github.com/airbnb/javascript/issues/1374\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n _react2.default.createElement(\"div\", {\n ref: function ref(c) {\n _this5.el = c;\n },\n style: lottieStyles,\n title: title,\n role: ariaRole,\n \"aria-label\": ariaLabel,\n tabIndex: tabIndex\n })\n );\n }\n }]);\n return Lottie;\n}(_react2.default.Component);\n\nexports.default = Lottie;\n\n\nLottie.propTypes = {\n eventListeners: _propTypes2.default.arrayOf(_propTypes2.default.object),\n options: _propTypes2.default.object.isRequired,\n height: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n isStopped: _propTypes2.default.bool,\n isPaused: _propTypes2.default.bool,\n speed: _propTypes2.default.number,\n segments: _propTypes2.default.arrayOf(_propTypes2.default.number),\n forceSegments: _propTypes2.default.bool,\n direction: _propTypes2.default.number,\n ariaRole: _propTypes2.default.string,\n ariaLabel: _propTypes2.default.string,\n title: _propTypes2.default.string,\n style: _propTypes2.default.string,\n tabIndex: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string])\n};\n\nLottie.defaultProps = {\n eventListeners: [],\n isStopped: false,\n isPaused: false,\n speed: 1,\n ariaRole: 'button',\n ariaLabel: 'animation',\n title: '',\n tabIndex: 0\n};","module.exports={v:\"5.5.7\",meta:{g:\"LottieFiles AE 0.1.20\",a:\"\",k:\"\",d:\"\",tc:\"\"},fr:60,ip:0,op:300,w:160,h:320,nm:\"arrow_trim\",ddd:0,assets:[{id:\"image_0\",w:320,h:640,u:\"\",p:\"data:image/png;base64,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\",e:1},{id:\"comp_0\",layers:[{ddd:0,ind:1,ty:4,nm:\"Top\",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[160,80,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,-100,100],ix:6}},ao:0,shapes:[{ty:\"gr\",it:[{ind:0,ty:\"sh\",ix:1,ks:{a:0,k:{i:[[0,0],[-64,0]],o:[[0,0],[64,0]],v:[[98.75,80],[160.188,8.5]],c:!1},ix:2},nm:\"Path 1\",mn:\"ADBE Vector Shape - Group\",hd:!1},{ty:\"st\",c:{a:0,k:[1,0,0,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:16,ix:5},lc:1,lj:1,ml:4,bm:0,nm:\"Stroke 1\",mn:\"ADBE Vector Graphic - Stroke\",hd:!1},{ty:\"fl\",c:{a:0,k:[1,1,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:\"Fill 1\",mn:\"ADBE Vector Graphic - Fill\",hd:!1},{ty:\"tr\",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:\"Transform\"}],nm:\"Shape 1\",np:3,cix:2,bm:0,ix:1,mn:\"ADBE Vector Group\",hd:!1},{ty:\"tm\",s:{a:1,k:[{i:{x:[.53],y:[1]},o:{x:[.333],y:[0]},t:232,s:[0]},{t:270,s:[100]}],ix:1},e:{a:1,k:[{i:{x:[.433],y:[1]},o:{x:[.456],y:[0]},t:30,s:[0]},{t:143,s:[100]}],ix:2},o:{a:0,k:0,ix:3},m:1,ix:2,nm:\"Trim Paths 1\",mn:\"ADBE Vector Filter - Trim\",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:\"Bottom\",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[160,80,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:\"gr\",it:[{ind:0,ty:\"sh\",ix:1,ks:{a:0,k:{i:[[0,0],[-64,0]],o:[[0,0],[64,0]],v:[[98.75,80],[160.188,8.5]],c:!1},ix:2},nm:\"Path 1\",mn:\"ADBE Vector Shape - Group\",hd:!1},{ty:\"st\",c:{a:0,k:[1,0,0,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:16,ix:5},lc:1,lj:1,ml:4,bm:0,nm:\"Stroke 1\",mn:\"ADBE Vector Graphic - Stroke\",hd:!1},{ty:\"fl\",c:{a:0,k:[1,1,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:\"Fill 1\",mn:\"ADBE Vector Graphic - Fill\",hd:!1},{ty:\"tr\",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:\"Transform\"}],nm:\"Shape 1\",np:3,cix:2,bm:0,ix:1,mn:\"ADBE Vector Group\",hd:!1},{ty:\"tm\",s:{a:1,k:[{i:{x:[.53],y:[1]},o:{x:[.333],y:[0]},t:232,s:[0]},{t:270,s:[100]}],ix:1},e:{a:1,k:[{i:{x:[.433],y:[1]},o:{x:[.456],y:[0]},t:30,s:[0]},{t:143,s:[100]}],ix:2},o:{a:0,k:0,ix:3},m:1,ix:2,nm:\"Trim Paths 1\",mn:\"ADBE Vector Filter - Trim\",hd:!1}],ip:0,op:300,st:0,bm:0},{ddd:0,ind:3,ty:4,nm:\"tail\",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[160,80,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:\"gr\",it:[{ind:0,ty:\"sh\",ix:1,ks:{a:0,k:{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-160,-.5],[160.125,-.5]],c:!1},ix:2},nm:\"Path 1\",mn:\"ADBE Vector Shape - Group\",hd:!1},{ty:\"st\",c:{a:0,k:[1,0,0,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:4,ix:5},lc:1,lj:1,ml:4,bm:0,nm:\"Stroke 1\",mn:\"ADBE Vector Graphic - Stroke\",hd:!1},{ty:\"fl\",c:{a:0,k:[1,1,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:\"Fill 1\",mn:\"ADBE Vector Graphic - Fill\",hd:!1},{ty:\"tr\",p:{a:0,k:[0,.5],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:\"Transform\"}],nm:\"Shape 1\",np:3,cix:2,bm:0,ix:1,mn:\"ADBE Vector Group\",hd:!1},{ty:\"tm\",s:{a:1,k:[{i:{x:[.141],y:[1]},o:{x:[.333],y:[0]},t:232,s:[0]},{t:270,s:[100]}],ix:1},e:{a:1,k:[{i:{x:[.093],y:[1]},o:{x:[.301],y:[0]},t:30,s:[0]},{t:143,s:[100]}],ix:2},o:{a:0,k:0,ix:3},m:1,ix:2,nm:\"Trim Paths 1\",mn:\"ADBE Vector Filter - Trim\",hd:!1}],ip:0,op:300,st:0,bm:0}]}],layers:[{ddd:0,ind:1,ty:0,nm:\"Lines_arrow\",td:1,refId:\"comp_0\",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:90,ix:10},p:{a:0,k:[80,160,0],ix:2},a:{a:0,k:[160,80,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,w:320,h:160,ip:0,op:300,st:0,bm:0},{ddd:0,ind:2,ty:2,nm:\"Arrow.ai\",cl:\"ai\",tt:1,refId:\"image_0\",sr:1,ks:{o:{a:1,k:[{i:{x:[.833],y:[1]},o:{x:[.167],y:[0]},t:241,s:[100]},{t:270,s:[0]}],ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[80,160,0],ix:2},a:{a:0,k:[160,320,0],ix:1},s:{a:0,k:[50,50,100],ix:6}},ao:0,ip:0,op:300,st:0,bm:0}],markers:[]};","module.exports={v:\"5.5.7\",meta:{g:\"LottieFiles AE 0.1.20\",a:\"\",k:\"\",d:\"\",tc:\"\"},fr:60,ip:0,op:240,w:360,h:360,nm:\"eye_animation_minimal\",ddd:0,assets:[{id:\"image_0\",w:38,h:36,u:\"\",p:\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAkCAYAAADl9UilAAAC0ElEQVRYR72YTYhOURjHf38hQigWDCvJBhsmJWWBmmxGo4SN8lEUKUUUK5RYIhtkg2JBs7EZH5spTZOPWGkike98bCajePSM807v3Hnve8+9771Ovb2L+3/+z//ec85z/ucRLQ4zmwnMDb97kn63SDkcrrwkZjYV6AA2AOsBF1YbbZLe5eVshI8WZmbTgIPAAWBKSvJ2Sf3/TZiZ7QJOArMzknZK6q5cmJlNBC4A2yOTHZN0IhLbFJY6lWFR+9uvypGoX1J7DnwqtKEwMxsP3AHWFkgyX9LbAnGjQtKEnQX2FiQ/IulUwdiRsDHCzMzLwK0WiL8BCyT5f+ExSliYwufAosKM/wLPSDrUCkdS2O6wC1vh9NghYKWkR0WJksIGfBqKkiXifAN4wf1QhG9EmJktBp4VIWkS8xBYI2kwL2+9sKPA8bwEEfjHgJ8IbyKwY3elmT0AVucJzoH9CGyU1BsbU//FylxfjfL/Aa4Cfmy9zhJYL8zXweSsgBKe+469CNwAetP827AwM5sOfC8haV6KL+HoewG4j/PffUlDNWHuIn4WMY55lUTgZ0j6UT+Vn4FZEYFVQgYlDZvQemFPgaVVZo3gHpC0MCnsOrA5IrhKSLekzqSwLcC1KrNGcO+UdCkpzHemr7MJEQRVQLzOzZH0aZSwUDZu+/FRRdYIzh5J62q4pLtYAjwBxkUQlQ1ZIamvobDw1a4A28rOmsF3U9Kmekwja90GuCPIukOWpd0t+DJJr5oKC1/Nr2x3AT8Rqhze5+iQ1JNM0uxeuSMctlUK2yfpXKMETXsXZrYV8LoyqWR1v4A9ki6n8WY2VczMb9ZeRrzVVMbwOtWVZRozhYU158X3MLC/Bc/mPuy8N2ckfc16wyhhNRIz8x3r98UuYF4WeXj+PlygT8c419Q6FpnMzeXy0Ljz616to+gvWjN8L4MJ7JNksbwtC8ubKC/+L097zCUmG3UNAAAAAElFTkSuQmCC\",e:1},{id:\"comp_0\",layers:[{ddd:0,ind:1,ty:2,nm:\"eye_inside.png\",cl:\"png\",parent:2,refId:\"image_0\",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[.238,8.386,0],ix:2},a:{a:0,k:[19,18,0],ix:1},s:{a:1,k:[{i:{x:[.267,.267,.667],y:[1,1,1]},o:{x:[.61,.61,.333],y:[0,0,0]},t:10,s:[0,0,100]},{t:30,s:[35.896,35.896,100]}],ix:6}},ao:0,ip:0,op:600,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:\"eye_circle\",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:360,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.714,y:0},t:80,s:[180.011,188.574,0],to:[-2.583,0,0],ti:[6.228,0,0]},{i:{x:.272,y:1},o:{x:.831,y:0},t:102,s:[165.687,188.574,0],to:[-10.246,0,0],ti:[0,0,0]},{i:{x:.018,y:1},o:{x:.333,y:0},t:172,s:[195.687,188.574,0],to:[0,0,0],ti:[6.833,0,0]},{t:190,s:[180.011,188.574,0]}],ix:2},a:{a:0,k:[.25,7.938,0],ix:1},s:{a:0,k:[95,95,100],ix:6}},ao:0,shapes:[{ty:\"gr\",it:[{d:1,ty:\"el\",s:{a:0,k:[30.477,30.477],ix:2},p:{a:0,k:[0,0],ix:3},nm:\"Ellipse Path 1\",mn:\"ADBE Vector Shape - Ellipse\",hd:!1},{ty:\"st\",c:{a:0,k:[1,1,1,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:5,ix:5},lc:2,lj:1,ml:4,bm:0,nm:\"Stroke 1\",mn:\"ADBE Vector Graphic - Stroke\",hd:!1},{ty:\"tr\",p:{a:0,k:[.239,7.989],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:\"Transform\"}],nm:\"Ellipse 1\",np:3,cix:2,bm:0,ix:1,mn:\"ADBE Vector Group\",hd:!1},{ty:\"tm\",s:{a:0,k:0,ix:1},e:{a:1,k:[{i:{x:[.517],y:[1]},o:{x:[.465],y:[0]},t:10,s:[0]},{t:30,s:[100]}],ix:2},o:{a:0,k:0,ix:3},m:1,ix:2,nm:\"Trim Paths 1\",mn:\"ADBE Vector Filter - Trim\",hd:!1}],ip:0,op:600,st:0,bm:0}]}],layers:[{ddd:0,ind:1,ty:0,nm:\"pupille\",refId:\"comp_0\",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[180,179,0],ix:2},a:{a:0,k:[180,180,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,hasMask:!0,masksProperties:[{inv:!1,mode:\"a\",pt:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},t:180,s:[{i:[[23,0],[0,0],[-25.75,0],[0,0]],o:[[-23,0],[0,0],[25.75,0],[0,0]],v:[[180,173.25],[150,189],[179.25,203.25],[210,188.5]],c:!0}]},{i:{x:.667,y:1},o:{x:.333,y:0},t:188,s:[{i:[[23,0],[0,0],[-25.75,0],[0,0]],o:[[-23,0],[0,0],[25.75,0],[0,0]],v:[[180,203],[150,203.131],[179.25,203.25],[210,203.127]],c:!0}]},{t:195,s:[{i:[[23,0],[0,0],[-25.75,0],[0,0]],o:[[-23,0],[0,0],[25.75,0],[0,0]],v:[[180,173.25],[150,189],[179.25,203.25],[210,188.5]],c:!0}]}],ix:1},o:{a:0,k:100,ix:3},x:{a:0,k:0,ix:4},nm:\"Mask 1\"}],w:360,h:360,ip:0,op:600,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:\"eyebrow\",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},t:180,s:[180,163.75,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},t:188,s:[180,167.5,0],to:[0,0,0],ti:[0,0,0]},{t:195,s:[180,163.75,0]}],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:\"gr\",it:[{ind:0,ty:\"sh\",ix:1,ks:{a:0,k:{i:[[0,0],[-20.5,0],[0,0]],o:[[0,0],[20.5,0],[0,0]],v:[[-33.438,7.375],[-.125,-6.25],[33.75,7.562]],c:!1},ix:2},nm:\"Path 1\",mn:\"ADBE Vector Shape - Group\",hd:!1},{ty:\"st\",c:{a:0,k:[1,1,1,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:5,ix:5},lc:2,lj:1,ml:4,bm:0,nm:\"Stroke 1\",mn:\"ADBE Vector Graphic - Stroke\",hd:!1},{ty:\"tr\",p:{a:0,k:[0,9.13],ix:2},a:{a:0,k:[0,8.693],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:\"Transform\"}],nm:\"Shape 1\",np:3,cix:2,bm:0,ix:1,mn:\"ADBE Vector Group\",hd:!1},{ty:\"tm\",s:{a:0,k:0,ix:1},e:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:10,s:[0]},{t:35,s:[100]}],ix:2},o:{a:0,k:0,ix:3},m:1,ix:2,nm:\"Trim Paths 1\",mn:\"ADBE Vector Filter - Trim\",hd:!1}],ip:0,op:240,st:0,bm:0},{ddd:0,ind:3,ty:4,nm:\"top\",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[180.208,188.375,0],ix:2},a:{a:0,k:[0,9.375,0],ix:1},s:{a:1,k:[{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:180,s:[-100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:187.5,s:[-100,-90,100]},{t:195,s:[-100,100,100]}],ix:6}},ao:0,shapes:[{ty:\"gr\",it:[{ind:0,ty:\"sh\",ix:1,ks:{a:0,k:{i:[[0,0],[-20.5,0],[0,0]],o:[[0,0],[20.5,0],[0,0]],v:[[-29.625,8.75],[-.125,-6.25],[29.938,8.375]],c:!1},ix:2},nm:\"Path 1\",mn:\"ADBE Vector Shape - Group\",hd:!1},{ty:\"st\",c:{a:0,k:[1,1,1,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:5,ix:5},lc:2,lj:1,ml:4,bm:0,nm:\"Stroke 1\",mn:\"ADBE Vector Graphic - Stroke\",hd:!1},{ty:\"tr\",p:{a:0,k:[0,9.13],ix:2},a:{a:0,k:[0,8.693],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:\"Transform\"}],nm:\"Shape 1\",np:3,cix:2,bm:0,ix:1,mn:\"ADBE Vector Group\",hd:!1},{ty:\"tm\",s:{a:0,k:0,ix:1},e:{a:1,k:[{i:{x:[.381],y:[1]},o:{x:[.351],y:[.281]},t:1,s:[0]},{t:25,s:[100]}],ix:2},o:{a:0,k:0,ix:3},m:1,ix:2,nm:\"Trim Paths 1\",mn:\"ADBE Vector Filter - Trim\",hd:!1}],ip:0,op:240,st:0,bm:0},{ddd:0,ind:4,ty:4,nm:\"bottom\",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[179.896,197.5,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,-100,100],ix:6}},ao:0,shapes:[{ty:\"gr\",it:[{ind:0,ty:\"sh\",ix:1,ks:{a:0,k:{i:[[0,0],[-20.5,0],[0,0]],o:[[0,0],[20.5,0],[0,0]],v:[[-29.625,8.75],[-.125,-6.25],[29.938,8.375]],c:!1},ix:2},nm:\"Path 1\",mn:\"ADBE Vector Shape - Group\",hd:!1},{ty:\"st\",c:{a:0,k:[1,1,1,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:5,ix:5},lc:2,lj:1,ml:4,bm:0,nm:\"Stroke 1\",mn:\"ADBE Vector Graphic - Stroke\",hd:!1},{ty:\"tr\",p:{a:0,k:[0,.438],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:\"Transform\"}],nm:\"Shape 1\",np:3,cix:2,bm:0,ix:1,mn:\"ADBE Vector Group\",hd:!1},{ty:\"tm\",s:{a:0,k:0,ix:1},e:{a:1,k:[{i:{x:[.381],y:[1]},o:{x:[.351],y:[.281]},t:1,s:[0]},{t:25,s:[100]}],ix:2},o:{a:0,k:0,ix:3},m:1,ix:2,nm:\"Trim Paths 1\",mn:\"ADBE Vector Filter - Trim\",hd:!1}],ip:0,op:240,st:0,bm:0},{ddd:0,ind:5,ty:4,nm:\"black circle\",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[180.352,179.633,0],ix:2},a:{a:0,k:[21,12,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:\"gr\",it:[{d:1,ty:\"el\",s:{a:0,k:[360.854,360.854],ix:2},p:{a:0,k:[0,0],ix:3},nm:\"Ellipse Path 1\",mn:\"ADBE Vector Shape - Ellipse\",hd:!1},{ty:\"st\",c:{a:0,k:[1,0,0,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:0,ix:5},lc:1,lj:1,ml:4,bm:0,nm:\"Stroke 1\",mn:\"ADBE Vector Graphic - Stroke\",hd:!1},{ty:\"fl\",c:{a:0,k:[.074509803922,.074509803922,.074509803922,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:\"Fill 1\",mn:\"ADBE Vector Graphic - Fill\",hd:!1},{ty:\"tr\",p:{a:0,k:[20.648,12.367],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:\"Transform\"}],nm:\"Ellipse 1\",np:3,cix:2,bm:0,ix:1,mn:\"ADBE Vector Group\",hd:!1}],ip:0,op:240,st:0,bm:0}],markers:[]};","import React from \"react\";\nimport Lottie from \"lottie-react-web\";\nimport animationData from \"./arrow.json\";\nimport animationDataEye from \"./eye.json\";\nimport style from \"./style.module.css\";\n\nexport const Eye = () => {\n return (\n
\n \n
\n );\n};\n\nexport const Arrow = ({\n className,\n onClick,\n}: {\n onClick: () => void;\n className: string;\n}) => {\n return (\n \n \n \n );\n};\n\nexport const ArrowUp = ({\n className,\n onClick,\n}: {\n onClick: () => void;\n className: string;\n}) => {\n return (\n \n \n \n );\n};\n","import React from \"react\";\nimport style from \"./style.module.css\";\nimport Links from \"./links\";\nimport { ArrowUp } from \"../shared\";\nimport { Link } from \"react-router-dom\";\n\nexport default function () {\n return (\n
\n \n ©\n \n \n
\n

\n Design and AD by{\" \"}\n Alexandre Gellard\n

\n

\n Built by Made in Moon\n

\n
\n \n document\n .getElementById(\"scrollable\")\n ?.scrollTo({ top: 0, behavior: \"smooth\" })\n }\n />\n
\n );\n}\n","module.exports=[{title:\"Bulles de Cristal\",year:\"2019\",dimension:\"100cm x 100cm\",technique:\"Technique mixte sur toile résinée\",description:\"Moi je joue, \\n je veux jouer à joue contre vous, \\n de tout coeur, \\n de veux gagner ce coeur à coeur \\n vous connaissez mon jeu par coeur ...\",available:!0,price:\"2300€\",source:\"/galerie/Bullesdecristal_100x100_2020.jpg\"},{title:\"Comme un Coucher de Soleil en Plein Jour\",year:\"2021\",dimension:\" 114cm x 146cm\",technique:\"Technique mixte sur toile résinée\",description:\"Un élan, \\n une envie, \\n un baiser, \\n c’est l’été !\",available:!0,price:\"2900€\",source:\"/galerie/Comme un coucher de soleil en plein jour 114x146 2021.jpeg\"},{title:\"Derrière le Store\",year:\"2021\",dimension:\"100cm x 120cm\",technique:\"Technique mixte sur toile résinée\",description:\"Le temps est bon, \\n le ciel est bleu, \\n j’ai deux amis, \\n qui sont aussi mes amoureux … \",available:!0,price:\"2500€\",source:\"/galerie/Derrierelestore_100x120_2020.jpg\"},{title:\"Écoute ton Cœur\",year:\"2019\",dimension:\"114cm x 146cm\",technique:\"Technique mixte sur toile résinée\",description:\"Dites-le-moi du bout des lèvres \\n je l'entendrai du bout du cœur \\n vos cris me dérangent \\n je rêve …\",available:!0,price:\"2900€\",source:\"/galerie/ecoutetoncoeur_114x146_2019.jpg\"},{title:\"En Route Mauvaise Troupe\",year:\"2021\",dimension:\"95cm x 130cm\",technique:\"Technique mixte sur toile résinée\",description:\"Emmenez-moi \\n au bout de la terre \\n emmenez-moi \\n au pays des merveilles … \",available:!0,price:\"2300€\",source:\"/galerie/En route mauvaise troupe 95x130.jpeg\"},{title:\"Gueule de Star\",year:\"2019\",dimension:\"97cm x 130cm\",technique:\"Technique mixte sur toile résinée\",description:\"L’ amour est enfant de bohème\\nIl n’a jamais jamais connu de loi\\nSi tu ne m’aimes pas, je t’aime\\nEt si je t’aime, prends garde à toi ...\",available:!1,price:\"2700€\",source:\"/galerie/Gueule de Star 97x130 2019.jpg\"},{title:\"Harmonie\",year:\"2020\",dimension:\"100cm x 120cm\",technique:\"Technique mixte sur toile résinée\",description:\" Je suis en amour \\n je n’ai jamais su dire non à l’amour \\n je suis en amour \\n comment résister à l’amour…\",available:!1,price:\"2500€\",source:\"/galerie/Harmonie 100x120 2020.jpg\"},{title:\"Illusion\",year:\"2019\",dimension:\"100cm x 120cm\",technique:\"Technique mixte sur toile résinée\",description:\"Tous les jours \\n tu me demandes si je t'aime toujours \\n mon amour \\n tu es l'homme je suis faite pour...\",available:!1,price:\"2500€\",source:\"/galerie/illusion 100x120 2019.jpg\"},{title:\"STONE\",year:\"2021\",dimension:\"120cm x 150cm\",technique:\"Technique mixte sur toile résinée\",description:\"Tu veux \\n ou tu veux pas ? \\n tu veux c'est bien \\n si tu veux pas tant pis … \",available:!1,price:\"2900€\",source:\"/galerie/STONE 120x150 2021.JPG\"},{title:\"Je Fais mon Cinéma\",year:\"2021\",dimension:\"100cm x 120cm\",technique:\"Technique mixte sur toile résinée\",description:\"Paroles et paroles et paroles \\n écoutes moi \\n paroles et paroles et encore des paroles \\n que tu sèmes au vent … \",available:!0,price:\"2500€\",source:\"/galerie/jefaismoncinema_100x120.jpg\"},{title:\"Le Mystère de la Joie\",year:\"2019\",dimension:\"114cm x 146cm\",technique:\"Technique mixte sur toile résinée\",description:\"Don’t worry, be happy \\n in every life we have some trouble \\n but when you worry you make it double \\n don't worry \\n be happy now…\",available:!0,price:\"2900€\",source:\"/galerie/LemysteredelaJoie_114x146 2019.jpg\"},{title:\"Le Voyage de BB\",year:\"2021\",dimension:\"80cm x 100cm\",technique:\"Technique mixte sur toile résinée\",description:\"Y’a de la joie \\n bonjour bonjour les hirondelles \\n y a d'la joie \\n dans le ciel par dessus le toit…\",available:!0,price:\"1800€\",source:\"/galerie/Le voyage de BB 80 x100 2021.jpeg\"},{title:\"Les Baigneuses\",year:\"2019\",dimension:\"97cm x 130cm\",technique:\"Technique mixte sur toile résinée\",description:\"Tout doux, tout doux, tout doucement \\n toujours, tout doux, tout doucement \\n comme ça \\n la vie je la comprends …\",available:!1,price:\"2500€\",source:\"/galerie/Les baigneuses 97x130 2019.jpg\"},{title:\"Ma Vie en Liberté\",year:\"2019\",dimension:\"114cm x 146cm\",technique:\"Technique mixte sur toile résinée\",description:\"Petit poisson tourne en eau claire \\n poison doré dans bulle de verre \\n tourne en rond, \\n tourne à vide\",available:!1,price:\"2900€\",source:\"/galerie/mavieenLiberte_114x146 2019.jpg\"},{title:\"Oup's\",year:\"2019\",dimension:\"100cm x 120cm\",technique:\"Technique mixte sur toile résinée\",description:\"Tu n'es pas seule, qu'est-ce que tu crois? \\n tu peux te reposer sur moi \\n tu n'es pas seule écoute-moi \\n tu peux te reposer sur moi, ça ira … \",available:!1,price:\"2500€\",source:\"/galerie/Oup_s 100x120 2019.jpg\"},{title:\"Rouge Baiser\",year:\"2017\",dimension:\"100cm x 120cm\",technique:\"Technique mixte sur toile résinée\",description:\"Je suis une poupée de cire \\n suis-je meilleure, suis-je pire \\n qu'une poupée de salon? \\n poupée de cire, poupée de son…\",available:!1,price:\"2500€\",source:\"/galerie/rouge baiser 100X120 2017.jpg\"},{title:\"Salut Coin Coin\",year:\"2021\",dimension:\"80cm x 100cm\",technique:\"Technique mixte sur toile résinée\",description:\"On nous cache tout \\n on nous dit rien \\n plus on apprend \\n plus on ne sait rien...\",available:!1,price:\"2000€\",source:\"/galerie/Salut Coin Coin 80x100 2021.jpeg\"},{title:\"Sincérité\",year:\"2020\",dimension:\"100cm x 120cm\",technique:\"Technique mixte sur toile résinée\",description:\"C’est le temps de l'amour \\n le temps des copains \\n et de l'aventure \\n quand le temps va et vient…\",available:!0,price:\"2500€\",source:\"/galerie/Sincerite_100x120_2020.jpg\"},{title:\"WHAT?\",year:\"2020\",dimension:\"100cm x 120cm\",technique:\"Technique mixte sur toile résinée\",description:\"On ne peut pas changer le monde \\n mais c'est bon d'y croire une seconde \\n aimons-nous vivants Maintenant \\n n'attendons pas que la mort nous trouve du talent…\",available:!1,price:\"2500€\",source:\"/galerie/WHAT ! 100x120 2020.jpg\"}];","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { createContext, useContext, useMemo, createElement } from 'react';\nimport { __rest, __spread } from 'tslib';\n\n/**\n * @public\n */\nvar MotionConfigContext = createContext({\n transformPagePoint: function (p) { return p; },\n features: [],\n isStatic: false,\n});\n/**\n * MotionConfig can be used in combination with the `m` component to cut bundle size\n * and dynamically load only the features you use.\n *\n * ```jsx\n * import {\n * m as motion,\n * AnimationFeature,\n * MotionConfig\n * } from \"framer-motion\"\n *\n * export function App() {\n * return (\n * \n * \n * \n * )\n * }\n * ```\n *\n * @public\n */\nfunction MotionConfig(_a) {\n var children = _a.children, _b = _a.features, features = _b === void 0 ? [] : _b, transition = _a.transition, props = __rest(_a, [\"children\", \"features\", \"transition\"]);\n var pluginContext = useContext(MotionConfigContext);\n var loadedFeatures = __spread(new Set(__spread(pluginContext.features, features)));\n // We do want to rerender children when the number of loaded features changes\n var value = useMemo(function () { return ({\n features: loadedFeatures,\n transition: transition || pluginContext.transition,\n }); }, [loadedFeatures.length, transition]);\n // Mutative to prevent triggering rerenders in all listening\n // components every time this component renders\n for (var key in props) {\n value[key] = props[key];\n }\n return (createElement(MotionConfigContext.Provider, { value: value }, children));\n}\n\nexport { MotionConfig, MotionConfigContext };\n","import { createContext } from 'react';\n\n/**\n * @public\n */\nvar PresenceContext = createContext(null);\n\nexport { PresenceContext };\n","import { useRef } from 'react';\n\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 */\nfunction useConstant(init) {\n var ref = useRef(null);\n if (ref.current === null) {\n ref.current = init();\n }\n return ref.current;\n}\n\nexport { useConstant };\n","import { useContext, useEffect } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.js';\nimport { useConstant } from '../../utils/use-constant.js';\n\n/**\n * When a component is the child of `AnimatePresence`, it can use `usePresence`\n * to access information about whether it's still present in the React tree.\n *\n * ```jsx\n * import { usePresence } from \"framer-motion\"\n *\n * export const Component = () => {\n * const [isPresent, safeToRemove] = usePresence()\n *\n * useEffect(() => {\n * !isPresent && setTimeout(safeToRemove, 1000)\n * }, [isPresent])\n *\n * return
\n * }\n * ```\n *\n * If `isPresent` is `false`, it means that a component has been removed the tree, but\n * `AnimatePresence` won't really remove it until `safeToRemove` has been called.\n *\n * @public\n */\nfunction usePresence() {\n var context = useContext(PresenceContext);\n if (context === null)\n return [true, null];\n var isPresent = context.isPresent, onExitComplete = context.onExitComplete, register = context.register;\n // It's safe to call the following hooks conditionally (after an early return) because the context will always\n // either be null or non-null for the lifespan of the component.\n // Replace with useOpaqueId when released in React\n var id = useUniqueId();\n useEffect(function () { return register(id); }, []);\n var safeToRemove = function () { return onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete(id); };\n return !isPresent && onExitComplete ? [false, safeToRemove] : [true];\n}\n/**\n * Similar to `usePresence`, except `useIsPresent` simply returns whether or not the component is present.\n * There is no `safeToRemove` function.\n *\n * ```jsx\n * import { useIsPresent } from \"framer-motion\"\n *\n * export const Component = () => {\n * const isPresent = useIsPresent()\n *\n * useEffect(() => {\n * !isPresent && console.log(\"I've been removed!\")\n * }, [isPresent])\n *\n * return
\n * }\n * ```\n *\n * @public\n */\nfunction useIsPresent() {\n return isPresent(useContext(PresenceContext));\n}\nfunction isPresent(context) {\n return context === null ? true : context.isPresent;\n}\nvar counter = 0;\nvar incrementId = function () { return counter++; };\nvar useUniqueId = function () { return useConstant(incrementId); };\n\nexport { isPresent, useIsPresent, usePresence };\n","import { createContext } from 'react';\n\n/**\n * @internal\n */\nvar LayoutGroupContext = createContext(null);\n\nexport { LayoutGroupContext };\n","var Presence;\n(function (Presence) {\n Presence[Presence[\"Entering\"] = 0] = \"Entering\";\n Presence[Presence[\"Present\"] = 1] = \"Present\";\n Presence[Presence[\"Exiting\"] = 2] = \"Exiting\";\n})(Presence || (Presence = {}));\nvar VisibilityAction;\n(function (VisibilityAction) {\n VisibilityAction[VisibilityAction[\"Hide\"] = 0] = \"Hide\";\n VisibilityAction[VisibilityAction[\"Show\"] = 1] = \"Show\";\n})(VisibilityAction || (VisibilityAction = {}));\n\nexport { Presence, VisibilityAction };\n","import { Presence } from '../types.js';\n\n/**\n * Default handlers for batching VisualElements\n */\nvar defaultHandler = {\n measureLayout: function (child) { return child.updateLayoutMeasurement(); },\n layoutReady: function (child) { return child.notifyLayoutReady(); },\n};\n/**\n * Create a batcher to process VisualElements\n */\nfunction createBatcher() {\n var queue = new Set();\n return {\n add: function (child) { return queue.add(child); },\n flush: function (_a) {\n var _b = _a === void 0 ? defaultHandler : _a, measureLayout = _b.measureLayout, layoutReady = _b.layoutReady, parent = _b.parent;\n var order = Array.from(queue).sort(function (a, b) { return a.depth - b.depth; });\n var resetAndMeasure = function () {\n /**\n * Write: Reset any transforms on children elements so we can read their actual layout\n */\n order.forEach(function (child) { return child.resetTransform(); });\n /**\n * Read: Measure the actual layout\n */\n order.forEach(measureLayout);\n };\n parent\n ? parent.withoutTransform(resetAndMeasure)\n : resetAndMeasure();\n /**\n * Write: Notify the VisualElements they're ready for further write operations.\n */\n order.forEach(layoutReady);\n /**\n * After all children have started animating, ensure any Entering components are set to Present.\n * If we add deferred animations (set up all animations and then start them in two loops) this\n * could be moved to the start loop. But it needs to happen after all the animations configs\n * are generated in AnimateSharedLayout as this relies on presence data\n */\n order.forEach(function (child) {\n if (child.isPresent)\n child.presence = Presence.Present;\n });\n queue.clear();\n },\n };\n}\n\nexport { createBatcher };\n","import { createContext } from 'react';\nimport { createBatcher } from '../components/AnimateSharedLayout/utils/batcher.js';\n\nvar SharedLayoutContext = createContext(createBatcher());\n/**\n * @internal\n */\nvar FramerTreeLayoutContext = createContext(createBatcher());\nfunction isSharedLayout(context) {\n return !!context.forceUpdate;\n}\n\nexport { FramerTreeLayoutContext, SharedLayoutContext, isSharedLayout };\n","import { useContext, createElement } from 'react';\nimport { __spread, __assign } from 'tslib';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.js';\n\n/**\n * Load features via renderless components based on the provided MotionProps.\n * TODO: Look into porting this to a component-less appraoch.\n */\nfunction useFeatures(defaultFeatures, visualElement, props) {\n var plugins = useContext(MotionConfigContext);\n var allFeatures = __spread(defaultFeatures, plugins.features);\n var numFeatures = allFeatures.length;\n var features = [];\n // Decide which features we should render and add them to the returned array\n for (var i = 0; i < numFeatures; i++) {\n var _a = allFeatures[i], shouldRender = _a.shouldRender, key = _a.key, getComponent = _a.getComponent;\n if (shouldRender(props)) {\n var Component = getComponent(props);\n Component &&\n features.push(createElement(Component, __assign({ key: key }, props, { visualElement: visualElement })));\n }\n }\n return features;\n}\n\nexport { useFeatures };\n","import { useContext, createContext } from 'react';\n\nvar MotionContext = createContext({});\nfunction useVisualElementContext() {\n return useContext(MotionContext).visualElement;\n}\n\nexport { MotionContext, useVisualElementContext };\n","import { useLayoutEffect, useEffect } from 'react';\n\nvar isBrowser = typeof window !== \"undefined\";\nvar useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicLayoutEffect };\n","import { useContext } from 'react';\nimport { SharedLayoutContext, FramerTreeLayoutContext, isSharedLayout } from '../../../context/SharedLayoutContext.js';\nimport { useIsomorphicLayoutEffect } from '../../../utils/use-isomorphic-effect.js';\n\nfunction useSnapshotOnUnmount(visualElement) {\n var syncLayout = useContext(SharedLayoutContext);\n var framerSyncLayout = useContext(FramerTreeLayoutContext);\n useIsomorphicLayoutEffect(function () { return function () {\n if (isSharedLayout(syncLayout)) {\n syncLayout.remove(visualElement);\n }\n if (isSharedLayout(framerSyncLayout)) {\n framerSyncLayout.remove(visualElement);\n }\n }; }, []);\n}\n\nexport { useSnapshotOnUnmount };\n","import { useContext, useEffect } from 'react';\nimport { __assign } from 'tslib';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.js';\nimport { useVisualElementContext } from '../../context/MotionContext/index.js';\nimport { PresenceContext } from '../../context/PresenceContext.js';\nimport { useConstant } from '../../utils/use-constant.js';\nimport { isPresent } from '../../components/AnimatePresence/use-presence.js';\nimport { LayoutGroupContext } from '../../context/LayoutGroupContext.js';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.js';\nimport { useSnapshotOnUnmount } from '../features/layout/use-snapshot-on-unmount.js';\n\nfunction useLayoutId(_a) {\n var layoutId = _a.layoutId;\n var layoutGroupId = useContext(LayoutGroupContext);\n return layoutGroupId && layoutId !== undefined\n ? layoutGroupId + \"-\" + layoutId\n : layoutId;\n}\nfunction useVisualElement(isStatic, visualState, createVisualElement, props) {\n var config = useContext(MotionConfigContext);\n var parent = useVisualElementContext();\n var presenceContext = useContext(PresenceContext);\n var layoutId = useLayoutId(props);\n var visualElement = useConstant(function () {\n return createVisualElement(isStatic, {\n visualState: visualState,\n parent: parent,\n props: __assign(__assign({}, props), { layoutId: layoutId }),\n presenceId: presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.id,\n blockInitialAnimation: (presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.initial) === false,\n });\n });\n useIsomorphicLayoutEffect(function () {\n visualElement.setProps(__assign(__assign(__assign({}, config), props), { layoutId: layoutId }));\n visualElement.isPresent = isPresent(presenceContext);\n visualElement.isPresenceRoot =\n !parent || parent.presenceId !== (presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.id);\n /**\n * Fire a render to ensure the latest state is reflected on-screen.\n */\n visualElement.syncRender();\n });\n useEffect(function () {\n var _a;\n /**\n * In a future refactor we can replace the features-as-components and\n * have this loop through them all firing \"effect\" listeners\n */\n (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.animateChanges();\n });\n /**\n * If this component is a child of AnimateSharedLayout, we need to snapshot the component\n * before it's unmounted. This lives here rather than in features/layout/Measure because\n * as a child component its unmount effect runs after this component has been unmounted.\n */\n useSnapshotOnUnmount(visualElement);\n return visualElement;\n}\n\nexport { useVisualElement };\n","function isRefObject(ref) {\n return (typeof ref === \"object\" &&\n Object.prototype.hasOwnProperty.call(ref, \"current\"));\n}\n\nexport { isRefObject };\n","import { useCallback } from 'react';\nimport { isRefObject } from '../../utils/is-ref-object.js';\n\n/**\n * Creates a ref function that, when called, hydrates the provided\n * external ref and VisualElement.\n */\nfunction useMotionRef(visualState, visualElement, externalRef) {\n return useCallback(function (instance) {\n var _a;\n instance && ((_a = visualState.mount) === null || _a === void 0 ? void 0 : _a.call(visualState, instance));\n if (visualElement) {\n instance ? visualElement.mount(instance) : visualElement.unmount();\n }\n if (externalRef) {\n if (typeof externalRef === \"function\") {\n externalRef(instance);\n }\n else if (isRefObject(externalRef)) {\n externalRef.current = instance;\n }\n }\n }, []);\n}\n\nexport { useMotionRef };\n","/**\n * Decides if the supplied variable is an array of variant labels\n */\nfunction isVariantLabels(v) {\n return Array.isArray(v);\n}\n/**\n * Decides if the supplied variable is variant label\n */\nfunction isVariantLabel(v) {\n return typeof v === \"string\" || isVariantLabels(v);\n}\n/**\n * Creates an object containing the latest state of every MotionValue on a VisualElement\n */\nfunction getCurrent(visualElement) {\n var current = {};\n visualElement.forEachValue(function (value, key) { return (current[key] = value.get()); });\n return current;\n}\n/**\n * Creates an object containing the latest velocity of every MotionValue on a VisualElement\n */\nfunction getVelocity(visualElement) {\n var velocity = {};\n visualElement.forEachValue(function (value, key) { return (velocity[key] = value.getVelocity()); });\n return velocity;\n}\nfunction resolveVariantFromProps(props, definition, custom, currentValues, currentVelocity) {\n var _a;\n if (currentValues === void 0) { currentValues = {}; }\n if (currentVelocity === void 0) { currentVelocity = {}; }\n if (typeof definition === \"string\") {\n definition = (_a = props.variants) === null || _a === void 0 ? void 0 : _a[definition];\n }\n return typeof definition === \"function\"\n ? definition(custom !== null && custom !== void 0 ? custom : props.custom, currentValues, currentVelocity)\n : definition;\n}\nfunction resolveVariant(visualElement, definition, custom) {\n var props = visualElement.getProps();\n return resolveVariantFromProps(props, definition, custom !== null && custom !== void 0 ? custom : props.custom, getCurrent(visualElement), getVelocity(visualElement));\n}\nfunction checkIfControllingVariants(props) {\n var _a;\n return (typeof ((_a = props.animate) === null || _a === void 0 ? void 0 : _a.start) === \"function\" ||\n isVariantLabel(props.initial) ||\n isVariantLabel(props.animate) ||\n isVariantLabel(props.whileHover) ||\n isVariantLabel(props.whileDrag) ||\n isVariantLabel(props.whileTap) ||\n isVariantLabel(props.whileFocus) ||\n isVariantLabel(props.exit));\n}\nfunction checkIfVariantNode(props) {\n return Boolean(checkIfControllingVariants(props) || props.variants);\n}\n\nexport { checkIfControllingVariants, checkIfVariantNode, isVariantLabel, isVariantLabels, resolveVariant, resolveVariantFromProps };\n","import { checkIfControllingVariants, isVariantLabel } from '../../render/utils/variants.js';\n\nfunction getCurrentTreeVariants(props, context) {\n if (checkIfControllingVariants(props)) {\n var initial = props.initial, animate = props.animate;\n return {\n initial: initial === false || isVariantLabel(initial)\n ? initial\n : undefined,\n animate: isVariantLabel(animate) ? animate : undefined,\n };\n }\n return props.inherit !== false ? context : {};\n}\n\nexport { getCurrentTreeVariants };\n","import { useMemo, useContext } from 'react';\nimport { MotionContext } from './index.js';\nimport { getCurrentTreeVariants } from './utils.js';\n\nfunction useCreateMotionContext(props, isStatic) {\n var _a = getCurrentTreeVariants(props, useContext(MotionContext)), initial = _a.initial, animate = _a.animate;\n return useMemo(function () { return ({ initial: initial, animate: animate }); }, \n /**\n * Only break memoisation in static mode\n */\n isStatic\n ? [\n variantLabelsAsDependency(initial),\n variantLabelsAsDependency(animate),\n ]\n : []);\n}\nfunction variantLabelsAsDependency(prop) {\n return Array.isArray(prop) ? prop.join(\" \") : prop;\n}\n\nexport { useCreateMotionContext };\n","import { forwardRef, useContext, createElement, Fragment } from 'react';\nimport { MotionConfigContext } from '../context/MotionConfigContext.js';\nimport { useFeatures } from './features/use-features.js';\nimport { MotionContext } from '../context/MotionContext/index.js';\nimport { useVisualElement } from './utils/use-visual-element.js';\nimport { useMotionRef } from './utils/use-motion-ref.js';\nimport { useCreateMotionContext } from '../context/MotionContext/create.js';\n\n/**\n * Create a `motion` component.\n *\n * This function accepts a Component argument, which can be either a string (ie \"div\"\n * for `motion.div`), or an actual React component.\n *\n * Alongside this is a config option which provides a way of rendering the provided\n * component \"offline\", or outside the React render cycle.\n *\n * @internal\n */\nfunction createMotionComponent(_a) {\n var defaultFeatures = _a.defaultFeatures, createVisualElement = _a.createVisualElement, useRender = _a.useRender, useVisualState = _a.useVisualState;\n function MotionComponent(props, externalRef) {\n /**\n * If we're rendering in a static environment, we only visually update the component\n * as a result of a React-rerender rather than interactions or animations. This\n * means we don't need to load additional memory structures like VisualElement,\n * or any gesture/animation features.\n */\n var isStatic = useContext(MotionConfigContext).isStatic;\n var features = null;\n /**\n * Create the tree context. This is memoized and will only trigger renders\n * when the current tree variant changes in static mode.\n */\n var context = useCreateMotionContext(props, isStatic);\n /**\n *\n */\n var visualState = useVisualState(props, isStatic);\n if (!isStatic && typeof window !== \"undefined\") {\n /**\n * Create a VisualElement for this component. A VisualElement provides a common\n * interface to renderer-specific APIs (ie DOM/Three.js etc) as well as\n * providing a way of rendering to these APIs outside of the React render loop\n * for more performant animations and interactions\n */\n context.visualElement = useVisualElement(isStatic, visualState, createVisualElement, props);\n /**\n * Load Motion gesture and animation features. These are rendered as renderless\n * components so each feature can optionally make use of React lifecycle methods.\n *\n * TODO: The intention is to move these away from a React-centric to a\n * VisualElement-centric lifecycle scheme.\n */\n features = useFeatures(defaultFeatures, context.visualElement, props);\n }\n /**\n * The mount order and hierarchy is specific to ensure our element ref\n * is hydrated by the time features fire their effects.\n */\n return (createElement(Fragment, null,\n createElement(MotionContext.Provider, { value: context }, useRender(props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic)),\n features));\n }\n return forwardRef(MotionComponent);\n}\n\nexport { createMotionComponent };\n","import { useEffect } from 'react';\n\nfunction addDomEvent(target, eventName, handler, options) {\n target.addEventListener(eventName, handler, options);\n return function () { return target.removeEventListener(eventName, handler, options); };\n}\n/**\n * Attaches an event listener directly to the provided DOM element.\n *\n * Bypassing React's event system can be desirable, for instance when attaching non-passive\n * event handlers.\n *\n * ```jsx\n * const ref = useRef(null)\n *\n * useDomEvent(ref, 'wheel', onWheel, { passive: false })\n *\n * return
\n * ```\n *\n * @param ref - React.RefObject that's been provided to the element you want to bind the listener to.\n * @param eventName - Name of the event you want listen for.\n * @param handler - Function to fire when receiving the event.\n * @param options - Options to pass to `Event.addEventListener`.\n *\n * @public\n */\nfunction useDomEvent(ref, eventName, handler, options) {\n useEffect(function () {\n var element = ref.current;\n if (handler && element) {\n return addDomEvent(element, eventName, handler, options);\n }\n }, [ref, eventName, handler, options]);\n}\n\nexport { addDomEvent, useDomEvent };\n","var warning = function () { };\r\nvar invariant = function () { };\r\nif (process.env.NODE_ENV !== 'production') {\r\n warning = function (check, message) {\r\n if (!check && typeof console !== 'undefined') {\r\n console.warn(message);\r\n }\r\n };\r\n invariant = function (check, message) {\r\n if (!check) {\r\n throw new Error(message);\r\n }\r\n };\r\n}\n\nexport { invariant, warning };\n","var clamp = function (min, max, v) {\n return Math.min(Math.max(v, min), max);\n};\n\nexport { clamp };\n","import { warning } from 'hey-listen';\nimport { clamp } from '../../utils/clamp.js';\n\nvar safeMin = 0.001;\nvar minDuration = 0.01;\nvar maxDuration = 10.0;\nvar minDamping = 0.05;\nvar maxDamping = 1;\nfunction findSpring(_a) {\n var _b = _a.duration, duration = _b === void 0 ? 800 : _b, _c = _a.bounce, bounce = _c === void 0 ? 0.25 : _c, _d = _a.velocity, velocity = _d === void 0 ? 0 : _d, _e = _a.mass, mass = _e === void 0 ? 1 : _e;\n var envelope;\n var derivative;\n warning(duration <= maxDuration * 1000, \"Spring duration must be 10 seconds or less\");\n var dampingRatio = 1 - bounce;\n dampingRatio = clamp(minDamping, maxDamping, dampingRatio);\n duration = clamp(minDuration, maxDuration, duration / 1000);\n if (dampingRatio < 1) {\n envelope = function (undampedFreq) {\n var exponentialDecay = undampedFreq * dampingRatio;\n var delta = exponentialDecay * duration;\n var a = exponentialDecay - velocity;\n var b = calcAngularFreq(undampedFreq, dampingRatio);\n var c = Math.exp(-delta);\n return safeMin - (a / b) * c;\n };\n derivative = function (undampedFreq) {\n var exponentialDecay = undampedFreq * dampingRatio;\n var delta = exponentialDecay * duration;\n var d = delta * velocity + velocity;\n var e = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq, 2) * duration;\n var f = Math.exp(-delta);\n var g = calcAngularFreq(Math.pow(undampedFreq, 2), dampingRatio);\n var factor = -envelope(undampedFreq) + safeMin > 0 ? -1 : 1;\n return (factor * ((d - e) * f)) / g;\n };\n }\n else {\n envelope = function (undampedFreq) {\n var a = Math.exp(-undampedFreq * duration);\n var b = (undampedFreq - velocity) * duration + 1;\n return -safeMin + a * b;\n };\n derivative = function (undampedFreq) {\n var a = Math.exp(-undampedFreq * duration);\n var b = (velocity - undampedFreq) * (duration * duration);\n return a * b;\n };\n }\n var initialGuess = 5 / duration;\n var undampedFreq = approximateRoot(envelope, derivative, initialGuess);\n if (isNaN(undampedFreq)) {\n return {\n stiffness: 100,\n damping: 10,\n };\n }\n else {\n var stiffness = Math.pow(undampedFreq, 2) * mass;\n return {\n stiffness: stiffness,\n damping: dampingRatio * 2 * Math.sqrt(mass * stiffness),\n };\n }\n}\nvar rootIterations = 12;\nfunction approximateRoot(envelope, derivative, initialGuess) {\n var result = initialGuess;\n for (var i = 1; i < rootIterations; i++) {\n result = result - envelope(result) / derivative(result);\n }\n return result;\n}\nfunction calcAngularFreq(undampedFreq, dampingRatio) {\n return undampedFreq * Math.sqrt(1 - dampingRatio * dampingRatio);\n}\n\nexport { calcAngularFreq, findSpring, maxDamping, maxDuration, minDamping, minDuration };\n","import { __rest, __assign } from 'tslib';\nimport { findSpring, calcAngularFreq } from '../utils/find-spring.js';\n\nvar durationKeys = [\"duration\", \"bounce\"];\nvar physicsKeys = [\"stiffness\", \"damping\", \"mass\"];\nfunction isSpringType(options, keys) {\n return keys.some(function (key) { return options[key] !== undefined; });\n}\nfunction getSpringOptions(options) {\n var springOptions = __assign({ velocity: 0.0, stiffness: 100, damping: 10, mass: 1.0, isResolvedFromDuration: false }, options);\n if (!isSpringType(options, physicsKeys) &&\n isSpringType(options, durationKeys)) {\n var derived = findSpring(options);\n springOptions = __assign(__assign(__assign({}, springOptions), derived), { velocity: 0.0, mass: 1.0 });\n springOptions.isResolvedFromDuration = true;\n }\n return springOptions;\n}\nfunction spring(_a) {\n var _b = _a.from, from = _b === void 0 ? 0.0 : _b, _c = _a.to, to = _c === void 0 ? 1.0 : _c, _d = _a.restSpeed, restSpeed = _d === void 0 ? 2 : _d, restDelta = _a.restDelta, options = __rest(_a, [\"from\", \"to\", \"restSpeed\", \"restDelta\"]);\n var state = { done: false, value: from };\n var _e = getSpringOptions(options), stiffness = _e.stiffness, damping = _e.damping, mass = _e.mass, velocity = _e.velocity, isResolvedFromDuration = _e.isResolvedFromDuration;\n var resolveSpring = zero;\n var resolveVelocity = zero;\n function createSpring() {\n var initialVelocity = velocity ? -(velocity / 1000) : 0.0;\n var initialDelta = to - from;\n var dampingRatio = damping / (2 * Math.sqrt(stiffness * mass));\n var undampedAngularFreq = Math.sqrt(stiffness / mass) / 1000;\n restDelta !== null && restDelta !== void 0 ? restDelta : (restDelta = Math.abs(to - from) <= 1 ? 0.01 : 0.4);\n if (dampingRatio < 1) {\n var angularFreq_1 = calcAngularFreq(undampedAngularFreq, dampingRatio);\n resolveSpring = function (t) {\n var envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n return (to -\n envelope *\n (((initialVelocity +\n dampingRatio * undampedAngularFreq * initialDelta) /\n angularFreq_1) *\n Math.sin(angularFreq_1 * t) +\n initialDelta * Math.cos(angularFreq_1 * t)));\n };\n resolveVelocity = function (t) {\n var envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n return (dampingRatio *\n undampedAngularFreq *\n envelope *\n ((Math.sin(angularFreq_1 * t) *\n (initialVelocity +\n dampingRatio *\n undampedAngularFreq *\n initialDelta)) /\n angularFreq_1 +\n initialDelta * Math.cos(angularFreq_1 * t)) -\n envelope *\n (Math.cos(angularFreq_1 * t) *\n (initialVelocity +\n dampingRatio *\n undampedAngularFreq *\n initialDelta) -\n angularFreq_1 *\n initialDelta *\n Math.sin(angularFreq_1 * t)));\n };\n }\n else if (dampingRatio === 1) {\n resolveSpring = function (t) {\n return to -\n Math.exp(-undampedAngularFreq * t) *\n (initialDelta +\n (initialVelocity + undampedAngularFreq * initialDelta) *\n t);\n };\n }\n else {\n var dampedAngularFreq_1 = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1);\n resolveSpring = function (t) {\n var envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n var freqForT = Math.min(dampedAngularFreq_1 * t, 300);\n return (to -\n (envelope *\n ((initialVelocity +\n dampingRatio * undampedAngularFreq * initialDelta) *\n Math.sinh(freqForT) +\n dampedAngularFreq_1 *\n initialDelta *\n Math.cosh(freqForT))) /\n dampedAngularFreq_1);\n };\n }\n }\n createSpring();\n return {\n next: function (t) {\n var current = resolveSpring(t);\n if (!isResolvedFromDuration) {\n var currentVelocity = resolveVelocity(t) * 1000;\n var isBelowVelocityThreshold = Math.abs(currentVelocity) <= restSpeed;\n var isBelowDisplacementThreshold = Math.abs(to - current) <= restDelta;\n state.done =\n isBelowVelocityThreshold && isBelowDisplacementThreshold;\n }\n else {\n state.done = t >= options.duration;\n }\n state.value = state.done ? to : current;\n return state;\n },\n flipTarget: function () {\n var _a;\n velocity = -velocity;\n _a = [to, from], from = _a[0], to = _a[1];\n createSpring();\n },\n };\n}\nspring.needsInterpolation = function (a, b) {\n return typeof a === \"string\" || typeof b === \"string\";\n};\nvar zero = function (_t) { return 0; };\n\nexport { spring };\n","var progress = function (from, to, value) {\n var toFromDifference = to - from;\n return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;\n};\n\nexport { progress };\n","var mix = function (from, to, progress) {\n return -progress * from + progress * to + from;\n};\n\nexport { mix };\n","var clamp = function (min, max) { return function (v) {\n return Math.max(Math.min(v, max), min);\n}; };\nvar sanitize = function (v) { return (v % 1 ? Number(v.toFixed(5)) : v); };\nvar floatRegex = /(-)?([\\d]*\\.?[\\d])+/g;\nvar colorRegex = /(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))/gi;\nvar singleColorRegex = /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))$/i;\nfunction isString(v) {\n return typeof v === 'string';\n}\n\nexport { clamp, colorRegex, floatRegex, isString, sanitize, singleColorRegex };\n","import { __assign } from 'tslib';\nimport { clamp } from '../utils.js';\n\nvar number = {\n test: function (v) { return typeof v === 'number'; },\n parse: parseFloat,\n transform: function (v) { return v; },\n};\nvar alpha = __assign(__assign({}, number), { transform: clamp(0, 1) });\nvar scale = __assign(__assign({}, number), { default: 1 });\n\nexport { alpha, number, scale };\n","import { __assign } from 'tslib';\nimport { isString } from '../utils.js';\n\nvar createUnitType = function (unit) { return ({\n test: function (v) {\n return isString(v) && v.endsWith(unit) && v.split(' ').length === 1;\n },\n parse: parseFloat,\n transform: function (v) { return \"\" + v + unit; },\n}); };\nvar degrees = createUnitType('deg');\nvar percent = createUnitType('%');\nvar px = createUnitType('px');\nvar vh = createUnitType('vh');\nvar vw = createUnitType('vw');\nvar progressPercentage = __assign(__assign({}, percent), { parse: function (v) { return percent.parse(v) / 100; }, transform: function (v) { return percent.transform(v * 100); } });\n\nexport { degrees, percent, progressPercentage, px, vh, vw };\n","import { isString, singleColorRegex, floatRegex } from '../utils.js';\n\nvar isColorString = function (type, testProp) { return function (v) {\n return ((isString(v) && singleColorRegex.test(v) && v.startsWith(type)) ||\n (testProp && Object.prototype.hasOwnProperty.call(v, testProp)));\n}; };\nvar splitColor = function (aName, bName, cName) { return function (v) {\n var _a;\n if (!isString(v))\n return v;\n var _b = v.match(floatRegex), a = _b[0], b = _b[1], c = _b[2], alpha = _b[3];\n return _a = {},\n _a[aName] = parseFloat(a),\n _a[bName] = parseFloat(b),\n _a[cName] = parseFloat(c),\n _a.alpha = alpha !== undefined ? parseFloat(alpha) : 1,\n _a;\n}; };\n\nexport { isColorString, splitColor };\n","import { alpha } from '../numbers/index.js';\nimport { percent } from '../numbers/units.js';\nimport { sanitize } from '../utils.js';\nimport { isColorString, splitColor } from './utils.js';\n\nvar hsla = {\n test: isColorString('hsl', 'hue'),\n parse: splitColor('hue', 'saturation', 'lightness'),\n transform: function (_a) {\n var hue = _a.hue, saturation = _a.saturation, lightness = _a.lightness, _b = _a.alpha, alpha$1 = _b === void 0 ? 1 : _b;\n return ('hsla(' +\n Math.round(hue) +\n ', ' +\n percent.transform(sanitize(saturation)) +\n ', ' +\n percent.transform(sanitize(lightness)) +\n ', ' +\n sanitize(alpha.transform(alpha$1)) +\n ')');\n },\n};\n\nexport { hsla };\n","import { __assign } from 'tslib';\nimport { number, alpha } from '../numbers/index.js';\nimport { sanitize, clamp } from '../utils.js';\nimport { isColorString, splitColor } from './utils.js';\n\nvar clampRgbUnit = clamp(0, 255);\nvar rgbUnit = __assign(__assign({}, number), { transform: function (v) { return Math.round(clampRgbUnit(v)); } });\nvar rgba = {\n test: isColorString('rgb', 'red'),\n parse: splitColor('red', 'green', 'blue'),\n transform: function (_a) {\n var red = _a.red, green = _a.green, blue = _a.blue, _b = _a.alpha, alpha$1 = _b === void 0 ? 1 : _b;\n return 'rgba(' +\n rgbUnit.transform(red) +\n ', ' +\n rgbUnit.transform(green) +\n ', ' +\n rgbUnit.transform(blue) +\n ', ' +\n sanitize(alpha.transform(alpha$1)) +\n ')';\n },\n};\n\nexport { rgbUnit, rgba };\n","import { rgba } from './rgba.js';\nimport { isColorString } from './utils.js';\n\nfunction parseHex(v) {\n var r = '';\n var g = '';\n var b = '';\n var a = '';\n if (v.length > 5) {\n r = v.substr(1, 2);\n g = v.substr(3, 2);\n b = v.substr(5, 2);\n a = v.substr(7, 2);\n }\n else {\n r = v.substr(1, 1);\n g = v.substr(2, 1);\n b = v.substr(3, 1);\n a = v.substr(4, 1);\n r += r;\n g += g;\n b += b;\n a += a;\n }\n return {\n red: parseInt(r, 16),\n green: parseInt(g, 16),\n blue: parseInt(b, 16),\n alpha: a ? parseInt(a, 16) / 255 : 1,\n };\n}\nvar hex = {\n test: isColorString('#'),\n parse: parseHex,\n transform: rgba.transform,\n};\n\nexport { hex };\n","import { isString } from '../utils.js';\nimport { hex } from './hex.js';\nimport { hsla } from './hsla.js';\nimport { rgba } from './rgba.js';\n\nvar color = {\n test: function (v) { return rgba.test(v) || hex.test(v) || hsla.test(v); },\n parse: function (v) {\n if (rgba.test(v)) {\n return rgba.parse(v);\n }\n else if (hsla.test(v)) {\n return hsla.parse(v);\n }\n else {\n return hex.parse(v);\n }\n },\n transform: function (v) {\n return isString(v)\n ? v\n : v.hasOwnProperty('red')\n ? rgba.transform(v)\n : hsla.transform(v);\n },\n};\n\nexport { color };\n","import { color } from '../color/index.js';\nimport { number } from '../numbers/index.js';\nimport { isString, floatRegex, colorRegex, sanitize } from '../utils.js';\n\nvar colorToken = '${c}';\nvar numberToken = '${n}';\nfunction test(v) {\n var _a, _b, _c, _d;\n return (isNaN(v) &&\n isString(v) &&\n ((_b = (_a = v.match(floatRegex)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) + ((_d = (_c = v.match(colorRegex)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > 0);\n}\nfunction analyse(v) {\n var values = [];\n var numColors = 0;\n var colors = v.match(colorRegex);\n if (colors) {\n numColors = colors.length;\n v = v.replace(colorRegex, colorToken);\n values.push.apply(values, colors.map(color.parse));\n }\n var numbers = v.match(floatRegex);\n if (numbers) {\n v = v.replace(floatRegex, numberToken);\n values.push.apply(values, numbers.map(number.parse));\n }\n return { values: values, numColors: numColors, tokenised: v };\n}\nfunction parse(v) {\n return analyse(v).values;\n}\nfunction createTransformer(v) {\n var _a = analyse(v), values = _a.values, numColors = _a.numColors, tokenised = _a.tokenised;\n var numValues = values.length;\n return function (v) {\n var output = tokenised;\n for (var i = 0; i < numValues; i++) {\n output = output.replace(i < numColors ? colorToken : numberToken, i < numColors ? color.transform(v[i]) : sanitize(v[i]));\n }\n return output;\n };\n}\nvar convertNumbersToZero = function (v) {\n return typeof v === 'number' ? 0 : v;\n};\nfunction getAnimatableNone(v) {\n var parsed = parse(v);\n var transformer = createTransformer(v);\n return transformer(parsed.map(convertNumbersToZero));\n}\nvar complex = { test: test, parse: parse, createTransformer: createTransformer, getAnimatableNone: getAnimatableNone };\n\nexport { complex };\n","import { __assign } from 'tslib';\nimport { complex } from './index.js';\nimport { floatRegex } from '../utils.js';\n\nvar maxDefaults = new Set(['brightness', 'contrast', 'saturate', 'opacity']);\nfunction applyDefaultFilter(v) {\n var _a = v.slice(0, -1).split('('), name = _a[0], value = _a[1];\n if (name === 'drop-shadow')\n return v;\n var number = (value.match(floatRegex) || [])[0];\n if (!number)\n return v;\n var unit = value.replace(number, '');\n var defaultValue = maxDefaults.has(name) ? 1 : 0;\n if (number !== value)\n defaultValue *= 100;\n return name + '(' + defaultValue + unit + ')';\n}\nvar functionRegex = /([a-z-]*)\\(.*?\\)/g;\nvar filter = __assign(__assign({}, complex), { getAnimatableNone: function (v) {\n var functions = v.match(functionRegex);\n return functions ? functions.map(applyDefaultFilter).join(' ') : v;\n } });\n\nexport { filter };\n","export { alpha, number, scale } from './numbers/index.js';\nexport { degrees, percent, progressPercentage, px, vh, vw } from './numbers/units.js';\nexport { hsla } from './color/hsla.js';\nexport { rgbUnit, rgba } from './color/rgba.js';\nexport { hex } from './color/hex.js';\nexport { color } from './color/index.js';\nexport { complex } from './complex/index.js';\nexport { filter } from './complex/filter.js';\n","import { __assign } from 'tslib';\nimport { mix } from './mix.js';\nimport { hex, rgba, hsla } from 'style-value-types';\nimport { invariant } from 'hey-listen';\n\nvar mixLinearColor = function (from, to, v) {\n var fromExpo = from * from;\n var toExpo = to * to;\n return Math.sqrt(Math.max(0, v * (toExpo - fromExpo) + fromExpo));\n};\nvar colorTypes = [hex, rgba, hsla];\nvar getColorType = function (v) {\n return colorTypes.find(function (type) { return type.test(v); });\n};\nvar notAnimatable = function (color) {\n return \"'\" + color + \"' is not an animatable color. Use the equivalent color code instead.\";\n};\nvar mixColor = function (from, to) {\n var fromColorType = getColorType(from);\n var toColorType = getColorType(to);\n invariant(!!fromColorType, notAnimatable(from));\n invariant(!!toColorType, notAnimatable(to));\n invariant(fromColorType.transform === toColorType.transform, \"Both colors must be hex/RGBA, OR both must be HSLA.\");\n var fromColor = fromColorType.parse(from);\n var toColor = toColorType.parse(to);\n var blended = __assign({}, fromColor);\n var mixFunc = fromColorType === hsla ? mix : mixLinearColor;\n return function (v) {\n for (var key in blended) {\n if (key !== \"alpha\") {\n blended[key] = mixFunc(fromColor[key], toColor[key], v);\n }\n }\n blended.alpha = mix(fromColor.alpha, toColor.alpha, v);\n return fromColorType.transform(blended);\n };\n};\n\nexport { mixColor, mixLinearColor };\n","var zeroPoint = {\n x: 0,\n y: 0,\n z: 0\n};\nvar isNum = function (v) { return typeof v === 'number'; };\n\nexport { isNum, zeroPoint };\n","var combineFunctions = function (a, b) { return function (v) { return b(a(v)); }; };\nvar pipe = function () {\n var transformers = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n transformers[_i] = arguments[_i];\n }\n return transformers.reduce(combineFunctions);\n};\n\nexport { pipe };\n","import { __spreadArrays, __assign } from 'tslib';\nimport { complex, color } from 'style-value-types';\nimport { mix } from './mix.js';\nimport { mixColor } from './mix-color.js';\nimport { isNum } from './inc.js';\nimport { pipe } from './pipe.js';\nimport { invariant } from 'hey-listen';\n\nfunction getMixer(origin, target) {\n if (isNum(origin)) {\n return function (v) { return mix(origin, target, v); };\n }\n else if (color.test(origin)) {\n return mixColor(origin, target);\n }\n else {\n return mixComplex(origin, target);\n }\n}\nvar mixArray = function (from, to) {\n var output = __spreadArrays(from);\n var numValues = output.length;\n var blendValue = from.map(function (fromThis, i) { return getMixer(fromThis, to[i]); });\n return function (v) {\n for (var i = 0; i < numValues; i++) {\n output[i] = blendValue[i](v);\n }\n return output;\n };\n};\nvar mixObject = function (origin, target) {\n var output = __assign(__assign({}, origin), target);\n var blendValue = {};\n for (var key in output) {\n if (origin[key] !== undefined && target[key] !== undefined) {\n blendValue[key] = getMixer(origin[key], target[key]);\n }\n }\n return function (v) {\n for (var key in blendValue) {\n output[key] = blendValue[key](v);\n }\n return output;\n };\n};\nfunction analyse(value) {\n var parsed = complex.parse(value);\n var numValues = parsed.length;\n var numNumbers = 0;\n var numRGB = 0;\n var numHSL = 0;\n for (var i = 0; i < numValues; i++) {\n if (numNumbers || typeof parsed[i] === \"number\") {\n numNumbers++;\n }\n else {\n if (parsed[i].hue !== undefined) {\n numHSL++;\n }\n else {\n numRGB++;\n }\n }\n }\n return { parsed: parsed, numNumbers: numNumbers, numRGB: numRGB, numHSL: numHSL };\n}\nvar mixComplex = function (origin, target) {\n var template = complex.createTransformer(target);\n var originStats = analyse(origin);\n var targetStats = analyse(target);\n invariant(originStats.numHSL === targetStats.numHSL &&\n originStats.numRGB === targetStats.numRGB &&\n originStats.numNumbers >= targetStats.numNumbers, \"Complex values '\" + origin + \"' and '\" + target + \"' too different to mix. Ensure all colors are of the same type.\");\n return pipe(mixArray(originStats.parsed, targetStats.parsed), template);\n};\n\nexport { mixArray, mixComplex, mixObject };\n","import { progress } from './progress.js';\nimport { mix } from './mix.js';\nimport { mixColor } from './mix-color.js';\nimport { mixComplex, mixArray, mixObject } from './mix-complex.js';\nimport { color } from 'style-value-types';\nimport { clamp } from './clamp.js';\nimport { pipe } from './pipe.js';\nimport { invariant } from 'hey-listen';\n\nvar mixNumber = function (from, to) { return function (p) { return mix(from, to, p); }; };\nfunction detectMixerFactory(v) {\n if (typeof v === 'number') {\n return mixNumber;\n }\n else if (typeof v === 'string') {\n if (color.test(v)) {\n return mixColor;\n }\n else {\n return mixComplex;\n }\n }\n else if (Array.isArray(v)) {\n return mixArray;\n }\n else if (typeof v === 'object') {\n return mixObject;\n }\n}\nfunction createMixers(output, ease, customMixer) {\n var mixers = [];\n var mixerFactory = customMixer || detectMixerFactory(output[0]);\n var numMixers = output.length - 1;\n for (var i = 0; i < numMixers; i++) {\n var mixer = mixerFactory(output[i], output[i + 1]);\n if (ease) {\n var easingFunction = Array.isArray(ease) ? ease[i] : ease;\n mixer = pipe(easingFunction, mixer);\n }\n mixers.push(mixer);\n }\n return mixers;\n}\nfunction fastInterpolate(_a, _b) {\n var from = _a[0], to = _a[1];\n var mixer = _b[0];\n return function (v) { return mixer(progress(from, to, v)); };\n}\nfunction slowInterpolate(input, mixers) {\n var inputLength = input.length;\n var lastInputIndex = inputLength - 1;\n return function (v) {\n var mixerIndex = 0;\n var foundMixerIndex = false;\n if (v <= input[0]) {\n foundMixerIndex = true;\n }\n else if (v >= input[lastInputIndex]) {\n mixerIndex = lastInputIndex - 1;\n foundMixerIndex = true;\n }\n if (!foundMixerIndex) {\n var i = 1;\n for (; i < inputLength; i++) {\n if (input[i] > v || i === lastInputIndex) {\n break;\n }\n }\n mixerIndex = i - 1;\n }\n var progressInRange = progress(input[mixerIndex], input[mixerIndex + 1], v);\n return mixers[mixerIndex](progressInRange);\n };\n}\nfunction interpolate(input, output, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.clamp, isClamp = _c === void 0 ? true : _c, ease = _b.ease, mixer = _b.mixer;\n var inputLength = input.length;\n invariant(inputLength === output.length, 'Both input and output ranges must be the same length');\n invariant(!ease || !Array.isArray(ease) || ease.length === inputLength - 1, 'Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values.');\n if (input[0] > input[inputLength - 1]) {\n input = [].concat(input);\n output = [].concat(output);\n input.reverse();\n output.reverse();\n }\n var mixers = createMixers(output, ease, mixer);\n var interpolator = inputLength === 2\n ? fastInterpolate(input, mixers)\n : slowInterpolate(input, mixers);\n return isClamp\n ? function (v) { return interpolator(clamp(input[0], input[inputLength - 1], v)); }\n : interpolator;\n}\n\nexport { interpolate };\n","var reverseEasing = function (easing) { return function (p) { return 1 - easing(1 - p); }; };\nvar mirrorEasing = function (easing) { return function (p) {\n return p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;\n}; };\nvar createExpoIn = function (power) { return function (p) { return Math.pow(p, power); }; };\nvar createBackIn = function (power) { return function (p) {\n return p * p * ((power + 1) * p - power);\n}; };\nvar createAnticipate = function (power) {\n var backEasing = createBackIn(power);\n return function (p) {\n return (p *= 2) < 1\n ? 0.5 * backEasing(p)\n : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));\n };\n};\n\nexport { createAnticipate, createBackIn, createExpoIn, mirrorEasing, reverseEasing };\n","import { createExpoIn, reverseEasing, mirrorEasing, createBackIn, createAnticipate } from './utils.js';\n\nvar DEFAULT_OVERSHOOT_STRENGTH = 1.525;\nvar BOUNCE_FIRST_THRESHOLD = 4.0 / 11.0;\nvar BOUNCE_SECOND_THRESHOLD = 8.0 / 11.0;\nvar BOUNCE_THIRD_THRESHOLD = 9.0 / 10.0;\nvar linear = function (p) { return p; };\nvar easeIn = createExpoIn(2);\nvar easeOut = reverseEasing(easeIn);\nvar easeInOut = mirrorEasing(easeIn);\nvar circIn = function (p) { return 1 - Math.sin(Math.acos(p)); };\nvar circOut = reverseEasing(circIn);\nvar circInOut = mirrorEasing(circOut);\nvar backIn = createBackIn(DEFAULT_OVERSHOOT_STRENGTH);\nvar backOut = reverseEasing(backIn);\nvar backInOut = mirrorEasing(backIn);\nvar anticipate = createAnticipate(DEFAULT_OVERSHOOT_STRENGTH);\nvar ca = 4356.0 / 361.0;\nvar cb = 35442.0 / 1805.0;\nvar cc = 16061.0 / 1805.0;\nvar bounceOut = function (p) {\n if (p === 1 || p === 0)\n return p;\n var p2 = p * p;\n return p < BOUNCE_FIRST_THRESHOLD\n ? 7.5625 * p2\n : p < BOUNCE_SECOND_THRESHOLD\n ? 9.075 * p2 - 9.9 * p + 3.4\n : p < BOUNCE_THIRD_THRESHOLD\n ? ca * p2 - cb * p + cc\n : 10.8 * p * p - 20.52 * p + 10.72;\n};\nvar bounceIn = reverseEasing(bounceOut);\nvar bounceInOut = function (p) {\n return p < 0.5\n ? 0.5 * (1.0 - bounceOut(1.0 - p * 2.0))\n : 0.5 * bounceOut(p * 2.0 - 1.0) + 0.5;\n};\n\nexport { anticipate, backIn, backInOut, backOut, bounceIn, bounceInOut, bounceOut, circIn, circInOut, circOut, easeIn, easeInOut, easeOut, linear };\n","import { interpolate } from '../../utils/interpolate.js';\nimport { easeInOut } from '../../easing/index.js';\n\nfunction defaultEasing(values, easing) {\n return values.map(function () { return easing || easeInOut; }).splice(0, values.length - 1);\n}\nfunction defaultOffset(values) {\n var numValues = values.length;\n return values.map(function (_value, i) {\n return i !== 0 ? i / (numValues - 1) : 0;\n });\n}\nfunction convertOffsetToTimes(offset, duration) {\n return offset.map(function (o) { return o * duration; });\n}\nfunction keyframes(_a) {\n var _b = _a.from, from = _b === void 0 ? 0 : _b, _c = _a.to, to = _c === void 0 ? 1 : _c, ease = _a.ease, offset = _a.offset, _d = _a.duration, duration = _d === void 0 ? 300 : _d;\n var state = { done: false, value: from };\n var values = Array.isArray(to) ? to : [from, to];\n var times = convertOffsetToTimes(offset && offset.length === values.length\n ? offset\n : defaultOffset(values), duration);\n function createInterpolator() {\n return interpolate(times, values, {\n ease: Array.isArray(ease) ? ease : defaultEasing(values, ease),\n });\n }\n var interpolator = createInterpolator();\n return {\n next: function (t) {\n state.value = interpolator(t);\n state.done = t >= duration;\n return state;\n },\n flipTarget: function () {\n values.reverse();\n interpolator = createInterpolator();\n },\n };\n}\n\nexport { convertOffsetToTimes, defaultEasing, defaultOffset, keyframes };\n","function decay(_a) {\n var _b = _a.velocity, velocity = _b === void 0 ? 0 : _b, _c = _a.from, from = _c === void 0 ? 0 : _c, _d = _a.power, power = _d === void 0 ? 0.8 : _d, _e = _a.timeConstant, timeConstant = _e === void 0 ? 350 : _e, _f = _a.restDelta, restDelta = _f === void 0 ? 0.5 : _f, modifyTarget = _a.modifyTarget;\n var state = { done: false, value: from };\n var amplitude = power * velocity;\n var ideal = from + amplitude;\n var target = modifyTarget === undefined ? ideal : modifyTarget(ideal);\n if (target !== ideal)\n amplitude = target - from;\n return {\n next: function (t) {\n var delta = -amplitude * Math.exp(-t / timeConstant);\n state.done = !(delta > restDelta || delta < -restDelta);\n state.value = state.done ? target : target + delta;\n return state;\n },\n flipTarget: function () { },\n };\n}\n\nexport { decay };\n","import { spring } from '../generators/spring.js';\nimport { keyframes } from '../generators/keyframes.js';\nimport { decay } from '../generators/decay.js';\n\nvar types = { keyframes: keyframes, spring: spring, decay: decay };\nfunction detectAnimationFromOptions(config) {\n if (Array.isArray(config.to)) {\n return keyframes;\n }\n else if (types[config.type]) {\n return types[config.type];\n }\n var keys = new Set(Object.keys(config));\n if (keys.has(\"ease\") ||\n (keys.has(\"duration\") && !keys.has(\"dampingRatio\"))) {\n return keyframes;\n }\n else if (keys.has(\"dampingRatio\") ||\n keys.has(\"stiffness\") ||\n keys.has(\"mass\") ||\n keys.has(\"damping\") ||\n keys.has(\"restSpeed\") ||\n keys.has(\"restDelta\")) {\n return spring;\n }\n return keyframes;\n}\n\nexport { detectAnimationFromOptions };\n","var defaultTimestep = (1 / 60) * 1000;\nvar getCurrentTime = typeof performance !== \"undefined\"\n ? function () { return performance.now(); }\n : function () { return Date.now(); };\nvar onNextFrame = typeof window !== \"undefined\"\n ? function (callback) {\n return window.requestAnimationFrame(callback);\n }\n : function (callback) {\n return setTimeout(function () { return callback(getCurrentTime()); }, defaultTimestep);\n };\n\nexport { defaultTimestep, onNextFrame };\n","function createRenderStep(runNextFrame) {\n var toRun = [];\n var toRunNextFrame = [];\n var numToRun = 0;\n var isProcessing = false;\n var toKeepAlive = new WeakSet();\n var step = {\n schedule: function (callback, keepAlive, immediate) {\n if (keepAlive === void 0) { keepAlive = false; }\n if (immediate === void 0) { immediate = false; }\n var addToCurrentFrame = immediate && isProcessing;\n var buffer = addToCurrentFrame ? toRun : toRunNextFrame;\n if (keepAlive)\n toKeepAlive.add(callback);\n if (buffer.indexOf(callback) === -1) {\n buffer.push(callback);\n if (addToCurrentFrame && isProcessing)\n numToRun = toRun.length;\n }\n return callback;\n },\n cancel: function (callback) {\n var index = toRunNextFrame.indexOf(callback);\n if (index !== -1)\n toRunNextFrame.splice(index, 1);\n toKeepAlive.delete(callback);\n },\n process: function (frameData) {\n var _a;\n isProcessing = true;\n _a = [toRunNextFrame, toRun], toRun = _a[0], toRunNextFrame = _a[1];\n toRunNextFrame.length = 0;\n numToRun = toRun.length;\n if (numToRun) {\n for (var i = 0; i < numToRun; i++) {\n var callback = toRun[i];\n callback(frameData);\n if (toKeepAlive.has(callback)) {\n step.schedule(callback);\n runNextFrame();\n }\n }\n }\n isProcessing = false;\n },\n };\n return step;\n}\n\nexport { createRenderStep };\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","import { onNextFrame, defaultTimestep } from './on-next-frame.js';\nimport { createRenderStep } from './create-render-step.js';\n\nvar maxElapsed = 40;\nvar useDefaultElapsed = true;\nvar runNextFrame = false;\nvar isProcessing = false;\nvar frame = {\n delta: 0,\n timestamp: 0\n};\nvar stepsOrder = [\"read\", \"update\", \"preRender\", \"render\", \"postRender\"];\nvar steps = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n acc[key] = createRenderStep(function () {\n return runNextFrame = true;\n });\n return acc;\n}, {});\nvar sync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n var step = steps[key];\n acc[key] = function (process, keepAlive, immediate) {\n if (keepAlive === void 0) {\n keepAlive = false;\n }\n if (immediate === void 0) {\n immediate = false;\n }\n if (!runNextFrame) startLoop();\n return step.schedule(process, keepAlive, immediate);\n };\n return acc;\n}, {});\nvar cancelSync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n acc[key] = steps[key].cancel;\n return acc;\n}, {});\nvar processStep = function (stepId) {\n return steps[stepId].process(frame);\n};\nvar processFrame = function (timestamp) {\n runNextFrame = false;\n frame.delta = useDefaultElapsed ? defaultTimestep : Math.max(Math.min(timestamp - frame.timestamp, maxElapsed), 1);\n frame.timestamp = timestamp;\n isProcessing = true;\n stepsOrder.forEach(processStep);\n isProcessing = false;\n if (runNextFrame) {\n useDefaultElapsed = false;\n onNextFrame(processFrame);\n }\n};\nvar startLoop = function () {\n runNextFrame = true;\n useDefaultElapsed = true;\n if (!isProcessing) onNextFrame(processFrame);\n};\nvar getFrameData = function () {\n return frame;\n};\n\nexport default sync;\nexport { cancelSync, getFrameData };\n","function loopElapsed(elapsed, duration, delay) {\n if (delay === void 0) { delay = 0; }\n return elapsed - duration - delay;\n}\nfunction reverseElapsed(elapsed, duration, delay, isForwardPlayback) {\n if (delay === void 0) { delay = 0; }\n if (isForwardPlayback === void 0) { isForwardPlayback = true; }\n return isForwardPlayback\n ? loopElapsed(duration + -elapsed, duration, delay)\n : duration - (elapsed - duration) + delay;\n}\nfunction hasRepeatDelayElapsed(elapsed, duration, delay, isForwardPlayback) {\n return isForwardPlayback ? elapsed >= duration + delay : elapsed <= -delay;\n}\n\nexport { hasRepeatDelayElapsed, loopElapsed, reverseElapsed };\n","import { __rest, __assign } from 'tslib';\nimport { detectAnimationFromOptions } from './utils/detect-animation-from-options.js';\nimport sync, { cancelSync } from 'framesync';\nimport { interpolate } from '../utils/interpolate.js';\nimport { hasRepeatDelayElapsed, reverseElapsed, loopElapsed } from './utils/elapsed.js';\n\nvar framesync = function (update) {\n var passTimestamp = function (_a) {\n var delta = _a.delta;\n return update(delta);\n };\n return {\n start: function () { return sync.update(passTimestamp, true); },\n stop: function () { return cancelSync.update(passTimestamp); },\n };\n};\nfunction animate(_a) {\n var _b, _c;\n var from = _a.from, _d = _a.autoplay, autoplay = _d === void 0 ? true : _d, _e = _a.driver, driver = _e === void 0 ? framesync : _e, _f = _a.elapsed, elapsed = _f === void 0 ? 0 : _f, _g = _a.repeat, repeatMax = _g === void 0 ? 0 : _g, _h = _a.repeatType, repeatType = _h === void 0 ? \"loop\" : _h, _j = _a.repeatDelay, repeatDelay = _j === void 0 ? 0 : _j, onPlay = _a.onPlay, onStop = _a.onStop, onComplete = _a.onComplete, onRepeat = _a.onRepeat, onUpdate = _a.onUpdate, options = __rest(_a, [\"from\", \"autoplay\", \"driver\", \"elapsed\", \"repeat\", \"repeatType\", \"repeatDelay\", \"onPlay\", \"onStop\", \"onComplete\", \"onRepeat\", \"onUpdate\"]);\n var to = options.to;\n var driverControls;\n var repeatCount = 0;\n var computedDuration = options.duration;\n var latest;\n var isComplete = false;\n var isForwardPlayback = true;\n var interpolateFromNumber;\n var animator = detectAnimationFromOptions(options);\n if ((_c = (_b = animator).needsInterpolation) === null || _c === void 0 ? void 0 : _c.call(_b, from, to)) {\n interpolateFromNumber = interpolate([0, 100], [from, to], {\n clamp: false,\n });\n from = 0;\n to = 100;\n }\n var animation = animator(__assign(__assign({}, options), { from: from, to: to }));\n function repeat() {\n repeatCount++;\n if (repeatType === \"reverse\") {\n isForwardPlayback = repeatCount % 2 === 0;\n elapsed = reverseElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback);\n }\n else {\n elapsed = loopElapsed(elapsed, computedDuration, repeatDelay);\n if (repeatType === \"mirror\")\n animation.flipTarget();\n }\n isComplete = false;\n onRepeat && onRepeat();\n }\n function complete() {\n driverControls.stop();\n onComplete && onComplete();\n }\n function update(delta) {\n if (!isForwardPlayback)\n delta = -delta;\n elapsed += delta;\n if (!isComplete) {\n var state = animation.next(Math.max(0, elapsed));\n latest = state.value;\n if (interpolateFromNumber)\n latest = interpolateFromNumber(latest);\n isComplete = isForwardPlayback ? state.done : elapsed <= 0;\n }\n onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(latest);\n if (isComplete) {\n if (repeatCount === 0)\n computedDuration !== null && computedDuration !== void 0 ? computedDuration : (computedDuration = elapsed);\n if (repeatCount < repeatMax) {\n hasRepeatDelayElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback) && repeat();\n }\n else {\n complete();\n }\n }\n }\n function play() {\n onPlay === null || onPlay === void 0 ? void 0 : onPlay();\n driverControls = driver(update);\n driverControls.start();\n }\n autoplay && play();\n return {\n stop: function () {\n onStop === null || onStop === void 0 ? void 0 : onStop();\n driverControls.stop();\n },\n };\n}\n\nexport { animate };\n","function velocityPerSecond(velocity, frameDuration) {\n return frameDuration ? velocity * (1000 / frameDuration) : 0;\n}\n\nexport { velocityPerSecond };\n","import { __assign } from 'tslib';\nimport { animate } from './index.js';\nimport { velocityPerSecond } from '../utils/velocity-per-second.js';\nimport { getFrameData } from 'framesync';\n\nfunction inertia(_a) {\n var _b = _a.from, from = _b === void 0 ? 0 : _b, _c = _a.velocity, velocity = _c === void 0 ? 0 : _c, min = _a.min, max = _a.max, _d = _a.power, power = _d === void 0 ? 0.8 : _d, _e = _a.timeConstant, timeConstant = _e === void 0 ? 750 : _e, _f = _a.bounceStiffness, bounceStiffness = _f === void 0 ? 500 : _f, _g = _a.bounceDamping, bounceDamping = _g === void 0 ? 10 : _g, _h = _a.restDelta, restDelta = _h === void 0 ? 1 : _h, modifyTarget = _a.modifyTarget, driver = _a.driver, onUpdate = _a.onUpdate, onComplete = _a.onComplete;\n var currentAnimation;\n function isOutOfBounds(v) {\n return (min !== undefined && v < min) || (max !== undefined && v > max);\n }\n function boundaryNearest(v) {\n if (min === undefined)\n return max;\n if (max === undefined)\n return min;\n return Math.abs(min - v) < Math.abs(max - v) ? min : max;\n }\n function startAnimation(options) {\n currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop();\n currentAnimation = animate(__assign(__assign({}, options), { driver: driver, onUpdate: function (v) {\n var _a;\n onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(v);\n (_a = options.onUpdate) === null || _a === void 0 ? void 0 : _a.call(options, v);\n }, onComplete: onComplete }));\n }\n function startSpring(options) {\n startAnimation(__assign({ type: \"spring\", stiffness: bounceStiffness, damping: bounceDamping, restDelta: restDelta }, options));\n }\n if (isOutOfBounds(from)) {\n startSpring({ from: from, velocity: velocity, to: boundaryNearest(from) });\n }\n else {\n var target = power * velocity + from;\n if (typeof modifyTarget !== \"undefined\")\n target = modifyTarget(target);\n var boundary_1 = boundaryNearest(target);\n var heading_1 = boundary_1 === min ? -1 : 1;\n var prev_1;\n var current_1;\n var checkBoundary = function (v) {\n prev_1 = current_1;\n current_1 = v;\n velocity = velocityPerSecond(v - prev_1, getFrameData().delta);\n if ((heading_1 === 1 && v > boundary_1) ||\n (heading_1 === -1 && v < boundary_1)) {\n startSpring({ from: v, to: boundary_1, velocity: velocity });\n }\n };\n startAnimation({\n type: \"decay\",\n from: from,\n velocity: velocity,\n timeConstant: timeConstant,\n power: power,\n restDelta: restDelta,\n modifyTarget: modifyTarget,\n onUpdate: isOutOfBounds(target) ? checkBoundary : undefined,\n });\n }\n return {\n stop: function () { return currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop(); },\n };\n}\n\nexport { inertia };\n","var radiansToDegrees = function (radians) { return (radians * 180) / Math.PI; };\n\nexport { radiansToDegrees };\n","import { radiansToDegrees } from './radians-to-degrees.js';\nimport { zeroPoint } from './inc.js';\n\nvar angle = function (a, b) {\n if (b === void 0) { b = zeroPoint; }\n return radiansToDegrees(Math.atan2(b.y - a.y, b.x - a.x));\n};\n\nexport { angle };\n","var applyOffset = function (from, to) {\n var hasReceivedFrom = true;\n if (to === undefined) {\n to = from;\n hasReceivedFrom = false;\n }\n return function (v) {\n if (hasReceivedFrom) {\n return v - from + to;\n }\n else {\n from = v;\n hasReceivedFrom = true;\n return to;\n }\n };\n};\n\nexport { applyOffset };\n","var identity = function (v) { return v; };\nvar createAttractor = function (alterDisplacement) {\n if (alterDisplacement === void 0) { alterDisplacement = identity; }\n return function (constant, origin, v) {\n var displacement = origin - v;\n var springModifiedDisplacement = -(0 - constant + 1) * (0 - alterDisplacement(Math.abs(displacement)));\n return displacement <= 0\n ? origin + springModifiedDisplacement\n : origin - springModifiedDisplacement;\n };\n};\nvar attract = createAttractor();\nvar attractExpo = createAttractor(Math.sqrt);\n\nexport { attract, attractExpo, createAttractor };\n","var degreesToRadians = function (degrees) { return (degrees * Math.PI) / 180; };\n\nexport { degreesToRadians };\n","var isPoint = function (point) {\n return point.hasOwnProperty('x') && point.hasOwnProperty('y');\n};\n\nexport { isPoint };\n","import { isPoint } from './is-point.js';\n\nvar isPoint3D = function (point) {\n return isPoint(point) && point.hasOwnProperty('z');\n};\n\nexport { isPoint3D };\n","import { isPoint } from './is-point.js';\nimport { isPoint3D } from './is-point-3d.js';\nimport { isNum } from './inc.js';\n\nvar distance1D = function (a, b) { return Math.abs(a - b); };\nfunction distance(a, b) {\n if (isNum(a) && isNum(b)) {\n return distance1D(a, b);\n }\n else if (isPoint(a) && isPoint(b)) {\n var xDelta = distance1D(a.x, b.x);\n var yDelta = distance1D(a.y, b.y);\n var zDelta = isPoint3D(a) && isPoint3D(b) ? distance1D(a.z, b.z) : 0;\n return Math.sqrt(Math.pow(xDelta, 2) + Math.pow(yDelta, 2) + Math.pow(zDelta, 2));\n }\n}\n\nexport { distance };\n","import { degreesToRadians } from './degrees-to-radians.js';\n\nvar pointFromVector = function (origin, angle, distance) {\n angle = degreesToRadians(angle);\n return {\n x: distance * Math.cos(angle) + origin.x,\n y: distance * Math.sin(angle) + origin.y\n };\n};\n\nexport { pointFromVector };\n","var toDecimal = function (num, precision) {\n if (precision === void 0) { precision = 2; }\n precision = Math.pow(10, precision);\n return Math.round(num * precision) / precision;\n};\n\nexport { toDecimal };\n","import { toDecimal } from './to-decimal.js';\n\nvar smoothFrame = function (prevValue, nextValue, duration, smoothing) {\n if (smoothing === void 0) { smoothing = 0; }\n return toDecimal(prevValue +\n (duration * (nextValue - prevValue)) / Math.max(smoothing, duration));\n};\n\nexport { smoothFrame };\n","import { smoothFrame } from './smooth-frame.js';\nimport { getFrameData } from 'framesync';\n\nvar smooth = function (strength) {\n if (strength === void 0) { strength = 50; }\n var previousValue = 0;\n var lastUpdated = 0;\n return function (v) {\n var currentFramestamp = getFrameData().timestamp;\n var timeDelta = currentFramestamp !== lastUpdated ? currentFramestamp - lastUpdated : 0;\n var newValue = timeDelta\n ? smoothFrame(previousValue, v, timeDelta, strength)\n : previousValue;\n lastUpdated = currentFramestamp;\n previousValue = newValue;\n return newValue;\n };\n};\n\nexport { smooth };\n","var snap = function (points) {\n if (typeof points === 'number') {\n return function (v) { return Math.round(v / points) * points; };\n }\n else {\n var i_1 = 0;\n var numPoints_1 = points.length;\n return function (v) {\n var lastDistance = Math.abs(points[0] - v);\n for (i_1 = 1; i_1 < numPoints_1; i_1++) {\n var point = points[i_1];\n var distance = Math.abs(point - v);\n if (distance === 0)\n return point;\n if (distance > lastDistance)\n return points[i_1 - 1];\n if (i_1 === numPoints_1 - 1)\n return point;\n lastDistance = distance;\n }\n };\n }\n};\n\nexport { snap };\n","function velocityPerFrame(xps, frameDuration) {\n return xps / (1000 / frameDuration);\n}\n\nexport { velocityPerFrame };\n","var wrap = function (min, max, v) {\n var rangeSize = max - min;\n return ((((v - min) % rangeSize) + rangeSize) % rangeSize) + min;\n};\n\nexport { wrap };\n","import { linear } from './index.js';\n\nvar a = function (a1, a2) { return 1.0 - 3.0 * a2 + 3.0 * a1; };\nvar b = function (a1, a2) { return 3.0 * a2 - 6.0 * a1; };\nvar c = function (a1) { return 3.0 * a1; };\nvar calcBezier = function (t, a1, a2) {\n return ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n};\nvar getSlope = function (t, a1, a2) {\n return 3.0 * a(a1, a2) * t * t + 2.0 * b(a1, a2) * t + c(a1);\n};\nvar subdivisionPrecision = 0.0000001;\nvar subdivisionMaxIterations = 10;\nfunction binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX;\n var currentT;\n var i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) {\n aB = currentT;\n }\n else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > subdivisionPrecision &&\n ++i < subdivisionMaxIterations);\n return currentT;\n}\nvar newtonIterations = 8;\nvar newtonMinSlope = 0.001;\nfunction newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < newtonIterations; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n}\nvar kSplineTableSize = 11;\nvar kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\nfunction cubicBezier(mX1, mY1, mX2, mY2) {\n if (mX1 === mY1 && mX2 === mY2)\n return linear;\n var sampleValues = new Float32Array(kSplineTableSize);\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n function getTForX(aX) {\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n --currentSample;\n var dist = (aX - sampleValues[currentSample]) /\n (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n if (initialSlope >= newtonMinSlope) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n }\n else if (initialSlope === 0.0) {\n return guessForT;\n }\n else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n }\n return function (t) {\n return t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);\n };\n}\n\nexport { cubicBezier };\n","import { clamp } from '../utils/clamp.js';\n\nvar steps = function (steps, direction) {\n if (direction === void 0) { direction = 'end'; }\n return function (progress) {\n progress =\n direction === 'end' ? Math.min(progress, 0.999) : Math.max(progress, 0.001);\n var expanded = progress * steps;\n var rounded = direction === 'end' ? Math.floor(expanded) : Math.ceil(expanded);\n return clamp(0, 1, rounded / steps);\n };\n};\n\nexport { steps };\n","export { animate } from './animations/index.js';\nexport { inertia } from './animations/inertia.js';\nexport { decay } from './animations/generators/decay.js';\nexport { spring } from './animations/generators/spring.js';\nexport { keyframes } from './animations/generators/keyframes.js';\nexport { angle } from './utils/angle.js';\nexport { applyOffset } from './utils/apply-offset.js';\nexport { attract, attractExpo, createAttractor } from './utils/attract.js';\nexport { clamp } from './utils/clamp.js';\nexport { degreesToRadians } from './utils/degrees-to-radians.js';\nexport { distance } from './utils/distance.js';\nexport { interpolate } from './utils/interpolate.js';\nexport { isPoint3D } from './utils/is-point-3d.js';\nexport { isPoint } from './utils/is-point.js';\nexport { mixColor } from './utils/mix-color.js';\nexport { mixComplex } from './utils/mix-complex.js';\nexport { mix } from './utils/mix.js';\nexport { pipe } from './utils/pipe.js';\nexport { pointFromVector } from './utils/point-from-vector.js';\nexport { progress } from './utils/progress.js';\nexport { radiansToDegrees } from './utils/radians-to-degrees.js';\nexport { smoothFrame } from './utils/smooth-frame.js';\nexport { smooth } from './utils/smooth.js';\nexport { snap } from './utils/snap.js';\nexport { toDecimal } from './utils/to-decimal.js';\nexport { velocityPerFrame } from './utils/velocity-per-frame.js';\nexport { velocityPerSecond } from './utils/velocity-per-second.js';\nexport { wrap } from './utils/wrap.js';\nexport { anticipate, backIn, backInOut, backOut, bounceIn, bounceInOut, bounceOut, circIn, circInOut, circOut, easeIn, easeInOut, easeOut, linear } from './easing/index.js';\nexport { cubicBezier } from './easing/cubic-bezier.js';\nexport { steps } from './easing/steps.js';\nexport { createAnticipate, createBackIn, createExpoIn, mirrorEasing, reverseEasing } from './easing/utils.js';\n","function isMouseEvent(event) {\n // PointerEvent inherits from MouseEvent so we can't use a straight instanceof check.\n if (typeof PointerEvent !== \"undefined\" && event instanceof PointerEvent) {\n return !!(event.pointerType === \"mouse\");\n }\n return event instanceof MouseEvent;\n}\nfunction isTouchEvent(event) {\n var hasTouches = !!event.touches;\n return hasTouches;\n}\n\nexport { isMouseEvent, isTouchEvent };\n","import { isTouchEvent } from '../gestures/utils/event-type.js';\n\n/**\n * Filters out events not attached to the primary pointer (currently left mouse button)\n * @param eventHandler\n */\nfunction filterPrimaryPointer(eventHandler) {\n return function (event) {\n var isMouseEvent = event instanceof MouseEvent;\n var isPrimaryPointer = !isMouseEvent ||\n (isMouseEvent && event.button === 0);\n if (isPrimaryPointer) {\n eventHandler(event);\n }\n };\n}\nvar defaultPagePoint = { pageX: 0, pageY: 0 };\nfunction pointFromTouch(e, pointType) {\n if (pointType === void 0) { pointType = \"page\"; }\n var primaryTouch = e.touches[0] || e.changedTouches[0];\n var point = primaryTouch || defaultPagePoint;\n return {\n x: point[pointType + \"X\"],\n y: point[pointType + \"Y\"],\n };\n}\nfunction pointFromMouse(point, pointType) {\n if (pointType === void 0) { pointType = \"page\"; }\n return {\n x: point[pointType + \"X\"],\n y: point[pointType + \"Y\"],\n };\n}\nfunction extractEventInfo(event, pointType) {\n if (pointType === void 0) { pointType = \"page\"; }\n return {\n point: isTouchEvent(event)\n ? pointFromTouch(event, pointType)\n : pointFromMouse(event, pointType),\n };\n}\nfunction getViewportPointFromEvent(event) {\n return extractEventInfo(event, \"client\");\n}\nvar wrapHandler = function (handler, shouldFilterPrimaryPointer) {\n if (shouldFilterPrimaryPointer === void 0) { shouldFilterPrimaryPointer = false; }\n var listener = function (event) {\n return handler(event, extractEventInfo(event));\n };\n return shouldFilterPrimaryPointer\n ? filterPrimaryPointer(listener)\n : listener;\n};\n\nexport { extractEventInfo, getViewportPointFromEvent, wrapHandler };\n","var isBrowser = typeof window !== \"undefined\";\n// We check for event support via functions in case they've been mocked by a testing suite.\nvar supportsPointerEvents = function () {\n return isBrowser && window.onpointerdown === null;\n};\nvar supportsTouchEvents = function () {\n return isBrowser && window.ontouchstart === null;\n};\nvar supportsMouseEvents = function () {\n return isBrowser && window.onmousedown === null;\n};\n\nexport { supportsMouseEvents, supportsPointerEvents, supportsTouchEvents };\n","import { wrapHandler } from './event-info.js';\nimport { useDomEvent, addDomEvent } from './use-dom-event.js';\nimport { supportsPointerEvents, supportsTouchEvents, supportsMouseEvents } from './utils.js';\n\nvar mouseEventNames = {\n pointerdown: \"mousedown\",\n pointermove: \"mousemove\",\n pointerup: \"mouseup\",\n pointercancel: \"mousecancel\",\n pointerover: \"mouseover\",\n pointerout: \"mouseout\",\n pointerenter: \"mouseenter\",\n pointerleave: \"mouseleave\",\n};\nvar touchEventNames = {\n pointerdown: \"touchstart\",\n pointermove: \"touchmove\",\n pointerup: \"touchend\",\n pointercancel: \"touchcancel\",\n};\nfunction getPointerEventName(name) {\n if (supportsPointerEvents()) {\n return name;\n }\n else if (supportsTouchEvents()) {\n return touchEventNames[name];\n }\n else if (supportsMouseEvents()) {\n return mouseEventNames[name];\n }\n return name;\n}\nfunction addPointerEvent(target, eventName, handler, options) {\n return addDomEvent(target, getPointerEventName(eventName), wrapHandler(handler, eventName === \"pointerdown\"), options);\n}\nfunction usePointerEvent(ref, eventName, handler, options) {\n return useDomEvent(ref, getPointerEventName(eventName), handler && wrapHandler(handler, eventName === \"pointerdown\"), options);\n}\n\nexport { addPointerEvent, usePointerEvent };\n","/**\n * Converts seconds to milliseconds\n *\n * @param seconds - Time in seconds.\n * @return milliseconds - Converted time in milliseconds.\n */\nvar secondsToMilliseconds = function (seconds) { return seconds * 1000; };\n\nexport { secondsToMilliseconds };\n","import { __assign } from 'tslib';\nimport { distance, pipe } from 'popmotion';\nimport { isMouseEvent, isTouchEvent } from './utils/event-type.js';\nimport { extractEventInfo } from '../events/event-info.js';\nimport sync, { getFrameData, cancelSync } from 'framesync';\nimport { secondsToMilliseconds } from '../utils/time-conversion.js';\nimport { addPointerEvent } from '../events/use-pointer-event.js';\n\n/**\n * @internal\n */\nvar PanSession = /** @class */ (function () {\n function PanSession(event, handlers, _a) {\n var _this = this;\n var transformPagePoint = (_a === void 0 ? {} : _a).transformPagePoint;\n /**\n * @internal\n */\n this.startEvent = null;\n /**\n * @internal\n */\n this.lastMoveEvent = null;\n /**\n * @internal\n */\n this.lastMoveEventInfo = null;\n /**\n * @internal\n */\n this.handlers = {};\n this.updatePoint = function () {\n if (!(_this.lastMoveEvent && _this.lastMoveEventInfo))\n return;\n var info = getPanInfo(_this.lastMoveEventInfo, _this.history);\n var isPanStarted = _this.startEvent !== null;\n // Only start panning if the offset is larger than 3 pixels. If we make it\n // any larger than this we'll want to reset the pointer history\n // on the first update to avoid visual snapping to the cursoe.\n var isDistancePastThreshold = distance(info.offset, { x: 0, y: 0 }) >= 3;\n if (!isPanStarted && !isDistancePastThreshold)\n return;\n var point = info.point;\n var timestamp = getFrameData().timestamp;\n _this.history.push(__assign(__assign({}, point), { timestamp: timestamp }));\n var _a = _this.handlers, onStart = _a.onStart, onMove = _a.onMove;\n if (!isPanStarted) {\n onStart && onStart(_this.lastMoveEvent, info);\n _this.startEvent = _this.lastMoveEvent;\n }\n onMove && onMove(_this.lastMoveEvent, info);\n };\n this.handlePointerMove = function (event, info) {\n _this.lastMoveEvent = event;\n _this.lastMoveEventInfo = transformPoint(info, _this.transformPagePoint);\n // Because Safari doesn't trigger mouseup events when it's above a `