{"version":3,"file":"shared-lib.Cv2DJoMQ.mjs","names":["n","e","a","s","i","r","o","l","c","$","g","d","f","h","b","m","S","R","N","B","U","K","j","te","ue","F","G","se","_","fe","pe","ye","R$1","U$1","ce","le","x","E","T","k","p","t","u","C","D","L","M","W","X","Y","Z","e.default","q","mask","Base","MotionSVG","SVG","svg","getProps","Icon","e","t","u","a","s","n","o","r","c","t","e","i","o","n","r","n","e","t","o","n","e","t","a","n","e","r","t","s","o","c","i","h","u","d","f","l","g","m","p","M","n","e","t","o","a","i","s","r","A","c","l","f","u","d","O","g","m","q","j","x","V","se","b","ce","Children","useRef","useMemo","useState","useCallback","size","i","containerStyle","mask","Base","MotionSVG","SVG","svg","getProps","Icon","useRef","useState","progress","mask","Base","MotionSVG","SVG","svg","getProps","Icon","mask","Base","MotionSVG","SVG","svg","getProps","Icon","e","n","t","i","o","r","a","s","l","c","u","f","d","p","v","y","m","g","x","h","S","w","b","_","A","P","C","M","B","I","T","R","E","V","L","k","q","O","D","F","H","j","W","G","N","U","z","X","Q","Y","Z","$","J","Matter","Matter","i","Matter","e","i","y","x","React","useRef","useMemo","useMemo","useMemo","getProps","useRef","useCallback","useState","SrcType","isMotionValue","progress","useMemo","e","mask","Base","MotionSVG","SVG","svg","getProps","Icon","mask","Base","MotionSVG","SVG","svg","getProps","Icon","mask","Base","MotionSVG","SVG","svg","getProps","Icon","mask","Base","MotionSVG","SVG","svg","getProps","Icon","mask","Base","MotionSVG","SVG","svg","getProps","Icon","mask","Base","MotionSVG","SVG","svg","getProps","Icon","mask","Base","MotionSVG","SVG","svg","getProps","Icon","v","useRef","animation","useCallback","animate","i","r","g","b","f","p","q","t","h","v","s","d","a","c","e","j","k","l","m","n","o","x","y","z","pt","_e","global","mask","prng","seed","me","A","B","C","calcBezier","binarySubdivide","window","id","length","animationData","w","addFonts","renderer","_","containerStyle","svg","component","loadAnimation","animation","searchAnimations","standalone","resize","Math","document","clamp","wiggle","fn","index","time","len","TextExpressionSelectorPropFactory","useRef","progress","v","useCallback","d","lottie","c","mask","Base","MotionSVG","SVG","svg","getProps","Icon","SVG","getProps","addPropertyOverrides","XTwitterFonts","XTwitter","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","transformTemplate1","t","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","addPropertyOverrides","LottieFonts","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","serializationHash","variantClassNames","React.useContext","React.useMemo","React.Fragment","humanReadableVariantMap","getProps","useRef","React.useId","Image","useState","useRef","useRef","useState","renderer","event","dt","m","metadata","siteMetadata","__FramerMetadata__","Place","Ajay","Play","Cube","CurrencyEth","Timeline","Image","Baby","Dog","CookingPot","TennisBall","BowlingBall","BluetoothConnected","BuildingApartment","City","AirplaneTakeoff","Client","EmailLetterBounce","Instagram","XTwitter","Cursor","t","useRef","React.useId","React.useMemo","metadataProvider","React.useContext","React.useRef","PropertyOverrides","React.Fragment","__FramerMetadata__","__FramerMetadata__","n","e","t","o","a","r","i","l","s","c","u","d","f","m","p","h","g","T","y","S","E","_","A","b","N","w","R","D","k","v","L","x","C","O","M","I","P","U","F","H","z","B","G","W","Y","j","q","V","X","K","$","Z","J","Q","ee","te","ne","oe","ae","re","ie","le","se","ce","ue","de","fe","me","pe","he","ge","Te","ye","Se","Ee","_e","Ae","be","Ne","we","Re","De","ke","ve","Le","xe","Ce","Oe","Me","Ie","Pe","Ue","Fe","He","ze","Be","Ge","We","Ye","je","qe","Ve","Xe","Ke","$e","Ze","Je","Qe","et","tt","nt","ot","at","rt","it","lt","st","ct","ut","dt","ft","mt","pt","gt","ht","Tt","yt"],"sources":["https:/ga.jspm.io/npm:react-dom@18.2.0/server.browser.js","https:/framerusercontent.com/modules/5raBGd4KDRcUTz8ojjLf/7o8iqFulnPaGKDZXUCFi/SJfDxsK1u.js","https:/ga.jspm.io/npm:@motionone/utils@10.18.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/easing@10.12.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/animation@10.12.0/dist/index.es.js","https:/ga.jspm.io/npm:tslib@2.4.0/tslib.es6.js","https:/ga.jspm.io/npm:hey-listen@1.0.8/dist/index.js","https:/ga.jspm.io/npm:@motionone/generators@10.12.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/dom@10.12.0/dist/index.es.js","https:/framerusercontent.com/modules/B2xAlJLcN0gOnt11mSPw/plhC5PVnCMllW5QXjFK5/Ticker.js","https:/framerusercontent.com/modules/HAXb8usAsbryfPorbMS4/szDG4SSfU1UCFng50IhF/nyoPQewhK.js","https:/framerusercontent.com/modules/iF2BK3XJGo26hqTEzvZb/JmouPMNIChcfxCFyYd75/Text_reveal.js","https:/framerusercontent.com/modules/iu0p202iEjNfPwRyYr9k/zchUf4GIYlz0eAFi943k/MGKQMYcU_.js","https:/framerusercontent.com/modules/IW8eT5WIk3KTWFMS60ea/RnmeAR2cnxQveMoaotee/ROMgNYbWo.js","https:/ga.jspm.io/npm:matter-js@0.18.0/build/matter.js","https:/framerusercontent.com/modules/KYVdEKqNHqMXAKLjSKCy/Ok6wam0uM9G4VUuXWgpR/MakeWalls.js","https:/framerusercontent.com/modules/6UgWtAa26OCy0CE59gub/LTuIQWugGJr30ZUS1CV9/MakeBodies.js","https:/framerusercontent.com/modules/J5dvZmKgCR2VeJUGUW9R/NOka49dL3NFIzOG8ITuA/Physics.js","https:/framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js","https:/framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js","https:/framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js","https:/framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js","https:/framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js","https:/framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js","https:/framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js","https:/framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js","https:/framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js","https:/framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js","https:/framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js","https:/framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js","https:/framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js","https:/framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/7qT0r3So12155VV5Jq5x/Video.js","https:/framerusercontent.com/modules/mnUzXNoSANQW9sdZt1dp/uyBl5cgMASxoO0ySyB2t/ld7AB1Ee5.js","https:/framerusercontent.com/modules/nHWpbcOHROwZuHrCuGcp/QkZJMqtGBwYQnlno0lGp/mkmWZVJfb.js","https:/framerusercontent.com/modules/oRZNz1OhAISK82DtcOGB/N62yml5nm6Kfn4RfwfiC/nIWEFZ57c.js","https:/framerusercontent.com/modules/sAXeBdgUfCO8OkP6W85o/m7gbS9fiDJD3PfwUSOpB/L7I4zONfC.js","https:/framerusercontent.com/modules/SXms8QPV7HOdv0ymi7XL/xwXB3bgRHYCQxlj7S87e/WaQj1TO0h.js","https:/framerusercontent.com/modules/Xh2LpCymrJOcnDpnJmXt/11az79mLGUbrG0BpGFNC/Gw5FKyFcZ.js","https:/framerusercontent.com/modules/XZjGh6WNSSoYvnWKMVf4/TznB3kyVH5yQerzixc4h/DxG26HiGs.js","https:/framer.com/m/framer/default-utils.js@^0.45.0","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/V4SPg9g59hF1vFH3ZTF0/useAutoMotionValue.js","https:/framer.com/m/framer/useAutoMotionValue.js@0.3.0","https:/jspm.dev/npm:lottie-web@5.7.8!cjs","https:/jspm.dev/lottie-web@5.7.8","https:/framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/RLfsHd78NBd0kbafA9hd/Lottie.js","https:/framerusercontent.com/modules/Z3SvZ0jTKaMZmlhJRmcE/mkaBUKIOEu7xMwHKV3w4/O8tBtOdoQ.js","https:/framerusercontent.com/modules/zPrwTKz9iM7sILyOOAPR/kJGJ0UHfX5g4v9E9poiq/AX0IJInwb.js","https:/framerusercontent.com/modules/6QOmFgfiyqDpzgeYdsz4/mgOMUmk8tbXHiISU5eSJ/a2Ip4OGR8.js","https:/framerusercontent.com/modules/XCIk8yRLzmLxlQL1Oni2/dOWvZK4XkermFEvMBCbb/acIUa1w7M.js","https:/framerusercontent.com/modules/a5y5Bfel6yc6I4lPsX5R/gMvzNMNVPxwAMhjDnX6m/c6_VdooEz.js","https:/framerusercontent.com/modules/aeqwbujIx4zqk3DzUhk6/9TakoZlMz5XFFXr5tdRd/EE0ef5Dt3.js","https:/framerusercontent.com/modules/kN35qlgUHw34xUiZYwzS/LqdelA6touiFrCN5LMaB/v3HOliX1U.js","https:/framerusercontent.com/modules/25LJLAnh8iQQT4xYlJUh/vCoI2b1WjlkJMGTWjY4u/whZQTHvh0.js","https:/framerusercontent.com/modules/9IuODO0riVfLsmO7gdoJ/ur2dASyQ6OIAk8fooCGK/EmailLetterBounce.js","https:/framerusercontent.com/modules/MNptRu97DbtnUDtsJeHC/2W2duVLT4J0yLLswtx0P/LorenzoInteractivePortrait.js","https:/framerusercontent.com/modules/unMugBafMIiBthAYP7eq/moKFe7vt5n290kwEOA16/siteMetadata.js","https:/framerusercontent.com/modules/6CjCcuGKYsbRNp1n6Cv2/WzmzuI3nWzuc7bW7knTz/augiA20Il.js","https:/framerusercontent.com/modules/i2wUmize2UH1GmN5S8Bo/Ibeznp9BiOJdhnGEKPSX/augiA20Il.js","https:/framerusercontent.com/modules/Va8HcNbHeU8Kd9pMJLCV/RRtEueXqA6blSRG8BaA8/snippets.js","https:/framerusercontent.com/modules/7cPhjQw0EGNBHRZlzbhH/4hSO1fMoujYmMhk8FjXZ/NotFoundPage.js","https:/framer.com/m/framer/SitesNotFoundPage.js@1.4.0","https:/ga.jspm.io/npm:dompurify@3.0.6/dist/purify.js"],"sourcesContent":["import*as e from\"react\";var n=\"default\"in e?e.default:e;var a={};var o=n;function l$2(e){for(var n=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,a=1;a<arguments.length;a++)n+=\"&args[]=\"+encodeURIComponent(arguments[a]);return\"Minified React error #\"+e+\"; visit \"+n+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var l=Object.prototype.hasOwnProperty,i=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,s={},c={};function ja$1(e){if(l.call(c,e))return!0;if(l.call(s,e))return!1;if(i.test(e))return c[e]=!0;s[e]=!0;return!1}function r(e,n,a,o,l,i,s){this.acceptsBooleans=2===n||3===n||4===n;this.attributeName=o;this.attributeNamespace=l;this.mustUseProperty=a;this.propertyName=e;this.type=n;this.sanitizeURL=i;this.removeEmptyString=s}var d={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){d[e]=new r(e,0,!1,e,null,!1,!1)}));[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var n=e[0];d[n]=new r(n,1,!1,e[1],null,!1,!1)}));[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){d[e]=new r(e,2,!1,e.toLowerCase(),null,!1,!1)}));[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){d[e]=new r(e,2,!1,e,null,!1,!1)}));\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){d[e]=new r(e,3,!1,e.toLowerCase(),null,!1,!1)}));[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){d[e]=new r(e,3,!0,e,null,!1,!1)}));[\"capture\",\"download\"].forEach((function(e){d[e]=new r(e,4,!1,e,null,!1,!1)}));[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){d[e]=new r(e,6,!1,e,null,!1,!1)}));[\"rowSpan\",\"start\"].forEach((function(e){d[e]=new r(e,5,!1,e.toLowerCase(),null,!1,!1)}));var f=/[\\-:]([a-z])/g;function la$1(e){return e[1].toUpperCase()}\"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(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,null,!1,!1)}));\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)}));[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)}));[\"tabIndex\",\"crossOrigin\"].forEach((function(e){d[e]=new r(e,1,!1,e.toLowerCase(),null,!1,!1)}));d.xlinkHref=new r(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){d[e]=new r(e,1,!1,e.toLowerCase(),null,!0,!0)}));var h={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},g=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(h).forEach((function(e){g.forEach((function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1);h[n]=h[e]}))}));var b=/[\"'&<>]/;function v(e){if(\"boolean\"===typeof e||\"number\"===typeof e)return\"\"+e;e=\"\"+e;var n=b.exec(e);if(n){var a,o=\"\",l=0;for(a=n.index;a<e.length;a++){switch(e.charCodeAt(a)){case 34:n=\"&quot;\";break;case 38:n=\"&amp;\";break;case 39:n=\"&#x27;\";break;case 60:n=\"&lt;\";break;case 62:n=\"&gt;\";break;default:continue}l!==a&&(o+=e.substring(l,a));l=a+1;o+=n}e=l!==a?o+e.substring(l,a):o}return e}var m=/([A-Z])/g,S=/^ms-/,x=Array.isArray;function w$1(e,n){return{insertionMode:e,selectedValue:n}}function ra$1(e,n,a){switch(n){case\"select\":return w$1(1,null!=a.value?a.value:a.defaultValue);case\"svg\":return w$1(2,null);case\"math\":return w$1(3,null);case\"foreignObject\":return w$1(1,null);case\"table\":return w$1(4,null);case\"thead\":case\"tbody\":case\"tfoot\":return w$1(5,null);case\"colgroup\":return w$1(7,null);case\"tr\":return w$1(6,null)}return 4<=e.insertionMode||0===e.insertionMode?w$1(1,null):e}var $=new Map;function ta$1(e,n,a){if(\"object\"!==typeof a)throw Error(l$2(62));n=!0;for(var o in a)if(l.call(a,o)){var i=a[o];if(null!=i&&\"boolean\"!==typeof i&&\"\"!==i){if(0===o.indexOf(\"--\")){var s=v(o);i=v((\"\"+i).trim())}else{s=o;var c=$.get(s);void 0!==c||(c=v(s.replace(m,\"-$1\").toLowerCase().replace(S,\"-ms-\")),$.set(s,c)),s=c;i=\"number\"===typeof i?0===i||l.call(h,o)?\"\"+i:i+\"px\":v((\"\"+i).trim())}n?(n=!1,e.push(' style=\"',s,\":\",i)):e.push(\";\",s,\":\",i)}}n||e.push('\"')}function x$1(e,n,a,o){switch(a){case\"style\":ta$1(e,n,o);return;case\"defaultValue\":case\"defaultChecked\":case\"innerHTML\":case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":return}if(!(2<a.length)||\"o\"!==a[0]&&\"O\"!==a[0]||\"n\"!==a[1]&&\"N\"!==a[1])if(n=d.hasOwnProperty(a)?d[a]:null,null!==n){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(!n.acceptsBooleans)return}a=n.attributeName;switch(n.type){case 3:o&&e.push(\" \",a,'=\"\"');break;case 4:!0===o?e.push(\" \",a,'=\"\"'):!1!==o&&e.push(\" \",a,'=\"',v(o),'\"');break;case 5:isNaN(o)||e.push(\" \",a,'=\"',v(o),'\"');break;case 6:!isNaN(o)&&1<=o&&e.push(\" \",a,'=\"',v(o),'\"');break;default:n.sanitizeURL&&(o=\"\"+o),e.push(\" \",a,'=\"',v(o),'\"')}}else if(ja$1(a)){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(n=a.toLowerCase().slice(0,5),\"data-\"!==n&&\"aria-\"!==n)return}e.push(\" \",a,'=\"',v(o),'\"')}}function y$1(e,n,a){if(null!=n){if(null!=a)throw Error(l$2(60));if(\"object\"!==typeof n||!(\"__html\"in n))throw Error(l$2(61));n=n.__html;null!==n&&void 0!==n&&e.push(\"\"+n)}}function ua$1(e){var n=\"\";o.Children.forEach(e,(function(e){null!=e&&(n+=e)}));return n}function va$1(e,n,a,o){e.push(A(a));var i,s=a=null;for(i in n)if(l.call(n,i)){var c=n[i];if(null!=c)switch(i){case\"children\":a=c;break;case\"dangerouslySetInnerHTML\":s=c;break;default:x$1(e,o,i,c)}}e.push(\">\");y$1(e,s,a);return\"string\"===typeof a?(e.push(v(a)),null):a}var E=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,T=new Map;function A(e){var n=T.get(e);if(void 0===n){if(!E.test(e))throw Error(l$2(65,e));n=\"<\"+e;T.set(e,n)}return n}function ya$1(e,n,a,o,i){switch(n){case\"select\":e.push(A(\"select\"));var s=null,c=null;for(g in a)if(l.call(a,g)){var d=a[g];if(null!=d)switch(g){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;case\"defaultValue\":case\"value\":break;default:x$1(e,o,g,d)}}e.push(\">\");y$1(e,c,s);return s;case\"option\":c=i.selectedValue;e.push(A(\"option\"));var f=d=null,h=null;var g=null;for(s in a)if(l.call(a,s)){var b=a[s];if(null!=b)switch(s){case\"children\":d=b;break;case\"selected\":h=b;break;case\"dangerouslySetInnerHTML\":g=b;break;case\"value\":f=b;default:x$1(e,o,s,b)}}if(null!=c)if(a=null!==f?\"\"+f:ua$1(d),x(c)){for(o=0;o<c.length;o++)if(\"\"+c[o]===a){e.push(' selected=\"\"');break}}else\"\"+c===a&&e.push(' selected=\"\"');else h&&e.push(' selected=\"\"');e.push(\">\");y$1(e,g,d);return d;case\"textarea\":e.push(A(\"textarea\"));g=c=s=null;for(d in a)if(l.call(a,d)&&(f=a[d],null!=f))switch(d){case\"children\":g=f;break;case\"value\":s=f;break;case\"defaultValue\":c=f;break;case\"dangerouslySetInnerHTML\":throw Error(l$2(91));default:x$1(e,o,d,f)}null===s&&null!==c&&(s=c);e.push(\">\");if(null!=g){if(null!=s)throw Error(l$2(92));if(x(g)&&1<g.length)throw Error(l$2(93));s=\"\"+g}\"string\"===typeof s&&\"\\n\"===s[0]&&e.push(\"\\n\");null!==s&&e.push(v(\"\"+s));return null;case\"input\":e.push(A(\"input\"));f=g=d=s=null;for(c in a)if(l.call(a,c)&&(h=a[c],null!=h))switch(c){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(399,\"input\"));case\"defaultChecked\":f=h;break;case\"defaultValue\":d=h;break;case\"checked\":g=h;break;case\"value\":s=h;break;default:x$1(e,o,c,h)}null!==g?x$1(e,o,\"checked\",g):null!==f&&x$1(e,o,\"checked\",f);null!==s?x$1(e,o,\"value\",s):null!==d&&x$1(e,o,\"value\",d);e.push(\"/>\");return null;case\"menuitem\":e.push(A(\"menuitem\"));for(var m in a)if(l.call(a,m)&&(s=a[m],null!=s))switch(m){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(400));default:x$1(e,o,m,s)}e.push(\">\");return null;case\"title\":e.push(A(\"title\"));s=null;for(b in a)if(l.call(a,b)&&(c=a[b],null!=c))switch(b){case\"children\":s=c;break;case\"dangerouslySetInnerHTML\":throw Error(l$2(434));default:x$1(e,o,b,c)}e.push(\">\");return s;case\"listing\":case\"pre\":e.push(A(n));c=s=null;for(f in a)if(l.call(a,f)&&(d=a[f],null!=d))switch(f){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;default:x$1(e,o,f,d)}e.push(\">\");if(null!=c){if(null!=s)throw Error(l$2(60));if(\"object\"!==typeof c||!(\"__html\"in c))throw Error(l$2(61));a=c.__html;null!==a&&void 0!==a&&(\"string\"===typeof a&&0<a.length&&\"\\n\"===a[0]?e.push(\"\\n\",a):e.push(\"\"+a))}\"string\"===typeof s&&\"\\n\"===s[0]&&e.push(\"\\n\");return s;case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":e.push(A(n));for(var S in a)if(l.call(a,S)&&(s=a[S],null!=s))switch(S){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(399,n));default:x$1(e,o,S,s)}e.push(\"/>\");return null;case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return va$1(e,a,n,o);case\"html\":return 0===i.insertionMode&&e.push(\"<!DOCTYPE html>\"),va$1(e,a,n,o);default:if(-1===n.indexOf(\"-\")&&\"string\"!==typeof a.is)return va$1(e,a,n,o);e.push(A(n));c=s=null;for(h in a)if(l.call(a,h)&&(d=a[h],null!=d))switch(h){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;case\"style\":ta$1(e,o,d);break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":break;default:ja$1(h)&&\"function\"!==typeof d&&\"symbol\"!==typeof d&&e.push(\" \",h,'=\"',v(d),'\"')}e.push(\">\");y$1(e,c,s);return s}}function za$1(e,n,a){e.push('\\x3c!--$?--\\x3e<template id=\"');if(null===a)throw Error(l$2(395));e.push(a);return e.push('\"></template>')}function Aa$1(e,n,a,o){switch(a.insertionMode){case 0:case 1:return e.push('<div hidden id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 2:return e.push('<svg aria-hidden=\"true\" style=\"display:none\" id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 3:return e.push('<math aria-hidden=\"true\" style=\"display:none\" id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 4:return e.push('<table hidden id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 5:return e.push('<table hidden><tbody id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 6:return e.push('<table hidden><tr id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 7:return e.push('<table hidden><colgroup id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');default:throw Error(l$2(397))}}function Ba$1(e,n){switch(n.insertionMode){case 0:case 1:return e.push(\"</div>\");case 2:return e.push(\"</svg>\");case 3:return e.push(\"</math>\");case 4:return e.push(\"</table>\");case 5:return e.push(\"</tbody></table>\");case 6:return e.push(\"</tr></table>\");case 7:return e.push(\"</colgroup></table>\");default:throw Error(l$2(397))}}var R=/[<\\u2028\\u2029]/g;function Da$1(e){return JSON.stringify(e).replace(R,(function(e){switch(e){case\"<\":return\"\\\\u003c\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw Error(\"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\")}}))}function Ea$1(e,n){n=void 0===n?\"\":n;return{bootstrapChunks:[],startInlineScript:\"<script>\",placeholderPrefix:n+\"P:\",segmentPrefix:n+\"S:\",boundaryPrefix:n+\"B:\",idPrefix:n,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1,generateStaticMarkup:e}}function Fa$1(e,n,a,o){if(a.generateStaticMarkup)return e.push(v(n)),!1;\"\"===n?e=o:(o&&e.push(\"\\x3c!-- --\\x3e\"),e.push(v(n)),e=!0);return e}var _=Object.assign,I=Symbol.for(\"react.element\"),B=Symbol.for(\"react.portal\"),N=Symbol.for(\"react.fragment\"),z=Symbol.for(\"react.strict_mode\"),V=Symbol.for(\"react.profiler\"),j=Symbol.for(\"react.provider\"),O=Symbol.for(\"react.context\"),H=Symbol.for(\"react.forward_ref\"),U=Symbol.for(\"react.suspense\"),K=Symbol.for(\"react.suspense_list\"),ee=Symbol.for(\"react.memo\"),te=Symbol.for(\"react.lazy\"),ne=Symbol.for(\"react.scope\"),re=Symbol.for(\"react.debug_trace_mode\"),ae=Symbol.for(\"react.legacy_hidden\"),oe=Symbol.for(\"react.default_value\"),le=Symbol.iterator;function Xa$1(e){if(null==e)return null;if(\"function\"===typeof e)return e.displayName||e.name||null;if(\"string\"===typeof e)return e;switch(e){case N:return\"Fragment\";case B:return\"Portal\";case V:return\"Profiler\";case z:return\"StrictMode\";case U:return\"Suspense\";case K:return\"SuspenseList\"}if(\"object\"===typeof e)switch(e.$$typeof){case O:return(e.displayName||\"Context\")+\".Consumer\";case j:return(e._context.displayName||\"Context\")+\".Provider\";case H:var n=e.render;e=e.displayName;e||(e=n.displayName||n.name||\"\",e=\"\"!==e?\"ForwardRef(\"+e+\")\":\"ForwardRef\");return e;case ee:return n=e.displayName||null,null!==n?n:Xa$1(e.type)||\"Memo\";case te:n=e._payload;e=e._init;try{return Xa$1(e(n))}catch(e){}}return null}var ue={};function Za$1(e,n){e=e.contextTypes;if(!e)return ue;var a,o={};for(a in e)o[a]=n[a];return o}var ie=null;function F(e,n){if(e!==n){e.context._currentValue2=e.parentValue;e=e.parent;var a=n.parent;if(null===e){if(null!==a)throw Error(l$2(401))}else{if(null===a)throw Error(l$2(401));F(e,a)}n.context._currentValue2=n.value}}function $a$1(e){e.context._currentValue2=e.parentValue;e=e.parent;null!==e&&$a$1(e)}function ab$1(e){var n=e.parent;null!==n&&ab$1(n);e.context._currentValue2=e.value}function bb$1(e,n){e.context._currentValue2=e.parentValue;e=e.parent;if(null===e)throw Error(l$2(402));e.depth===n.depth?F(e,n):bb$1(e,n)}function cb$1(e,n){var a=n.parent;if(null===a)throw Error(l$2(402));e.depth===a.depth?F(e,a):cb$1(e,a);n.context._currentValue2=n.value}function G(e){var n=ie;n!==e&&(null===n?ab$1(e):null===e?$a$1(n):n.depth===e.depth?F(n,e):n.depth>e.depth?bb$1(n,e):cb$1(n,e),ie=e)}var se={isMounted:function(){return!1},enqueueSetState:function(e,n){e=e._reactInternals;null!==e.queue&&e.queue.push(n)},enqueueReplaceState:function(e,n){e=e._reactInternals;e.replace=!0;e.queue=[n]},enqueueForceUpdate:function(){}};function eb$1(e,n,a,o){var l=void 0!==e.state?e.state:null;e.updater=se;e.props=a;e.state=l;var i={queue:[],replace:!1};e._reactInternals=i;var s=n.contextType;e.context=\"object\"===typeof s&&null!==s?s._currentValue2:o;s=n.getDerivedStateFromProps;\"function\"===typeof s&&(s=s(a,l),l=null===s||void 0===s?l:_({},l,s),e.state=l);if(\"function\"!==typeof n.getDerivedStateFromProps&&\"function\"!==typeof e.getSnapshotBeforeUpdate&&(\"function\"===typeof e.UNSAFE_componentWillMount||\"function\"===typeof e.componentWillMount))if(n=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),n!==e.state&&se.enqueueReplaceState(e,e.state,null),null!==i.queue&&0<i.queue.length)if(n=i.queue,s=i.replace,i.queue=null,i.replace=!1,s&&1===n.length)e.state=n[0];else{i=s?n[0]:e.state;l=!0;for(s=s?1:0;s<n.length;s++){var c=n[s];c=\"function\"===typeof c?c.call(e,i,a,o):c;null!=c&&(l?(l=!1,i=_({},i,c)):_(i,c))}e.state=i}else i.queue=null}var ce={id:1,overflow:\"\"};function gb$1(e,n,a){var o=e.id;e=e.overflow;var l=32-de(o)-1;o&=~(1<<l);a+=1;var i=32-de(n)+l;if(30<i){var s=l-l%5;i=(o&(1<<s)-1).toString(32);o>>=s;l-=s;return{id:1<<32-de(n)+l|a<<l|o,overflow:i+e}}return{id:1<<i|a<<l|o,overflow:e}}var de=Math.clz32?Math.clz32:hb$1,fe=Math.log,pe=Math.LN2;function hb$1(e){e>>>=0;return 0===e?32:31-(fe(e)/pe|0)|0}function kb$1(e,n){return e===n&&(0!==e||1/e===1/n)||e!==e&&n!==n}var he=\"function\"===typeof Object.is?Object.is:kb$1,ge=null,be=null,me=null,ye=null,ve=!1,ke=!1,we=0,Se=null,xe=0;function Q$1(){if(null===ge)throw Error(l$2(321));return ge}function pb$1(){if(0<xe)throw Error(l$2(312));return{memoizedState:null,queue:null,next:null}}function qb$1(){null===ye?null===me?(ve=!1,me=ye=pb$1()):(ve=!0,ye=me):null===ye.next?(ve=!1,ye=ye.next=pb$1()):(ve=!0,ye=ye.next);return ye}function rb$1(){be=ge=null;ke=!1;me=null;xe=0;ye=Se=null}function sb$1(e,n){return\"function\"===typeof n?n(e):n}function tb$1(e,n,a){ge=Q$1();ye=qb$1();if(ve){var o=ye.queue;n=o.dispatch;if(null!==Se&&(a=Se.get(o),void 0!==a)){Se.delete(o);o=ye.memoizedState;do{o=e(o,a.action),a=a.next}while(null!==a);ye.memoizedState=o;return[o,n]}return[ye.memoizedState,n]}e=e===sb$1?\"function\"===typeof n?n():n:void 0!==a?a(n):n;ye.memoizedState=e;e=ye.queue={last:null,dispatch:null};e=e.dispatch=ub$1.bind(null,ge,e);return[ye.memoizedState,e]}function vb$1(e,n){ge=Q$1();ye=qb$1();n=void 0===n?null:n;if(null!==ye){var a=ye.memoizedState;if(null!==a&&null!==n){var o=a[1];e:if(null===o)o=!1;else{for(var l=0;l<o.length&&l<n.length;l++)if(!he(n[l],o[l])){o=!1;break e}o=!0}if(o)return a[0]}}e=e();ye.memoizedState=[e,n];return e}function ub$1(e,n,a){if(25<=xe)throw Error(l$2(301));if(e===ge)if(ke=!0,e={action:a,next:null},null===Se&&(Se=new Map),a=Se.get(n),void 0===a)Se.set(n,e);else{for(n=a;null!==n.next;)n=n.next;n.next=e}}function wb$1(){throw Error(l$2(394))}function R$1(){}var $e={readContext:function(e){return e._currentValue2},useContext:function(e){Q$1();return e._currentValue2},useMemo:vb$1,useReducer:tb$1,useRef:function(e){ge=Q$1();ye=qb$1();var n=ye.memoizedState;return null===n?(e={current:e},ye.memoizedState=e):n},useState:function(e){return tb$1(sb$1,e)},useInsertionEffect:R$1,useLayoutEffect:function(){},useCallback:function(e,n){return vb$1((function(){return e}),n)},useImperativeHandle:R$1,useEffect:R$1,useDebugValue:R$1,useDeferredValue:function(e){Q$1();return e},useTransition:function(){Q$1();return[!1,wb$1]},useId:function(){var e=be.treeContext;var n=e.overflow;e=e.id;e=(e&~(1<<32-de(e)-1)).toString(32)+n;var a=Ce;if(null===a)throw Error(l$2(404));n=we++;e=\":\"+a.idPrefix+\"R\"+e;0<n&&(e+=\"H\"+n.toString(32));return e+\":\"},useMutableSource:function(e,n){Q$1();return n(e._source)},useSyncExternalStore:function(e,n,a){if(void 0===a)throw Error(l$2(407));return a()}},Ce=null,Ee=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function zb$1(e){console.error(e);return null}function T$1(){}function Ab$1(e,n,a,o,l,i,s,c,d){var f=[],h=new Set;n={destination:null,responseState:n,progressiveChunkSize:void 0===o?12800:o,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:h,pingedTasks:f,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===l?zb$1:l,onAllReady:void 0===i?T$1:i,onShellReady:void 0===s?T$1:s,onShellError:void 0===c?T$1:c,onFatalError:void 0===d?T$1:d};a=U$1(n,0,null,a,!1,!1);a.parentFlushed=!0;e=Bb$1(n,e,null,a,h,ue,null,ce);f.push(e);return n}function Bb$1(e,n,a,o,l,i,s,c){e.allPendingTasks++;null===a?e.pendingRootTasks++:a.pendingTasks++;var d={node:n,ping:function(){var n=e.pingedTasks;n.push(d);1===n.length&&Cb$1(e)},blockedBoundary:a,blockedSegment:o,abortSet:l,legacyContext:i,context:s,treeContext:c};l.add(d);return d}function U$1(e,n,a,o,l,i){return{status:0,id:-1,index:n,parentFlushed:!1,chunks:[],children:[],formatContext:o,boundary:a,lastPushedText:l,textEmbedded:i}}function V$1(e,n){e=e.onError(n);if(null!=e&&\"string\"!==typeof e)throw Error('onError returned something with a type other than \"string\". onError should return a string and may return null or undefined but must not return anything else. It received something of type \"'+typeof e+'\" instead');return e}function W$1(e,n){var a=e.onShellError;a(n);a=e.onFatalError;a(n);null!==e.destination?(e.status=2,e.destination.destroy(n)):(e.status=1,e.fatalError=n)}function Db$1(e,n,a,o,l){ge={};be=n;we=0;for(e=a(o,l);ke;)ke=!1,we=0,xe+=1,ye=null,e=a(o,l);rb$1();return e}function Eb$1(e,n,a,o){var l=a.render(),i=o.childContextTypes;if(null!==i&&void 0!==i){var s=n.legacyContext;if(\"function\"!==typeof a.getChildContext)o=s;else{a=a.getChildContext();for(var c in a)if(!(c in i))throw Error(l$2(108,Xa$1(o)||\"Unknown\",c));o=_({},s,a)}n.legacyContext=o;X$1(e,n,l);n.legacyContext=s}else X$1(e,n,l)}function Fb(e,n){if(e&&e.defaultProps){n=_({},n);e=e.defaultProps;for(var a in e)void 0===n[a]&&(n[a]=e[a]);return n}return n}function Gb$1(e,n,a,o,l){if(\"function\"===typeof a)if(a.prototype&&a.prototype.isReactComponent){l=Za$1(a,n.legacyContext);var i=a.contextType;i=new a(o,\"object\"===typeof i&&null!==i?i._currentValue2:l);eb$1(i,a,o,l);Eb$1(e,n,i,a)}else{i=Za$1(a,n.legacyContext);l=Db$1(e,n,a,o,i);var s=0!==we;if(\"object\"===typeof l&&null!==l&&\"function\"===typeof l.render&&void 0===l.$$typeof)eb$1(l,a,o,i),Eb$1(e,n,l,a);else if(s){o=n.treeContext;n.treeContext=gb$1(o,1,0);try{X$1(e,n,l)}finally{n.treeContext=o}}else X$1(e,n,l)}else{if(\"string\"!==typeof a){switch(a){case ae:case re:case z:case V:case N:X$1(e,n,o.children);return;case K:X$1(e,n,o.children);return;case ne:throw Error(l$2(343));case U:e:{a=n.blockedBoundary;l=n.blockedSegment;i=o.fallback;o=o.children;s=new Set;var c={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:s,errorDigest:null},d=U$1(e,l.chunks.length,c,l.formatContext,!1,!1);l.children.push(d);l.lastPushedText=!1;var f=U$1(e,0,null,l.formatContext,!1,!1);f.parentFlushed=!0;n.blockedBoundary=c;n.blockedSegment=f;try{if(Hb$1(e,n,o),e.responseState.generateStaticMarkup||f.lastPushedText&&f.textEmbedded&&f.chunks.push(\"\\x3c!-- --\\x3e\"),f.status=1,Y$1(c,f),0===c.pendingTasks)break e}catch(n){f.status=4,c.forceClientRender=!0,c.errorDigest=V$1(e,n)}finally{n.blockedBoundary=a,n.blockedSegment=l}n=Bb$1(e,i,a,d,s,n.legacyContext,n.context,n.treeContext);e.pingedTasks.push(n)}return}if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case H:o=Db$1(e,n,a.render,o,l);if(0!==we){a=n.treeContext;n.treeContext=gb$1(a,1,0);try{X$1(e,n,o)}finally{n.treeContext=a}}else X$1(e,n,o);return;case ee:a=a.type;o=Fb(a,o);Gb$1(e,n,a,o,l);return;case j:l=o.children;a=a._context;o=o.value;i=a._currentValue2;a._currentValue2=o;s=ie;ie=o={parent:s,depth:null===s?0:s.depth+1,context:a,parentValue:i,value:o};n.context=o;X$1(e,n,l);e=ie;if(null===e)throw Error(l$2(403));o=e.parentValue;e.context._currentValue2=o===oe?e.context._defaultValue:o;e=ie=e.parent;n.context=e;return;case O:o=o.children;o=o(a._currentValue2);X$1(e,n,o);return;case te:l=a._init;a=l(a._payload);o=Fb(a,o);Gb$1(e,n,a,o,void 0);return}throw Error(l$2(130,null==a?a:typeof a,\"\"))}l=n.blockedSegment;i=ya$1(l.chunks,a,o,e.responseState,l.formatContext);l.lastPushedText=!1;s=l.formatContext;l.formatContext=ra$1(s,a,o);Hb$1(e,n,i);l.formatContext=s;switch(a){case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"input\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":break;default:l.chunks.push(\"</\",a,\">\")}l.lastPushedText=!1}}function X$1(e,n,a){n.node=a;if(\"object\"===typeof a&&null!==a){switch(a.$$typeof){case I:Gb$1(e,n,a.type,a.props,a.ref);return;case B:throw Error(l$2(257));case te:var o=a._init;a=o(a._payload);X$1(e,n,a);return}if(x(a)){Ib$1(e,n,a);return}null===a||\"object\"!==typeof a?o=null:(o=le&&a[le]||a[\"@@iterator\"],o=\"function\"===typeof o?o:null);if(o&&(o=o.call(a))){a=o.next();if(!a.done){var l=[];do{l.push(a.value),a=o.next()}while(!a.done);Ib$1(e,n,l)}return}e=Object.prototype.toString.call(a);throw Error(l$2(31,\"[object Object]\"===e?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":e))}\"string\"===typeof a?(o=n.blockedSegment,o.lastPushedText=Fa$1(n.blockedSegment.chunks,a,e.responseState,o.lastPushedText)):\"number\"===typeof a&&(o=n.blockedSegment,o.lastPushedText=Fa$1(n.blockedSegment.chunks,\"\"+a,e.responseState,o.lastPushedText))}function Ib$1(e,n,a){for(var o=a.length,l=0;l<o;l++){var i=n.treeContext;n.treeContext=gb$1(i,o,l);try{Hb$1(e,n,a[l])}finally{n.treeContext=i}}}function Hb$1(e,n,a){var o=n.blockedSegment.formatContext,l=n.legacyContext,i=n.context;try{return X$1(e,n,a)}catch(d){if(rb$1(),\"object\"!==typeof d||null===d||\"function\"!==typeof d.then)throw n.blockedSegment.formatContext=o,n.legacyContext=l,n.context=i,G(i),d;a=d;var s=n.blockedSegment,c=U$1(e,s.chunks.length,null,s.formatContext,s.lastPushedText,!0);s.children.push(c);s.lastPushedText=!1;e=Bb$1(e,n.node,n.blockedBoundary,c,n.abortSet,n.legacyContext,n.context,n.treeContext).ping;a.then(e,e);n.blockedSegment.formatContext=o;n.legacyContext=l;n.context=i;G(i)}}function Jb$1(e){var n=e.blockedBoundary;e=e.blockedSegment;e.status=3;Kb$1(this,n,e)}function Lb$1(e,n,a){var o=e.blockedBoundary;e.blockedSegment.status=3;null===o?(n.allPendingTasks--,2!==n.status&&(n.status=2,null!==n.destination&&n.destination.push(null))):(o.pendingTasks--,o.forceClientRender||(o.forceClientRender=!0,e=void 0===a?Error(l$2(432)):a,o.errorDigest=n.onError(e),o.parentFlushed&&n.clientRenderedBoundaries.push(o)),o.fallbackAbortableTasks.forEach((function(e){return Lb$1(e,n,a)})),o.fallbackAbortableTasks.clear(),n.allPendingTasks--,0===n.allPendingTasks&&(o=n.onAllReady,o()))}function Y$1(e,n){if(0===n.chunks.length&&1===n.children.length&&null===n.children[0].boundary){var a=n.children[0];a.id=n.id;a.parentFlushed=!0;1===a.status&&Y$1(e,a)}else e.completedSegments.push(n)}function Kb$1(e,n,a){if(null===n){if(a.parentFlushed){if(null!==e.completedRootSegment)throw Error(l$2(389));e.completedRootSegment=a}e.pendingRootTasks--;0===e.pendingRootTasks&&(e.onShellError=T$1,n=e.onShellReady,n())}else n.pendingTasks--,n.forceClientRender||(0===n.pendingTasks?(a.parentFlushed&&1===a.status&&Y$1(n,a),n.parentFlushed&&e.completedBoundaries.push(n),n.fallbackAbortableTasks.forEach(Jb$1,e),n.fallbackAbortableTasks.clear()):a.parentFlushed&&1===a.status&&(Y$1(n,a),1===n.completedSegments.length&&n.parentFlushed&&e.partialBoundaries.push(n)));e.allPendingTasks--;0===e.allPendingTasks&&(e=e.onAllReady,e())}function Cb$1(e){if(2!==e.status){var n=ie,a=Ee.current;Ee.current=$e;var o=Ce;Ce=e.responseState;try{var l,i=e.pingedTasks;for(l=0;l<i.length;l++){var s=i[l];var c=e,d=s.blockedSegment;if(0===d.status){G(s.context);try{X$1(c,s,s.node),c.responseState.generateStaticMarkup||d.lastPushedText&&d.textEmbedded&&d.chunks.push(\"\\x3c!-- --\\x3e\"),s.abortSet.delete(s),d.status=1,Kb$1(c,s.blockedBoundary,d)}catch(e){if(rb$1(),\"object\"===typeof e&&null!==e&&\"function\"===typeof e.then){var f=s.ping;e.then(f,f)}else{s.abortSet.delete(s);d.status=4;var h=s.blockedBoundary,g=e,b=V$1(c,g);null===h?W$1(c,g):(h.pendingTasks--,h.forceClientRender||(h.forceClientRender=!0,h.errorDigest=b,h.parentFlushed&&c.clientRenderedBoundaries.push(h)));c.allPendingTasks--;if(0===c.allPendingTasks){var m=c.onAllReady;m()}}}}}i.splice(0,l);null!==e.destination&&Mb$1(e,e.destination)}catch(n){V$1(e,n),W$1(e,n)}finally{Ce=o,Ee.current=a,a===$e&&G(n)}}}function Z$1(e,n,a){a.parentFlushed=!0;switch(a.status){case 0:var o=a.id=e.nextSegmentId++;a.lastPushedText=!1;a.textEmbedded=!1;e=e.responseState;n.push('<template id=\"');n.push(e.placeholderPrefix);e=o.toString(16);n.push(e);return n.push('\"></template>');case 1:a.status=2;var l=!0;o=a.chunks;var i=0;a=a.children;for(var s=0;s<a.length;s++){for(l=a[s];i<l.index;i++)n.push(o[i]);l=Nb$1(e,n,l)}for(;i<o.length-1;i++)n.push(o[i]);i<o.length&&(l=n.push(o[i]));return l;default:throw Error(l$2(390))}}function Nb$1(e,n,a){var o=a.boundary;if(null===o)return Z$1(e,n,a);o.parentFlushed=!0;if(o.forceClientRender)return e.responseState.generateStaticMarkup||(o=o.errorDigest,n.push(\"\\x3c!--$!--\\x3e\"),n.push(\"<template\"),o&&(n.push(' data-dgst=\"'),o=v(o),n.push(o),n.push('\"')),n.push(\"></template>\")),Z$1(e,n,a),e=!!e.responseState.generateStaticMarkup||n.push(\"\\x3c!--/$--\\x3e\"),e;if(0<o.pendingTasks){o.rootSegmentID=e.nextSegmentId++;0<o.completedSegments.length&&e.partialBoundaries.push(o);var l=e.responseState;var i=l.nextSuspenseID++;l=l.boundaryPrefix+i.toString(16);o=o.id=l;za$1(n,e.responseState,o);Z$1(e,n,a);return n.push(\"\\x3c!--/$--\\x3e\")}if(o.byteSize>e.progressiveChunkSize)return o.rootSegmentID=e.nextSegmentId++,e.completedBoundaries.push(o),za$1(n,e.responseState,o.id),Z$1(e,n,a),n.push(\"\\x3c!--/$--\\x3e\");e.responseState.generateStaticMarkup||n.push(\"\\x3c!--$--\\x3e\");a=o.completedSegments;if(1!==a.length)throw Error(l$2(391));Nb$1(e,n,a[0]);e=!!e.responseState.generateStaticMarkup||n.push(\"\\x3c!--/$--\\x3e\");return e}function Ob$1(e,n,a){Aa$1(n,e.responseState,a.formatContext,a.id);Nb$1(e,n,a);return Ba$1(n,a.formatContext)}function Pb$1(e,n,a){for(var o=a.completedSegments,l=0;l<o.length;l++)Qb$1(e,n,a,o[l]);o.length=0;e=e.responseState;o=a.id;a=a.rootSegmentID;n.push(e.startInlineScript);e.sentCompleteBoundaryFunction?n.push('$RC(\"'):(e.sentCompleteBoundaryFunction=!0,n.push('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d)if(0===e)break;else e--;else\"$\"!==d&&\"$?\"!==d&&\"$!\"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data=\"$\";a._reactRetry&&a._reactRetry()}};$RC(\"'));if(null===o)throw Error(l$2(395));a=a.toString(16);n.push(o);n.push('\",\"');n.push(e.segmentPrefix);n.push(a);return n.push('\")<\\/script>')}function Qb$1(e,n,a,o){if(2===o.status)return!0;var l=o.id;if(-1===l){if(-1===(o.id=a.rootSegmentID))throw Error(l$2(392));return Ob$1(e,n,o)}Ob$1(e,n,o);e=e.responseState;n.push(e.startInlineScript);e.sentCompleteSegmentFunction?n.push('$RS(\"'):(e.sentCompleteSegmentFunction=!0,n.push('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'));n.push(e.segmentPrefix);l=l.toString(16);n.push(l);n.push('\",\"');n.push(e.placeholderPrefix);n.push(l);return n.push('\")<\\/script>')}function Mb$1(e,n){try{var a=e.completedRootSegment;if(null!==a&&0===e.pendingRootTasks){Nb$1(e,n,a);e.completedRootSegment=null;var o=e.responseState.bootstrapChunks;for(a=0;a<o.length-1;a++)n.push(o[a]);a<o.length&&n.push(o[a])}var l,i=e.clientRenderedBoundaries;for(l=0;l<i.length;l++){var s=i[l];o=n;var c=e.responseState,d=s.id,f=s.errorDigest,h=s.errorMessage,g=s.errorComponentStack;o.push(c.startInlineScript);c.sentClientRenderFunction?o.push('$RX(\"'):(c.sentClientRenderFunction=!0,o.push('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX(\"'));if(null===d)throw Error(l$2(395));o.push(d);o.push('\"');if(f||h||g){o.push(\",\");var b=Da$1(f||\"\");o.push(b)}if(h||g){o.push(\",\");var m=Da$1(h||\"\");o.push(m)}if(g){o.push(\",\");var S=Da$1(g);o.push(S)}if(!o.push(\")<\\/script>\")){e.destination=null;l++;i.splice(0,l);return}}i.splice(0,l);var x=e.completedBoundaries;for(l=0;l<x.length;l++)if(!Pb$1(e,n,x[l])){e.destination=null;l++;x.splice(0,l);return}x.splice(0,l);var $=e.partialBoundaries;for(l=0;l<$.length;l++){var E=$[l];e:{i=e;s=n;var T=E.completedSegments;for(c=0;c<T.length;c++)if(!Qb$1(i,s,E,T[c])){c++;T.splice(0,c);var R=!1;break e}T.splice(0,c);R=!0}if(!R){e.destination=null;l++;$.splice(0,l);return}}$.splice(0,l);var _=e.completedBoundaries;for(l=0;l<_.length;l++)if(!Pb$1(e,n,_[l])){e.destination=null;l++;_.splice(0,l);return}_.splice(0,l)}finally{0===e.allPendingTasks&&0===e.pingedTasks.length&&0===e.clientRenderedBoundaries.length&&0===e.completedBoundaries.length&&n.push(null)}}function Rb$1(e,n){try{var a=e.abortableTasks;a.forEach((function(a){return Lb$1(a,e,n)}));a.clear();null!==e.destination&&Mb$1(e,e.destination)}catch(n){V$1(e,n),W$1(e,n)}}function Sb$1(){}function Tb$1(e,n,a,o){var l=!1,i=null,s=\"\",c={push:function(e){null!==e&&(s+=e);return!0},destroy:function(e){l=!0;i=e}},d=!1;e=Ab$1(e,Ea$1(a,n?n.identifierPrefix:void 0),{insertionMode:1,selectedValue:null},Infinity,Sb$1,void 0,(function(){d=!0}),void 0,void 0);Cb$1(e);Rb$1(e,o);if(1===e.status)e.status=2,c.destroy(e.fatalError);else if(2!==e.status&&null===e.destination){e.destination=c;try{Mb$1(e,c)}catch(n){V$1(e,n),W$1(e,n)}}if(l)throw i;if(!d)throw Error(l$2(426));return s}a.renderToNodeStream=function(){throw Error(l$2(207))};a.renderToStaticMarkup=function(e,n){return Tb$1(e,n,!0,'The server used \"renderToStaticMarkup\" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server')};a.renderToStaticNodeStream=function(){throw Error(l$2(208))};a.renderToString=function(e,n){return Tb$1(e,n,!1,'The server used \"renderToString\" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server')};a.version=\"18.2.0\";var Fe=\"default\"in e?e.default:e;var Te={};var Re=Fe;function k(e){for(var n=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,a=1;a<arguments.length;a++)n+=\"&args[]=\"+encodeURIComponent(arguments[a]);return\"Minified React error #\"+e+\"; visit \"+n+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var Pe=null,_e=0;function p(e,n){if(0!==n.length)if(512<n.length)0<_e&&(e.enqueue(new Uint8Array(Pe.buffer,0,_e)),Pe=new Uint8Array(512),_e=0),e.enqueue(n);else{var a=Pe.length-_e;a<n.length&&(0===a?e.enqueue(Pe):(Pe.set(n.subarray(0,a),_e),e.enqueue(Pe),n=n.subarray(a)),Pe=new Uint8Array(512),_e=0);Pe.set(n,_e);_e+=n.length}}function t(e,n){p(e,n);return!0}function ba(e){Pe&&0<_e&&(e.enqueue(new Uint8Array(Pe.buffer,0,_e)),Pe=null,_e=0)}var Me=new TextEncoder;function u(e){return Me.encode(e)}function w(e){return Me.encode(e)}function da(e,n){\"function\"===typeof e.error?e.error(n):e.close()}var Ie=Object.prototype.hasOwnProperty,De=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,Be={},Ne={};function ia(e){if(Ie.call(Ne,e))return!0;if(Ie.call(Be,e))return!1;if(De.test(e))return Ne[e]=!0;Be[e]=!0;return!1}function y(e,n,a,o,l,i,s){this.acceptsBooleans=2===n||3===n||4===n;this.attributeName=o;this.attributeNamespace=l;this.mustUseProperty=a;this.propertyName=e;this.type=n;this.sanitizeURL=i;this.removeEmptyString=s}var ze={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){ze[e]=new y(e,0,!1,e,null,!1,!1)}));[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var n=e[0];ze[n]=new y(n,1,!1,e[1],null,!1,!1)}));[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){ze[e]=new y(e,2,!1,e.toLowerCase(),null,!1,!1)}));[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){ze[e]=new y(e,2,!1,e,null,!1,!1)}));\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){ze[e]=new y(e,3,!1,e.toLowerCase(),null,!1,!1)}));[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){ze[e]=new y(e,3,!0,e,null,!1,!1)}));[\"capture\",\"download\"].forEach((function(e){ze[e]=new y(e,4,!1,e,null,!1,!1)}));[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){ze[e]=new y(e,6,!1,e,null,!1,!1)}));[\"rowSpan\",\"start\"].forEach((function(e){ze[e]=new y(e,5,!1,e.toLowerCase(),null,!1,!1)}));var Ve=/[\\-:]([a-z])/g;function ka(e){return e[1].toUpperCase()}\"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(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,null,!1,!1)}));\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)}));[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)}));[\"tabIndex\",\"crossOrigin\"].forEach((function(e){ze[e]=new y(e,1,!1,e.toLowerCase(),null,!1,!1)}));ze.xlinkHref=new y(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){ze[e]=new y(e,1,!1,e.toLowerCase(),null,!0,!0)}));var Ae={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Le=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(Ae).forEach((function(e){Le.forEach((function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1);Ae[n]=Ae[e]}))}));var je=/[\"'&<>]/;function C(e){if(\"boolean\"===typeof e||\"number\"===typeof e)return\"\"+e;e=\"\"+e;var n=je.exec(e);if(n){var a,o=\"\",l=0;for(a=n.index;a<e.length;a++){switch(e.charCodeAt(a)){case 34:n=\"&quot;\";break;case 38:n=\"&amp;\";break;case 39:n=\"&#x27;\";break;case 60:n=\"&lt;\";break;case 62:n=\"&gt;\";break;default:continue}l!==a&&(o+=e.substring(l,a));l=a+1;o+=n}e=l!==a?o+e.substring(l,a):o}return e}var Oe=/([A-Z])/g,qe=/^ms-/,We=Array.isArray,He=w(\"<script>\"),Ue=w(\"<\\/script>\"),Ze=w('<script src=\"'),Xe=w('<script type=\"module\" src=\"'),Je=w('\" async=\"\"><\\/script>'),Ge=/(<\\/|<)(s)(cript)/gi;function ya(e,n,a,o){return n+(\"s\"===a?\"\\\\u0073\":\"\\\\u0053\")+o}function za(e,n,a,o,l){e=void 0===e?\"\":e;n=void 0===n?He:w('<script nonce=\"'+C(n)+'\">');var i=[];void 0!==a&&i.push(n,u((\"\"+a).replace(Ge,ya)),Ue);if(void 0!==o)for(a=0;a<o.length;a++)i.push(Ze,u(C(o[a])),Je);if(void 0!==l)for(o=0;o<l.length;o++)i.push(Xe,u(C(l[o])),Je);return{bootstrapChunks:i,startInlineScript:n,placeholderPrefix:w(e+\"P:\"),segmentPrefix:w(e+\"S:\"),boundaryPrefix:e+\"B:\",idPrefix:e,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1}}function D(e,n){return{insertionMode:e,selectedValue:n}}function Aa(e){return D(\"http://www.w3.org/2000/svg\"===e?2:\"http://www.w3.org/1998/Math/MathML\"===e?3:0,null)}function Ba(e,n,a){switch(n){case\"select\":return D(1,null!=a.value?a.value:a.defaultValue);case\"svg\":return D(2,null);case\"math\":return D(3,null);case\"foreignObject\":return D(1,null);case\"table\":return D(4,null);case\"thead\":case\"tbody\":case\"tfoot\":return D(5,null);case\"colgroup\":return D(7,null);case\"tr\":return D(6,null)}return 4<=e.insertionMode||0===e.insertionMode?D(1,null):e}var Qe=w(\"\\x3c!-- --\\x3e\");function Da(e,n,a,o){if(\"\"===n)return o;o&&e.push(Qe);e.push(u(C(n)));return!0}var Ye=new Map,Ke=w(' style=\"'),et=w(\":\"),tt=w(\";\");function Ia(e,n,a){if(\"object\"!==typeof a)throw Error(k(62));n=!0;for(var o in a)if(Ie.call(a,o)){var l=a[o];if(null!=l&&\"boolean\"!==typeof l&&\"\"!==l){if(0===o.indexOf(\"--\")){var i=u(C(o));l=u(C((\"\"+l).trim()))}else{i=o;var s=Ye.get(i);void 0!==s||(s=w(C(i.replace(Oe,\"-$1\").toLowerCase().replace(qe,\"-ms-\"))),Ye.set(i,s)),i=s;l=\"number\"===typeof l?0===l||Ie.call(Ae,o)?u(\"\"+l):u(l+\"px\"):u(C((\"\"+l).trim()))}n?(n=!1,e.push(Ke,i,et,l)):e.push(tt,i,et,l)}}n||e.push(at)}var nt=w(\" \"),rt=w('=\"'),at=w('\"'),ot=w('=\"\"');function J(e,n,a,o){switch(a){case\"style\":Ia(e,n,o);return;case\"defaultValue\":case\"defaultChecked\":case\"innerHTML\":case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":return}if(!(2<a.length)||\"o\"!==a[0]&&\"O\"!==a[0]||\"n\"!==a[1]&&\"N\"!==a[1])if(n=ze.hasOwnProperty(a)?ze[a]:null,null!==n){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(!n.acceptsBooleans)return}a=u(n.attributeName);switch(n.type){case 3:o&&e.push(nt,a,ot);break;case 4:!0===o?e.push(nt,a,ot):!1!==o&&e.push(nt,a,rt,u(C(o)),at);break;case 5:isNaN(o)||e.push(nt,a,rt,u(C(o)),at);break;case 6:!isNaN(o)&&1<=o&&e.push(nt,a,rt,u(C(o)),at);break;default:n.sanitizeURL&&(o=\"\"+o),e.push(nt,a,rt,u(C(o)),at)}}else if(ia(a)){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(n=a.toLowerCase().slice(0,5),\"data-\"!==n&&\"aria-\"!==n)return}e.push(nt,u(a),rt,u(C(o)),at)}}var lt=w(\">\"),ut=w(\"/>\");function L(e,n,a){if(null!=n){if(null!=a)throw Error(k(60));if(\"object\"!==typeof n||!(\"__html\"in n))throw Error(k(61));n=n.__html;null!==n&&void 0!==n&&e.push(u(\"\"+n))}}function La(e){var n=\"\";Re.Children.forEach(e,(function(e){null!=e&&(n+=e)}));return n}var it=w(' selected=\"\"');function Na(e,n,a,o){e.push(M(a));var l,i=a=null;for(l in n)if(Ie.call(n,l)){var s=n[l];if(null!=s)switch(l){case\"children\":a=s;break;case\"dangerouslySetInnerHTML\":i=s;break;default:J(e,o,l,s)}}e.push(lt);L(e,i,a);return\"string\"===typeof a?(e.push(u(C(a))),null):a}var st=w(\"\\n\"),ct=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,dt=new Map;function M(e){var n=dt.get(e);if(void 0===n){if(!ct.test(e))throw Error(k(65,e));n=w(\"<\"+e);dt.set(e,n)}return n}var ft=w(\"<!DOCTYPE html>\");function Sa(e,n,a,o,l){switch(n){case\"select\":e.push(M(\"select\"));var i=null,s=null;for(h in a)if(Ie.call(a,h)){var c=a[h];if(null!=c)switch(h){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;case\"defaultValue\":case\"value\":break;default:J(e,o,h,c)}}e.push(lt);L(e,s,i);return i;case\"option\":s=l.selectedValue;e.push(M(\"option\"));var d=c=null,f=null;var h=null;for(i in a)if(Ie.call(a,i)){var g=a[i];if(null!=g)switch(i){case\"children\":c=g;break;case\"selected\":f=g;break;case\"dangerouslySetInnerHTML\":h=g;break;case\"value\":d=g;default:J(e,o,i,g)}}if(null!=s)if(a=null!==d?\"\"+d:La(c),We(s)){for(o=0;o<s.length;o++)if(\"\"+s[o]===a){e.push(it);break}}else\"\"+s===a&&e.push(it);else f&&e.push(it);e.push(lt);L(e,h,c);return c;case\"textarea\":e.push(M(\"textarea\"));h=s=i=null;for(c in a)if(Ie.call(a,c)&&(d=a[c],null!=d))switch(c){case\"children\":h=d;break;case\"value\":i=d;break;case\"defaultValue\":s=d;break;case\"dangerouslySetInnerHTML\":throw Error(k(91));default:J(e,o,c,d)}null===i&&null!==s&&(i=s);e.push(lt);if(null!=h){if(null!=i)throw Error(k(92));if(We(h)&&1<h.length)throw Error(k(93));i=\"\"+h}\"string\"===typeof i&&\"\\n\"===i[0]&&e.push(st);null!==i&&e.push(u(C(\"\"+i)));return null;case\"input\":e.push(M(\"input\"));d=h=c=i=null;for(s in a)if(Ie.call(a,s)&&(f=a[s],null!=f))switch(s){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(399,\"input\"));case\"defaultChecked\":d=f;break;case\"defaultValue\":c=f;break;case\"checked\":h=f;break;case\"value\":i=f;break;default:J(e,o,s,f)}null!==h?J(e,o,\"checked\",h):null!==d&&J(e,o,\"checked\",d);null!==i?J(e,o,\"value\",i):null!==c&&J(e,o,\"value\",c);e.push(ut);return null;case\"menuitem\":e.push(M(\"menuitem\"));for(var b in a)if(Ie.call(a,b)&&(i=a[b],null!=i))switch(b){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(400));default:J(e,o,b,i)}e.push(lt);return null;case\"title\":e.push(M(\"title\"));i=null;for(g in a)if(Ie.call(a,g)&&(s=a[g],null!=s))switch(g){case\"children\":i=s;break;case\"dangerouslySetInnerHTML\":throw Error(k(434));default:J(e,o,g,s)}e.push(lt);return i;case\"listing\":case\"pre\":e.push(M(n));s=i=null;for(d in a)if(Ie.call(a,d)&&(c=a[d],null!=c))switch(d){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;default:J(e,o,d,c)}e.push(lt);if(null!=s){if(null!=i)throw Error(k(60));if(\"object\"!==typeof s||!(\"__html\"in s))throw Error(k(61));a=s.__html;null!==a&&void 0!==a&&(\"string\"===typeof a&&0<a.length&&\"\\n\"===a[0]?e.push(st,u(a)):e.push(u(\"\"+a)))}\"string\"===typeof i&&\"\\n\"===i[0]&&e.push(st);return i;case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":e.push(M(n));for(var m in a)if(Ie.call(a,m)&&(i=a[m],null!=i))switch(m){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(399,n));default:J(e,o,m,i)}e.push(ut);return null;case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return Na(e,a,n,o);case\"html\":return 0===l.insertionMode&&e.push(ft),Na(e,a,n,o);default:if(-1===n.indexOf(\"-\")&&\"string\"!==typeof a.is)return Na(e,a,n,o);e.push(M(n));s=i=null;for(f in a)if(Ie.call(a,f)&&(c=a[f],null!=c))switch(f){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;case\"style\":Ia(e,o,c);break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":break;default:ia(f)&&\"function\"!==typeof c&&\"symbol\"!==typeof c&&e.push(nt,u(f),rt,u(C(c)),at)}e.push(lt);L(e,s,i);return i}}var pt=w(\"</\"),ht=w(\">\"),gt=w('<template id=\"'),bt=w('\"></template>'),mt=w(\"\\x3c!--$--\\x3e\"),yt=w('\\x3c!--$?--\\x3e<template id=\"'),vt=w('\"></template>'),kt=w(\"\\x3c!--$!--\\x3e\"),wt=w(\"\\x3c!--/$--\\x3e\"),St=w(\"<template\"),xt=w('\"'),$t=w(' data-dgst=\"');w(' data-msg=\"');w(' data-stck=\"');var Ct=w(\"></template>\");function fb(e,n,a){p(e,yt);if(null===a)throw Error(k(395));p(e,a);return t(e,vt)}var Et=w('<div hidden id=\"'),Ft=w('\">'),Tt=w(\"</div>\"),Rt=w('<svg aria-hidden=\"true\" style=\"display:none\" id=\"'),Pt=w('\">'),_t=w(\"</svg>\"),Mt=w('<math aria-hidden=\"true\" style=\"display:none\" id=\"'),It=w('\">'),Dt=w(\"</math>\"),Bt=w('<table hidden id=\"'),Nt=w('\">'),zt=w(\"</table>\"),Vt=w('<table hidden><tbody id=\"'),At=w('\">'),Lt=w(\"</tbody></table>\"),jt=w('<table hidden><tr id=\"'),Ot=w('\">'),qt=w(\"</tr></table>\"),Wt=w('<table hidden><colgroup id=\"'),Ht=w('\">'),Ut=w(\"</colgroup></table>\");function Bb(e,n,a,o){switch(a.insertionMode){case 0:case 1:return p(e,Et),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ft);case 2:return p(e,Rt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Pt);case 3:return p(e,Mt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,It);case 4:return p(e,Bt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Nt);case 5:return p(e,Vt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,At);case 6:return p(e,jt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ot);case 7:return p(e,Wt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ht);default:throw Error(k(397))}}function Cb(e,n){switch(n.insertionMode){case 0:case 1:return t(e,Tt);case 2:return t(e,_t);case 3:return t(e,Dt);case 4:return t(e,zt);case 5:return t(e,Lt);case 6:return t(e,qt);case 7:return t(e,Ut);default:throw Error(k(397))}}var Zt=w('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'),Xt=w('$RS(\"'),Jt=w('\",\"'),Gt=w('\")<\\/script>'),Qt=w('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d)if(0===e)break;else e--;else\"$\"!==d&&\"$?\"!==d&&\"$!\"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data=\"$\";a._reactRetry&&a._reactRetry()}};$RC(\"'),Yt=w('$RC(\"'),Kt=w('\",\"'),en=w('\")<\\/script>'),tn=w('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX(\"'),nn=w('$RX(\"'),rn=w('\"'),an=w(\")<\\/script>\"),on=w(\",\"),ln=/[<\\u2028\\u2029]/g;function Sb(e){return JSON.stringify(e).replace(ln,(function(e){switch(e){case\"<\":return\"\\\\u003c\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw Error(\"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\")}}))}var un=Object.assign,sn=Symbol.for(\"react.element\"),cn=Symbol.for(\"react.portal\"),dn=Symbol.for(\"react.fragment\"),fn=Symbol.for(\"react.strict_mode\"),pn=Symbol.for(\"react.profiler\"),hn=Symbol.for(\"react.provider\"),gn=Symbol.for(\"react.context\"),bn=Symbol.for(\"react.forward_ref\"),mn=Symbol.for(\"react.suspense\"),yn=Symbol.for(\"react.suspense_list\"),vn=Symbol.for(\"react.memo\"),kn=Symbol.for(\"react.lazy\"),wn=Symbol.for(\"react.scope\"),Sn=Symbol.for(\"react.debug_trace_mode\"),xn=Symbol.for(\"react.legacy_hidden\"),$n=Symbol.for(\"react.default_value\"),Cn=Symbol.iterator;function jc(e){if(null==e)return null;if(\"function\"===typeof e)return e.displayName||e.name||null;if(\"string\"===typeof e)return e;switch(e){case dn:return\"Fragment\";case cn:return\"Portal\";case pn:return\"Profiler\";case fn:return\"StrictMode\";case mn:return\"Suspense\";case yn:return\"SuspenseList\"}if(\"object\"===typeof e)switch(e.$$typeof){case gn:return(e.displayName||\"Context\")+\".Consumer\";case hn:return(e._context.displayName||\"Context\")+\".Provider\";case bn:var n=e.render;e=e.displayName;e||(e=n.displayName||n.name||\"\",e=\"\"!==e?\"ForwardRef(\"+e+\")\":\"ForwardRef\");return e;case vn:return n=e.displayName||null,null!==n?n:jc(e.type)||\"Memo\";case kn:n=e._payload;e=e._init;try{return jc(e(n))}catch(e){}}return null}var En={};function lc(e,n){e=e.contextTypes;if(!e)return En;var a,o={};for(a in e)o[a]=n[a];return o}var Fn=null;function P(e,n){if(e!==n){e.context._currentValue=e.parentValue;e=e.parent;var a=n.parent;if(null===e){if(null!==a)throw Error(k(401))}else{if(null===a)throw Error(k(401));P(e,a)}n.context._currentValue=n.value}}function mc(e){e.context._currentValue=e.parentValue;e=e.parent;null!==e&&mc(e)}function nc(e){var n=e.parent;null!==n&&nc(n);e.context._currentValue=e.value}function oc(e,n){e.context._currentValue=e.parentValue;e=e.parent;if(null===e)throw Error(k(402));e.depth===n.depth?P(e,n):oc(e,n)}function pc(e,n){var a=n.parent;if(null===a)throw Error(k(402));e.depth===a.depth?P(e,a):pc(e,a);n.context._currentValue=n.value}function Q(e){var n=Fn;n!==e&&(null===n?nc(e):null===e?mc(n):n.depth===e.depth?P(n,e):n.depth>e.depth?oc(n,e):pc(n,e),Fn=e)}var Tn={isMounted:function(){return!1},enqueueSetState:function(e,n){e=e._reactInternals;null!==e.queue&&e.queue.push(n)},enqueueReplaceState:function(e,n){e=e._reactInternals;e.replace=!0;e.queue=[n]},enqueueForceUpdate:function(){}};function rc(e,n,a,o){var l=void 0!==e.state?e.state:null;e.updater=Tn;e.props=a;e.state=l;var i={queue:[],replace:!1};e._reactInternals=i;var s=n.contextType;e.context=\"object\"===typeof s&&null!==s?s._currentValue:o;s=n.getDerivedStateFromProps;\"function\"===typeof s&&(s=s(a,l),l=null===s||void 0===s?l:un({},l,s),e.state=l);if(\"function\"!==typeof n.getDerivedStateFromProps&&\"function\"!==typeof e.getSnapshotBeforeUpdate&&(\"function\"===typeof e.UNSAFE_componentWillMount||\"function\"===typeof e.componentWillMount))if(n=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),n!==e.state&&Tn.enqueueReplaceState(e,e.state,null),null!==i.queue&&0<i.queue.length)if(n=i.queue,s=i.replace,i.queue=null,i.replace=!1,s&&1===n.length)e.state=n[0];else{i=s?n[0]:e.state;l=!0;for(s=s?1:0;s<n.length;s++){var c=n[s];c=\"function\"===typeof c?c.call(e,i,a,o):c;null!=c&&(l?(l=!1,i=un({},i,c)):un(i,c))}e.state=i}else i.queue=null}var Rn={id:1,overflow:\"\"};function tc(e,n,a){var o=e.id;e=e.overflow;var l=32-Pn(o)-1;o&=~(1<<l);a+=1;var i=32-Pn(n)+l;if(30<i){var s=l-l%5;i=(o&(1<<s)-1).toString(32);o>>=s;l-=s;return{id:1<<32-Pn(n)+l|a<<l|o,overflow:i+e}}return{id:1<<i|a<<l|o,overflow:e}}var Pn=Math.clz32?Math.clz32:vc,_n=Math.log,Mn=Math.LN2;function vc(e){e>>>=0;return 0===e?32:31-(_n(e)/Mn|0)|0}function yc(e,n){return e===n&&(0!==e||1/e===1/n)||e!==e&&n!==n}var In=\"function\"===typeof Object.is?Object.is:yc,Dn=null,Bn=null,Nn=null,zn=null,Vn=!1,An=!1,Ln=0,jn=null,On=0;function W(){if(null===Dn)throw Error(k(321));return Dn}function Ec(){if(0<On)throw Error(k(312));return{memoizedState:null,queue:null,next:null}}function Fc(){null===zn?null===Nn?(Vn=!1,Nn=zn=Ec()):(Vn=!0,zn=Nn):null===zn.next?(Vn=!1,zn=zn.next=Ec()):(Vn=!0,zn=zn.next);return zn}function Gc(){Bn=Dn=null;An=!1;Nn=null;On=0;zn=jn=null}function Hc(e,n){return\"function\"===typeof n?n(e):n}function Ic(e,n,a){Dn=W();zn=Fc();if(Vn){var o=zn.queue;n=o.dispatch;if(null!==jn&&(a=jn.get(o),void 0!==a)){jn.delete(o);o=zn.memoizedState;do{o=e(o,a.action),a=a.next}while(null!==a);zn.memoizedState=o;return[o,n]}return[zn.memoizedState,n]}e=e===Hc?\"function\"===typeof n?n():n:void 0!==a?a(n):n;zn.memoizedState=e;e=zn.queue={last:null,dispatch:null};e=e.dispatch=Jc.bind(null,Dn,e);return[zn.memoizedState,e]}function Kc(e,n){Dn=W();zn=Fc();n=void 0===n?null:n;if(null!==zn){var a=zn.memoizedState;if(null!==a&&null!==n){var o=a[1];e:if(null===o)o=!1;else{for(var l=0;l<o.length&&l<n.length;l++)if(!In(n[l],o[l])){o=!1;break e}o=!0}if(o)return a[0]}}e=e();zn.memoizedState=[e,n];return e}function Jc(e,n,a){if(25<=On)throw Error(k(301));if(e===Dn)if(An=!0,e={action:a,next:null},null===jn&&(jn=new Map),a=jn.get(n),void 0===a)jn.set(n,e);else{for(n=a;null!==n.next;)n=n.next;n.next=e}}function Lc(){throw Error(k(394))}function Mc(){}var qn={readContext:function(e){return e._currentValue},useContext:function(e){W();return e._currentValue},useMemo:Kc,useReducer:Ic,useRef:function(e){Dn=W();zn=Fc();var n=zn.memoizedState;return null===n?(e={current:e},zn.memoizedState=e):n},useState:function(e){return Ic(Hc,e)},useInsertionEffect:Mc,useLayoutEffect:function(){},useCallback:function(e,n){return Kc((function(){return e}),n)},useImperativeHandle:Mc,useEffect:Mc,useDebugValue:Mc,useDeferredValue:function(e){W();return e},useTransition:function(){W();return[!1,Lc]},useId:function(){var e=Bn.treeContext;var n=e.overflow;e=e.id;e=(e&~(1<<32-Pn(e)-1)).toString(32)+n;var a=Wn;if(null===a)throw Error(k(404));n=Ln++;e=\":\"+a.idPrefix+\"R\"+e;0<n&&(e+=\"H\"+n.toString(32));return e+\":\"},useMutableSource:function(e,n){W();return n(e._source)},useSyncExternalStore:function(e,n,a){if(void 0===a)throw Error(k(407));return a()}},Wn=null,Hn=Re.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function Qc(e){console.error(e);return null}function X(){}function Rc(e,n,a,o,l,i,s,c,d){var f=[],h=new Set;n={destination:null,responseState:n,progressiveChunkSize:void 0===o?12800:o,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:h,pingedTasks:f,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===l?Qc:l,onAllReady:void 0===i?X:i,onShellReady:void 0===s?X:s,onShellError:void 0===c?X:c,onFatalError:void 0===d?X:d};a=Sc(n,0,null,a,!1,!1);a.parentFlushed=!0;e=Tc(n,e,null,a,h,En,null,Rn);f.push(e);return n}function Tc(e,n,a,o,l,i,s,c){e.allPendingTasks++;null===a?e.pendingRootTasks++:a.pendingTasks++;var d={node:n,ping:function(){var n=e.pingedTasks;n.push(d);1===n.length&&Uc(e)},blockedBoundary:a,blockedSegment:o,abortSet:l,legacyContext:i,context:s,treeContext:c};l.add(d);return d}function Sc(e,n,a,o,l,i){return{status:0,id:-1,index:n,parentFlushed:!1,chunks:[],children:[],formatContext:o,boundary:a,lastPushedText:l,textEmbedded:i}}function Y(e,n){e=e.onError(n);if(null!=e&&\"string\"!==typeof e)throw Error('onError returned something with a type other than \"string\". onError should return a string and may return null or undefined but must not return anything else. It received something of type \"'+typeof e+'\" instead');return e}function Vc(e,n){var a=e.onShellError;a(n);a=e.onFatalError;a(n);null!==e.destination?(e.status=2,da(e.destination,n)):(e.status=1,e.fatalError=n)}function Wc(e,n,a,o,l){Dn={};Bn=n;Ln=0;for(e=a(o,l);An;)An=!1,Ln=0,On+=1,zn=null,e=a(o,l);Gc();return e}function Xc(e,n,a,o){var l=a.render(),i=o.childContextTypes;if(null!==i&&void 0!==i){var s=n.legacyContext;if(\"function\"!==typeof a.getChildContext)o=s;else{a=a.getChildContext();for(var c in a)if(!(c in i))throw Error(k(108,jc(o)||\"Unknown\",c));o=un({},s,a)}n.legacyContext=o;Z(e,n,l);n.legacyContext=s}else Z(e,n,l)}function Yc(e,n){if(e&&e.defaultProps){n=un({},n);e=e.defaultProps;for(var a in e)void 0===n[a]&&(n[a]=e[a]);return n}return n}function Zc(e,n,a,o,l){if(\"function\"===typeof a)if(a.prototype&&a.prototype.isReactComponent){l=lc(a,n.legacyContext);var i=a.contextType;i=new a(o,\"object\"===typeof i&&null!==i?i._currentValue:l);rc(i,a,o,l);Xc(e,n,i,a)}else{i=lc(a,n.legacyContext);l=Wc(e,n,a,o,i);var s=0!==Ln;if(\"object\"===typeof l&&null!==l&&\"function\"===typeof l.render&&void 0===l.$$typeof)rc(l,a,o,i),Xc(e,n,l,a);else if(s){o=n.treeContext;n.treeContext=tc(o,1,0);try{Z(e,n,l)}finally{n.treeContext=o}}else Z(e,n,l)}else{if(\"string\"!==typeof a){switch(a){case xn:case Sn:case fn:case pn:case dn:Z(e,n,o.children);return;case yn:Z(e,n,o.children);return;case wn:throw Error(k(343));case mn:e:{a=n.blockedBoundary;l=n.blockedSegment;i=o.fallback;o=o.children;s=new Set;var c={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:s,errorDigest:null},d=Sc(e,l.chunks.length,c,l.formatContext,!1,!1);l.children.push(d);l.lastPushedText=!1;var f=Sc(e,0,null,l.formatContext,!1,!1);f.parentFlushed=!0;n.blockedBoundary=c;n.blockedSegment=f;try{if($c(e,n,o),f.lastPushedText&&f.textEmbedded&&f.chunks.push(Qe),f.status=1,ad(c,f),0===c.pendingTasks)break e}catch(n){f.status=4,c.forceClientRender=!0,c.errorDigest=Y(e,n)}finally{n.blockedBoundary=a,n.blockedSegment=l}n=Tc(e,i,a,d,s,n.legacyContext,n.context,n.treeContext);e.pingedTasks.push(n)}return}if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case bn:o=Wc(e,n,a.render,o,l);if(0!==Ln){a=n.treeContext;n.treeContext=tc(a,1,0);try{Z(e,n,o)}finally{n.treeContext=a}}else Z(e,n,o);return;case vn:a=a.type;o=Yc(a,o);Zc(e,n,a,o,l);return;case hn:l=o.children;a=a._context;o=o.value;i=a._currentValue;a._currentValue=o;s=Fn;Fn=o={parent:s,depth:null===s?0:s.depth+1,context:a,parentValue:i,value:o};n.context=o;Z(e,n,l);e=Fn;if(null===e)throw Error(k(403));o=e.parentValue;e.context._currentValue=o===$n?e.context._defaultValue:o;e=Fn=e.parent;n.context=e;return;case gn:o=o.children;o=o(a._currentValue);Z(e,n,o);return;case kn:l=a._init;a=l(a._payload);o=Yc(a,o);Zc(e,n,a,o,void 0);return}throw Error(k(130,null==a?a:typeof a,\"\"))}l=n.blockedSegment;i=Sa(l.chunks,a,o,e.responseState,l.formatContext);l.lastPushedText=!1;s=l.formatContext;l.formatContext=Ba(s,a,o);$c(e,n,i);l.formatContext=s;switch(a){case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"input\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":break;default:l.chunks.push(pt,u(a),ht)}l.lastPushedText=!1}}function Z(e,n,a){n.node=a;if(\"object\"===typeof a&&null!==a){switch(a.$$typeof){case sn:Zc(e,n,a.type,a.props,a.ref);return;case cn:throw Error(k(257));case kn:var o=a._init;a=o(a._payload);Z(e,n,a);return}if(We(a)){bd(e,n,a);return}null===a||\"object\"!==typeof a?o=null:(o=Cn&&a[Cn]||a[\"@@iterator\"],o=\"function\"===typeof o?o:null);if(o&&(o=o.call(a))){a=o.next();if(!a.done){var l=[];do{l.push(a.value),a=o.next()}while(!a.done);bd(e,n,l)}return}e=Object.prototype.toString.call(a);throw Error(k(31,\"[object Object]\"===e?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":e))}\"string\"===typeof a?(o=n.blockedSegment,o.lastPushedText=Da(n.blockedSegment.chunks,a,e.responseState,o.lastPushedText)):\"number\"===typeof a&&(o=n.blockedSegment,o.lastPushedText=Da(n.blockedSegment.chunks,\"\"+a,e.responseState,o.lastPushedText))}function bd(e,n,a){for(var o=a.length,l=0;l<o;l++){var i=n.treeContext;n.treeContext=tc(i,o,l);try{$c(e,n,a[l])}finally{n.treeContext=i}}}function $c(e,n,a){var o=n.blockedSegment.formatContext,l=n.legacyContext,i=n.context;try{return Z(e,n,a)}catch(d){if(Gc(),\"object\"!==typeof d||null===d||\"function\"!==typeof d.then)throw n.blockedSegment.formatContext=o,n.legacyContext=l,n.context=i,Q(i),d;a=d;var s=n.blockedSegment,c=Sc(e,s.chunks.length,null,s.formatContext,s.lastPushedText,!0);s.children.push(c);s.lastPushedText=!1;e=Tc(e,n.node,n.blockedBoundary,c,n.abortSet,n.legacyContext,n.context,n.treeContext).ping;a.then(e,e);n.blockedSegment.formatContext=o;n.legacyContext=l;n.context=i;Q(i)}}function cd(e){var n=e.blockedBoundary;e=e.blockedSegment;e.status=3;dd(this,n,e)}function ed(e,n,a){var o=e.blockedBoundary;e.blockedSegment.status=3;null===o?(n.allPendingTasks--,2!==n.status&&(n.status=2,null!==n.destination&&n.destination.close())):(o.pendingTasks--,o.forceClientRender||(o.forceClientRender=!0,e=void 0===a?Error(k(432)):a,o.errorDigest=n.onError(e),o.parentFlushed&&n.clientRenderedBoundaries.push(o)),o.fallbackAbortableTasks.forEach((function(e){return ed(e,n,a)})),o.fallbackAbortableTasks.clear(),n.allPendingTasks--,0===n.allPendingTasks&&(o=n.onAllReady,o()))}function ad(e,n){if(0===n.chunks.length&&1===n.children.length&&null===n.children[0].boundary){var a=n.children[0];a.id=n.id;a.parentFlushed=!0;1===a.status&&ad(e,a)}else e.completedSegments.push(n)}function dd(e,n,a){if(null===n){if(a.parentFlushed){if(null!==e.completedRootSegment)throw Error(k(389));e.completedRootSegment=a}e.pendingRootTasks--;0===e.pendingRootTasks&&(e.onShellError=X,n=e.onShellReady,n())}else n.pendingTasks--,n.forceClientRender||(0===n.pendingTasks?(a.parentFlushed&&1===a.status&&ad(n,a),n.parentFlushed&&e.completedBoundaries.push(n),n.fallbackAbortableTasks.forEach(cd,e),n.fallbackAbortableTasks.clear()):a.parentFlushed&&1===a.status&&(ad(n,a),1===n.completedSegments.length&&n.parentFlushed&&e.partialBoundaries.push(n)));e.allPendingTasks--;0===e.allPendingTasks&&(e=e.onAllReady,e())}function Uc(e){if(2!==e.status){var n=Fn,a=Hn.current;Hn.current=qn;var o=Wn;Wn=e.responseState;try{var l,i=e.pingedTasks;for(l=0;l<i.length;l++){var s=i[l];var c=e,d=s.blockedSegment;if(0===d.status){Q(s.context);try{Z(c,s,s.node),d.lastPushedText&&d.textEmbedded&&d.chunks.push(Qe),s.abortSet.delete(s),d.status=1,dd(c,s.blockedBoundary,d)}catch(e){if(Gc(),\"object\"===typeof e&&null!==e&&\"function\"===typeof e.then){var f=s.ping;e.then(f,f)}else{s.abortSet.delete(s);d.status=4;var h=s.blockedBoundary,g=e,b=Y(c,g);null===h?Vc(c,g):(h.pendingTasks--,h.forceClientRender||(h.forceClientRender=!0,h.errorDigest=b,h.parentFlushed&&c.clientRenderedBoundaries.push(h)));c.allPendingTasks--;if(0===c.allPendingTasks){var m=c.onAllReady;m()}}}}}i.splice(0,l);null!==e.destination&&fd(e,e.destination)}catch(n){Y(e,n),Vc(e,n)}finally{Wn=o,Hn.current=a,a===qn&&Q(n)}}}function gd(e,n,a){a.parentFlushed=!0;switch(a.status){case 0:var o=a.id=e.nextSegmentId++;a.lastPushedText=!1;a.textEmbedded=!1;e=e.responseState;p(n,gt);p(n,e.placeholderPrefix);e=u(o.toString(16));p(n,e);return t(n,bt);case 1:a.status=2;var l=!0;o=a.chunks;var i=0;a=a.children;for(var s=0;s<a.length;s++){for(l=a[s];i<l.index;i++)p(n,o[i]);l=hd(e,n,l)}for(;i<o.length-1;i++)p(n,o[i]);i<o.length&&(l=t(n,o[i]));return l;default:throw Error(k(390))}}function hd(e,n,a){var o=a.boundary;if(null===o)return gd(e,n,a);o.parentFlushed=!0;if(o.forceClientRender)o=o.errorDigest,t(n,kt),p(n,St),o&&(p(n,$t),p(n,u(C(o))),p(n,xt)),t(n,Ct),gd(e,n,a);else if(0<o.pendingTasks){o.rootSegmentID=e.nextSegmentId++;0<o.completedSegments.length&&e.partialBoundaries.push(o);var l=e.responseState;var i=l.nextSuspenseID++;l=w(l.boundaryPrefix+i.toString(16));o=o.id=l;fb(n,e.responseState,o);gd(e,n,a)}else if(o.byteSize>e.progressiveChunkSize)o.rootSegmentID=e.nextSegmentId++,e.completedBoundaries.push(o),fb(n,e.responseState,o.id),gd(e,n,a);else{t(n,mt);a=o.completedSegments;if(1!==a.length)throw Error(k(391));hd(e,n,a[0])}return t(n,wt)}function id(e,n,a){Bb(n,e.responseState,a.formatContext,a.id);hd(e,n,a);return Cb(n,a.formatContext)}function jd(e,n,a){for(var o=a.completedSegments,l=0;l<o.length;l++)kd(e,n,a,o[l]);o.length=0;e=e.responseState;o=a.id;a=a.rootSegmentID;p(n,e.startInlineScript);e.sentCompleteBoundaryFunction?p(n,Yt):(e.sentCompleteBoundaryFunction=!0,p(n,Qt));if(null===o)throw Error(k(395));a=u(a.toString(16));p(n,o);p(n,Kt);p(n,e.segmentPrefix);p(n,a);return t(n,en)}function kd(e,n,a,o){if(2===o.status)return!0;var l=o.id;if(-1===l){if(-1===(o.id=a.rootSegmentID))throw Error(k(392));return id(e,n,o)}id(e,n,o);e=e.responseState;p(n,e.startInlineScript);e.sentCompleteSegmentFunction?p(n,Xt):(e.sentCompleteSegmentFunction=!0,p(n,Zt));p(n,e.segmentPrefix);l=u(l.toString(16));p(n,l);p(n,Jt);p(n,e.placeholderPrefix);p(n,l);return t(n,Gt)}function fd(e,n){Pe=new Uint8Array(512);_e=0;try{var a=e.completedRootSegment;if(null!==a&&0===e.pendingRootTasks){hd(e,n,a);e.completedRootSegment=null;var o=e.responseState.bootstrapChunks;for(a=0;a<o.length-1;a++)p(n,o[a]);a<o.length&&t(n,o[a])}var l,i=e.clientRenderedBoundaries;for(l=0;l<i.length;l++){var s=i[l];o=n;var c=e.responseState,d=s.id,f=s.errorDigest,h=s.errorMessage,g=s.errorComponentStack;p(o,c.startInlineScript);c.sentClientRenderFunction?p(o,nn):(c.sentClientRenderFunction=!0,p(o,tn));if(null===d)throw Error(k(395));p(o,d);p(o,rn);(f||h||g)&&(p(o,on),p(o,u(Sb(f||\"\"))));(h||g)&&(p(o,on),p(o,u(Sb(h||\"\"))));g&&(p(o,on),p(o,u(Sb(g))));if(!t(o,an)){e.destination=null;l++;i.splice(0,l);return}}i.splice(0,l);var b=e.completedBoundaries;for(l=0;l<b.length;l++)if(!jd(e,n,b[l])){e.destination=null;l++;b.splice(0,l);return}b.splice(0,l);ba(n);Pe=new Uint8Array(512);_e=0;var m=e.partialBoundaries;for(l=0;l<m.length;l++){var S=m[l];e:{i=e;s=n;var x=S.completedSegments;for(c=0;c<x.length;c++)if(!kd(i,s,S,x[c])){c++;x.splice(0,c);var $=!1;break e}x.splice(0,c);$=!0}if(!$){e.destination=null;l++;m.splice(0,l);return}}m.splice(0,l);var E=e.completedBoundaries;for(l=0;l<E.length;l++)if(!jd(e,n,E[l])){e.destination=null;l++;E.splice(0,l);return}E.splice(0,l)}finally{ba(n),0===e.allPendingTasks&&0===e.pingedTasks.length&&0===e.clientRenderedBoundaries.length&&0===e.completedBoundaries.length&&n.close()}}function ld(e,n){try{var a=e.abortableTasks;a.forEach((function(a){return ed(a,e,n)}));a.clear();null!==e.destination&&fd(e,e.destination)}catch(n){Y(e,n),Vc(e,n)}}Te.renderToReadableStream=function(e,n){return new Promise((function(a,o){var l,i,s=new Promise((function(e,n){i=e;l=n})),c=Rc(e,za(n?n.identifierPrefix:void 0,n?n.nonce:void 0,n?n.bootstrapScriptContent:void 0,n?n.bootstrapScripts:void 0,n?n.bootstrapModules:void 0),Aa(n?n.namespaceURI:void 0),n?n.progressiveChunkSize:void 0,n?n.onError:void 0,i,(function(){var e=new ReadableStream({type:\"bytes\",pull:function(e){if(1===c.status)c.status=2,da(e,c.fatalError);else if(2!==c.status&&null===c.destination){c.destination=e;try{fd(c,e)}catch(e){Y(c,e),Vc(c,e)}}},cancel:function(){ld(c)}},{highWaterMark:0});e.allReady=s;a(e)}),(function(e){s.catch((function(){}));o(e)}),l);if(n&&n.signal){var d=n.signal,q=function(){ld(c,d.reason);d.removeEventListener(\"abort\",q)};d.addEventListener(\"abort\",q)}Uc(c)}))};Te.version=\"18.2.0\";var Un={};var Zn,Xn;Zn=a;Xn=Te;Un.version=Zn.version;Un.renderToString=Zn.renderToString;Un.renderToStaticMarkup=Zn.renderToStaticMarkup;Un.renderToNodeStream=Zn.renderToNodeStream;Un.renderToStaticNodeStream=Zn.renderToStaticNodeStream;Un.renderToReadableStream=Xn.renderToReadableStream;const Jn=Un.version,Gn=Un.renderToString,Qn=Un.renderToStaticMarkup,Yn=Un.renderToNodeStream,Kn=Un.renderToStaticNodeStream,er=Un.renderToReadableStream;export{Un as default,Yn as renderToNodeStream,er as renderToReadableStream,Qn as renderToStaticMarkup,Kn as renderToStaticNodeStream,Gn as renderToString,Jn as version};\n\n//# sourceMappingURL=server.browser.js.map","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 0 L 8.25 10.5 L 16.5 0 L 8.25 3.75 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"10.5px\" id=\"p8hPOMdcn\" transform=\"translate(3.75 12)\" width=\"16.5px\"/><path d=\"M 0 0 L 0 21\" fill=\"transparent\" height=\"21px\" id=\"OGnQD1VBV\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(12 1.5)\" width=\"1px\"/><path d=\"M 16.5 0 L 8.25 3.75 L 0 0\" fill=\"transparent\" height=\"3.75px\" id=\"berFhRPzy\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.75 12)\" width=\"16.5px\"/><path d=\"M 8.25 0 L 16.5 10.5 L 8.25 21 L 0 10.5 Z\" fill=\"transparent\" height=\"21px\" id=\"SsqYbibuF\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.75 1.5)\" width=\"16.5px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"218170242\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-YTpSv\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-YTpSv { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Currency Eth\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-YTpSv\");Icon.displayName=\"Currency Eth\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"true\",\"framerIntrinsicHeight\":\"24\",\"framerIntrinsicWidth\":\"24\",\"framerVector\":\"{\\\"name\\\":\\\"Currency Eth\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","function addUniqueItem(t,e){t.indexOf(e)===-1&&t.push(e)}function removeItem(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const clamp=(t,e,n)=>Math.min(Math.max(n,t),e);const t={duration:.3,delay:0,endDelay:0,repeat:0,easing:\"ease\"};const isNumber=t=>typeof t===\"number\";const isEasingList=t=>Array.isArray(t)&&!isNumber(t[0]);const wrap=(t,e,n)=>{const o=e-t;return((n-t)%o+o)%o+t};function getEasingForSegment(t,e){return isEasingList(t)?t[wrap(0,t.length,e)]:t}const mix=(t,e,n)=>-n*t+n*e+t;const noop=()=>{};const noopReturn=t=>t;const progress=(t,e,n)=>e-t===0?1:(n-t)/(e-t);function fillOffset(t,e){const n=t[t.length-1];for(let o=1;o<=e;o++){const s=progress(0,e,o);t.push(mix(n,1,s))}}function defaultOffset(t){const e=[0];fillOffset(e,t-1);return e}function interpolate(t,e=defaultOffset(t.length),n=noopReturn){const o=t.length;const s=o-e.length;s>0&&fillOffset(e,s);return s=>{let f=0;for(;f<o-2;f++)if(s<e[f+1])break;let r=clamp(0,1,progress(e[f],e[f+1],s));const c=getEasingForSegment(n,f);r=c(r);return mix(t[f],t[f+1],r)}}const isCubicBezier=t=>Array.isArray(t)&&isNumber(t[0]);const isEasingGenerator=t=>typeof t===\"object\"&&Boolean(t.createAnimation);const isFunction=t=>typeof t===\"function\";const isString=t=>typeof t===\"string\";const e={ms:t=>t*1e3,s:t=>t/1e3};\n/*\n  Convert velocity into velocity per second\n\n  @param [number]: Unit per frame\n  @param [number]: Frame duration in ms\n*/function velocityPerSecond(t,e){return e?t*(1e3/e):0}export{addUniqueItem,clamp,defaultOffset,t as defaults,fillOffset,getEasingForSegment,interpolate,isCubicBezier,isEasingGenerator,isEasingList,isFunction,isNumber,isString,mix,noop,noopReturn,progress,removeItem,e as time,velocityPerSecond,wrap};\n//# sourceMappingURL=index.es.js.map\n","import{noopReturn as t,clamp as n}from\"@motionone/utils\";const calcBezier=(t,n,e)=>(((1-3*e+3*n)*t+(3*e-6*n))*t+3*n)*t;const e=1e-7;const i=12;function binarySubdivide(t,n,o,r,c){let u;let a;let s=0;do{a=n+(o-n)/2;u=calcBezier(a,r,c)-t;u>0?o=a:n=a}while(Math.abs(u)>e&&++s<i);return a}function cubicBezier(n,e,i,o){if(n===e&&i===o)return t;const getTForX=t=>binarySubdivide(t,0,1,n,i);return t=>0===t||1===t?t:calcBezier(getTForX(t),e,o)}const steps=(t,e=\"end\")=>i=>{i=\"end\"===e?Math.min(i,.999):Math.max(i,.001);const o=i*t;const r=\"end\"===e?Math.floor(o):Math.ceil(o);return n(0,1,r/t)};export{cubicBezier,steps};\n\n//# sourceMappingURL=index.es.js.map","import{noopReturn as t,defaults as i,isEasingGenerator as e,isEasingList as s,interpolate as a}from\"@motionone/utils\";import{cubicBezier as n,steps as r}from\"@motionone/easing\";const o={ease:n(.25,.1,.25,1),\"ease-in\":n(.42,0,1,1),\"ease-in-out\":n(.42,0,.58,1),\"ease-out\":n(0,0,.58,1)};const h=/\\((.*?)\\)/;function getEasingFunction(i){if(\"function\"===typeof i)return i;if(Array.isArray(i))return n(...i);if(o[i])return o[i];if(i.startsWith(\"steps\")){const t=h.exec(i);if(t){const i=t[1].split(\",\");return r(parseFloat(i[0]),i[1].trim())}}return t}class Animation{constructor(n,r=[0,1],{easing:o,duration:h=i.duration,delay:u=i.delay,endDelay:l=i.endDelay,repeat:m=i.repeat,offset:c,direction:p=\"normal\"}={}){this.startTime=null;this.rate=1;this.t=0;this.cancelTimestamp=null;this.easing=t;this.duration=0;this.totalDuration=0;this.repeat=0;this.playState=\"idle\";this.finished=new Promise(((t,i)=>{this.resolve=t;this.reject=i}));o=o||i.easing;if(e(o)){const t=o.createAnimation(r,(()=>\"0\"),true);o=t.easing;void 0!==t.keyframes&&(r=t.keyframes);void 0!==t.duration&&(h=t.duration)}this.repeat=m;this.easing=s(o)?t:getEasingFunction(o);this.updateDuration(h);const d=a(r,c,s(o)?o.map(getEasingFunction):t);this.tick=t=>{var i;u=u;let e=0;e=void 0!==this.pauseTime?this.pauseTime:(t-this.startTime)*this.rate;this.t=e;e/=1e3;e=Math.max(e-u,0);\"finished\"===this.playState&&void 0===this.pauseTime&&(e=this.totalDuration);const s=e/this.duration;let a=Math.floor(s);let r=s%1;!r&&s>=1&&(r=1);1===r&&a--;const o=a%2;(\"reverse\"===p||\"alternate\"===p&&o||\"alternate-reverse\"===p&&!o)&&(r=1-r);const h=e>=this.totalDuration?1:Math.min(r,1);const m=d(this.easing(h));n(m);const c=void 0===this.pauseTime&&(\"finished\"===this.playState||e>=this.totalDuration+l);if(c){this.playState=\"finished\";null===(i=this.resolve)||void 0===i?void 0:i.call(this,m)}else\"idle\"!==this.playState&&(this.frameRequestId=requestAnimationFrame(this.tick))};this.play()}play(){const t=performance.now();this.playState=\"running\";void 0!==this.pauseTime?this.startTime=t-this.pauseTime:this.startTime||(this.startTime=t);this.cancelTimestamp=this.startTime;this.pauseTime=void 0;this.frameRequestId=requestAnimationFrame(this.tick)}pause(){this.playState=\"paused\";this.pauseTime=this.t}finish(){this.playState=\"finished\";this.tick(0)}stop(){var t;this.playState=\"idle\";void 0!==this.frameRequestId&&cancelAnimationFrame(this.frameRequestId);null===(t=this.reject)||void 0===t?void 0:t.call(this,false)}cancel(){this.stop();this.tick(this.cancelTimestamp)}reverse(){this.rate*=-1}commitStyles(){}updateDuration(t){this.duration=t;this.totalDuration=t*(this.repeat+1)}get currentTime(){return this.t}set currentTime(t){void 0!==this.pauseTime||0===this.rate?this.pauseTime=t:this.startTime=performance.now()-t/this.rate}get playbackRate(){return this.rate}set playbackRate(t){this.rate=t}}export{Animation,getEasingFunction};\n\n//# sourceMappingURL=index.es.js.map","var extendStatics=function(e,t){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])};return extendStatics(e,t)};function __extends(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}var __assign=function(){__assign=Object.assign||function __assign(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e};return __assign.apply(this,arguments)};function __rest(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&\"function\"===typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}function __decorate(e,t,r,n){var o,a=arguments.length,i=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if(\"object\"===typeof Reflect&&\"function\"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(i=(a<3?o(i):a>3?o(t,r,i):o(t,r))||i);return a>3&&i&&Object.defineProperty(t,r,i),i}function __param(e,t){return function(r,n){t(r,n,e)}}function __metadata(e,t){if(\"object\"===typeof Reflect&&\"function\"===typeof Reflect.metadata)return Reflect.metadata(e,t)}function __awaiter(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n.throw(e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))}function __generator(e,t){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:verb(0),throw:verb(1),return:verb(2)},\"function\"===typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function verb(e){return function(t){return step([e,t])}}function step(a){if(r)throw new TypeError(\"Generator is already executing.\");while(i)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;(n=0,o)&&(a=[2&a[0],o.value]);switch(a[0]){case 0:case 1:o=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;n=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(o=i.trys,o=o.length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1];o=a;break}if(o&&i.label<o[2]){i.label=o[2];i.ops.push(a);break}o[2]&&i.ops.pop();i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e];n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:true}}}var e=Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!(\"get\"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:true,get:function(){return t[r]}});Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r);e[n]=t[r]};function __exportStar(t,r){for(var n in t)\"default\"===n||Object.prototype.hasOwnProperty.call(r,n)||e(r,t,n)}function __values(e){var t=\"function\"===typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&\"number\"===typeof e.length)return{next:function(){e&&n>=e.length&&(e=void 0);return{value:e&&e[n++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function __read(e,t){var r=\"function\"===typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{while((void 0===t||t-- >0)&&!(n=a.next()).done)i.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i}\n/** @deprecated */function __spread(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(__read(arguments[t]));return e}\n/** @deprecated */function __spreadArrays(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),o=0;for(t=0;t<r;t++)for(var a=arguments[t],i=0,c=a.length;i<c;i++,o++)n[o]=a[i];return n}function __spreadArray(e,t,r){if(r||2===arguments.length)for(var n,o=0,a=t.length;o<a;o++)if(n||!(o in t)){n||(n=Array.prototype.slice.call(t,0,o));n[o]=t[o]}return e.concat(n||Array.prototype.slice.call(t))}function __await(e){return this instanceof __await?(this.v=e,this):new __await(e)}function __asyncGenerator(e,t,r){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var n,o=r.apply(e,t||[]),a=[];return n={},verb(\"next\"),verb(\"throw\"),verb(\"return\"),n[Symbol.asyncIterator]=function(){return this},n;function verb(e){o[e]&&(n[e]=function(t){return new Promise((function(r,n){a.push([e,t,r,n])>1||resume(e,t)}))})}function resume(e,t){try{step(o[e](t))}catch(e){settle(a[0][3],e)}}function step(e){e.value instanceof __await?Promise.resolve(e.value.v).then(fulfill,reject):settle(a[0][2],e)}function fulfill(e){resume(\"next\",e)}function reject(e){resume(\"throw\",e)}function settle(e,t){(e(t),a.shift(),a.length)&&resume(a[0][0],a[0][1])}}function __asyncDelegator(e){var t,r;return t={},verb(\"next\"),verb(\"throw\",(function(e){throw e})),verb(\"return\"),t[Symbol.iterator]=function(){return this},t;function verb(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:__await(e[n](t)),done:\"return\"===n}:o?o(t):t}:o}}function __asyncValues(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=\"function\"===typeof __values?__values(e):e[Symbol.iterator](),t={},verb(\"next\"),verb(\"throw\"),verb(\"return\"),t[Symbol.asyncIterator]=function(){return this},t);function verb(r){t[r]=e[r]&&function(t){return new Promise((function(n,o){t=e[r](t),settle(n,o,t.done,t.value)}))}}function settle(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}}function __makeTemplateObject(e,t){Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t;return e}var t=Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:true,value:t})}:function(e,t){e.default=t};function __importStar(r){if(r&&r.__esModule)return r;var n={};if(null!=r)for(var o in r)\"default\"!==o&&Object.prototype.hasOwnProperty.call(r,o)&&e(n,r,o);t(n,r);return n}function __importDefault(e){return e&&e.__esModule?e:{default:e}}function __classPrivateFieldGet(e,t,r,n){if(\"a\"===r&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof t?e!==t||!n:!t.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===r?n:\"a\"===r?n.call(e):n?n.value:t.get(e)}function __classPrivateFieldSet(e,t,r,n,o){if(\"m\"===n)throw new TypeError(\"Private method is not writable\");if(\"a\"===n&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof t?e!==t||!o:!t.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}function __classPrivateFieldIn(e,t){if(null===t||\"object\"!==typeof t&&\"function\"!==typeof t)throw new TypeError(\"Cannot use 'in' operator on non-object\");return\"function\"===typeof e?t===e:e.has(t)}export{__assign,__asyncDelegator,__asyncGenerator,__asyncValues,__await,__awaiter,__classPrivateFieldGet,__classPrivateFieldIn,__classPrivateFieldSet,e as __createBinding,__decorate,__exportStar,__extends,__generator,__importDefault,__importStar,__makeTemplateObject,__metadata,__param,__read,__rest,__spread,__spreadArray,__spreadArrays,__values};\n\n//# sourceMappingURL=tslib.es6.js.map","var n={};Object.defineProperty(n,\"__esModule\",{value:true});n.warning=function(){};n.invariant=function(){};const e=n.__esModule,t=n.warning,r=n.invariant;export default n;export{e as __esModule,r as invariant,t as warning};\n\n//# sourceMappingURL=index.js.map","import{velocityPerSecond as e,time as t}from\"@motionone/utils\";const s=5;function calcGeneratorVelocity(t,n,r){const a=Math.max(n-s,0);return e(r-t(a),n-a)}const n={stiffness:100,damping:10,mass:1};const calcDampingRatio=(e=n.stiffness,t=n.damping,s=n.mass)=>t/(2*Math.sqrt(e*s));function hasReachedTarget(e,t,s){return e<t&&s>=t||e>t&&s<=t}const spring=({stiffness:e=n.stiffness,damping:s=n.damping,mass:r=n.mass,from:a=0,to:o=1,velocity:c=0,restSpeed:i=2,restDistance:h=.5}={})=>{c=c?t.s(c):0;const u={done:false,hasReachedTarget:false,current:a,target:o};const d=o-a;const f=Math.sqrt(e/r)/1e3;const l=calcDampingRatio(e,s,r);let g;if(l<1){const e=f*Math.sqrt(1-l*l);g=t=>o-Math.exp(-l*f*t)*((l*f*d-c)/e*Math.sin(e*t)+d*Math.cos(e*t))}else g=e=>o-Math.exp(-f*e)*(d+(f*d-c)*e);return e=>{u.current=g(e);const t=0===e?c:calcGeneratorVelocity(g,e,u.current);const s=Math.abs(t)<=i;const n=Math.abs(o-u.current)<=h;u.done=s&&n;u.hasReachedTarget=hasReachedTarget(a,o,u.current);return u}};const glide=({from:e=0,velocity:s=0,power:n=.8,decay:r=.325,bounceDamping:a,bounceStiffness:o,changeTarget:c,min:i,max:h,restDistance:u=.5,restSpeed:d})=>{r=t.ms(r);const f={hasReachedTarget:false,done:false,current:e,target:e};const isOutOfBounds=e=>void 0!==i&&e<i||void 0!==h&&e>h;const nearestBoundary=e=>void 0===i?h:void 0===h||Math.abs(i-e)<Math.abs(h-e)?i:h;let l=n*s;const g=e+l;const m=void 0===c?g:c(g);f.target=m;m!==g&&(l=m-e);const calcDelta=e=>-l*Math.exp(-e/r);const calcLatest=e=>m+calcDelta(e);const applyFriction=e=>{const t=calcDelta(e);const s=calcLatest(e);f.done=Math.abs(t)<=u;f.current=f.done?m:s};let p;let M;const checkCatchBoundary=e=>{if(isOutOfBounds(f.current)){p=e;M=spring({from:f.current,to:nearestBoundary(f.current),velocity:calcGeneratorVelocity(calcLatest,e,f.current),damping:a,stiffness:o,restDistance:u,restSpeed:d})}};checkCatchBoundary(0);return e=>{let t=false;if(!M&&void 0===p){t=true;applyFriction(e);checkCatchBoundary(e)}if(void 0!==p&&e>p){f.hasReachedTarget=true;return M(e-p)}f.hasReachedTarget=false;!t&&applyFriction(e);return f}};const r=10;const a=1e4;function pregenerateKeyframes(e){let t;let s=r;let n=e(0);const o=[n.current];while(!n.done&&s<a){n=e(s);o.push(n.done?n.target:n.current);void 0===t&&n.hasReachedTarget&&(t=s);s+=r}const c=s-r;1===o.length&&o.push(n.current);return{keyframes:o,duration:c/1e3,overshootDuration:(null!==t&&void 0!==t?t:c)/1e3}}export{calcGeneratorVelocity,glide,pregenerateKeyframes,spring};\n\n//# sourceMappingURL=index.es.js.map","import{MotionValue as e}from\"@motionone/types\";import{noopReturn as t,addUniqueItem as n,isCubicBezier as o,defaults as i,isEasingGenerator as s,isNumber as r,time as a,isEasingList as c,noop as l,removeItem as f,mix as u,getEasingForSegment as d,isString as g,defaultOffset as m,fillOffset as h,progress as p,velocityPerSecond as v,interpolate as y}from\"@motionone/utils\";import{Animation as w,getEasingFunction as E}from\"@motionone/animation\";import{__rest as b}from\"tslib\";import{invariant as S}from\"hey-listen\";import{pregenerateKeyframes as A,calcGeneratorVelocity as O,spring as x,glide as V}from\"@motionone/generators\";const z=new WeakMap;function getAnimationData(e){z.has(e)||z.set(e,{transforms:[],values:new Map});return z.get(e)}function getMotionValue(t,n){t.has(n)||t.set(n,new e);return t.get(n)}const W=[\"\",\"X\",\"Y\",\"Z\"];const L=[\"translate\",\"scale\",\"rotate\",\"skew\"];const T={x:\"translateX\",y:\"translateY\",z:\"translateZ\"};const D={syntax:\"<angle>\",initialValue:\"0deg\",toDefaultUnit:e=>e+\"deg\"};const M={translate:{syntax:\"<length-percentage>\",initialValue:\"0px\",toDefaultUnit:e=>e+\"px\"},rotate:D,scale:{syntax:\"<number>\",initialValue:1,toDefaultUnit:t},skew:D};const k=new Map;const asTransformCssVar=e=>`--motion-${e}`;const B=[\"x\",\"y\",\"z\"];L.forEach((e=>{W.forEach((t=>{B.push(e+t);k.set(asTransformCssVar(e+t),M[e])}))}));const compareTransformOrder=(e,t)=>B.indexOf(e)-B.indexOf(t);const j=new Set(B);const isTransform=e=>j.has(e);const addTransformToElement=(e,t)=>{T[t]&&(t=T[t]);const{transforms:o}=getAnimationData(e);n(o,t);e.style.transform=buildTransformTemplate(o)};const buildTransformTemplate=e=>e.sort(compareTransformOrder).reduce(transformListToString,\"\").trim();const transformListToString=(e,t)=>`${e} ${t}(var(${asTransformCssVar(t)}))`;const isCssVar=e=>e.startsWith(\"--\");const P=new Set;function registerCssVariable(e){if(!P.has(e)){P.add(e);try{const{syntax:t,initialValue:n}=k.has(e)?k.get(e):{};CSS.registerProperty({name:e,inherits:false,syntax:t,initialValue:n})}catch(e){}}}const convertEasing=e=>o(e)?cubicBezierAsString(e):e;const cubicBezierAsString=([e,t,n,o])=>`cubic-bezier(${e}, ${t}, ${n}, ${o})`;const testAnimation=e=>document.createElement(\"div\").animate(e,{duration:.001});const C={cssRegisterProperty:()=>\"undefined\"!==typeof CSS&&Object.hasOwnProperty.call(CSS,\"registerProperty\"),waapi:()=>Object.hasOwnProperty.call(Element.prototype,\"animate\"),partialKeyframes:()=>{try{testAnimation({opacity:[1]})}catch(e){return false}return true},finished:()=>Boolean(testAnimation({opacity:[0,1]}).finished)};const $={};const R={};for(const e in C)R[e]=()=>{void 0===$[e]&&($[e]=C[e]());return $[e]};function hydrateKeyframes(e,t){for(let n=0;n<e.length;n++)null===e[n]&&(e[n]=n?e[n-1]:t());return e}const keyframesList=e=>Array.isArray(e)?e:[e];function getStyleName(e){T[e]&&(e=T[e]);return isTransform(e)?asTransformCssVar(e):e}const H={get:(e,t)=>{t=getStyleName(t);let n=isCssVar(t)?e.style.getPropertyValue(t):getComputedStyle(e)[t];if(!n&&0!==n){const e=k.get(t);e&&(n=e.initialValue)}return n},set:(e,t,n)=>{t=getStyleName(t);isCssVar(t)?e.style.setProperty(t,n):e.style[t]=n}};function stopAnimation(e,t=true){if(e&&\"finished\"!==e.playState)try{if(e.stop)e.stop();else{t&&e.commitStyles();e.cancel()}}catch(e){}}function getDevToolsRecord(){return window.__MOTION_DEV_TOOLS_RECORD}function animateStyle(e,t,n,o={}){const f=getDevToolsRecord();const u=false!==o.record&&f;let d;let{duration:g=i.duration,delay:m=i.delay,endDelay:h=i.endDelay,repeat:p=i.repeat,easing:v=i.easing,direction:y,offset:E,allowWebkitAcceleration:b=false}=o;const S=getAnimationData(e);let A=R.waapi();const O=isTransform(t);O&&addTransformToElement(e,t);const x=getStyleName(t);const V=getMotionValue(S.values,x);const z=k.get(x);stopAnimation(V.animation,!(s(v)&&V.generator)&&false!==o.record);return()=>{const readInitialValue=()=>{var t,n;return null!==(n=null!==(t=H.get(e,x))&&void 0!==t?t:null===z||void 0===z?void 0:z.initialValue)&&void 0!==n?n:0};let i=hydrateKeyframes(keyframesList(n),readInitialValue);if(s(v)){const e=v.createAnimation(i,readInitialValue,O,x,V);v=e.easing;void 0!==e.keyframes&&(i=e.keyframes);void 0!==e.duration&&(g=e.duration)}isCssVar(x)&&(R.cssRegisterProperty()?registerCssVariable(x):A=false);if(A){z&&(i=i.map((e=>r(e)?z.toDefaultUnit(e):e)));1!==i.length||R.partialKeyframes()&&!u||i.unshift(readInitialValue());const t={delay:a.ms(m),duration:a.ms(g),endDelay:a.ms(h),easing:c(v)?void 0:convertEasing(v),direction:y,iterations:p+1,fill:\"both\"};d=e.animate({[x]:i,offset:E,easing:c(v)?v.map(convertEasing):void 0},t);d.finished||(d.finished=new Promise(((e,t)=>{d.onfinish=e;d.oncancel=t})));const n=i[i.length-1];d.finished.then((()=>{H.set(e,x,n);d.cancel()})).catch(l);b||(d.playbackRate=1.000001)}else if(O){i=i.map((e=>\"string\"===typeof e?parseFloat(e):e));1===i.length&&i.unshift(parseFloat(readInitialValue()));const render=t=>{z&&(t=z.toDefaultUnit(t));H.set(e,x,t)};d=new w(render,i,Object.assign(Object.assign({},o),{duration:g,easing:v}))}else{const t=i[i.length-1];H.set(e,x,z&&r(t)?z.toDefaultUnit(t):t)}u&&f(e,t,i,{duration:g,delay:m,easing:v,repeat:p,offset:E},\"motion-one\");V.setAnimation(d);return d}}const getOptions=(e,t)=>e[t]?Object.assign(Object.assign({},e),e[t]):Object.assign({},e);function resolveElements(e,t){var n;if(\"string\"===typeof e)if(t){null!==(n=t[e])&&void 0!==n?n:t[e]=document.querySelectorAll(e);e=t[e]}else e=document.querySelectorAll(e);else e instanceof Element&&(e=[e]);return Array.from(e||[])}const createAnimation=e=>e();const withControls=(e,t,n=i.duration)=>new Proxy({animations:e.map(createAnimation).filter(Boolean),duration:n,options:t},I);const getActiveAnimation=e=>e.animations[0];const I={get:(e,t)=>{const n=getActiveAnimation(e);switch(t){case\"duration\":return e.duration;case\"currentTime\":return a.s((null===n||void 0===n?void 0:n[t])||0);case\"playbackRate\":case\"playState\":return null===n||void 0===n?void 0:n[t];case\"finished\":e.finished||(e.finished=Promise.all(e.animations.map(selectFinished)).catch(l));return e.finished;case\"stop\":return()=>{e.animations.forEach((e=>stopAnimation(e)))};case\"forEachNative\":return t=>{e.animations.forEach((n=>t(n,e)))};default:return\"undefined\"===typeof(null===n||void 0===n?void 0:n[t])?void 0:()=>e.animations.forEach((e=>e[t]()))}},set:(e,t,n)=>{switch(t){case\"currentTime\":n=a.ms(n);case\"currentTime\":case\"playbackRate\":for(let o=0;o<e.animations.length;o++)e.animations[o][t]=n;return true}return false}};const selectFinished=e=>e.finished;function stagger(e=.1,{start:t=0,from:n=0,easing:o}={}){return(i,s)=>{const a=r(n)?n:getFromIndex(n,s);const c=Math.abs(a-i);let l=e*c;if(o){const t=s*e;const n=E(o);l=n(l/t)*t}return t+l}}function getFromIndex(e,t){if(\"first\"===e)return 0;{const n=t-1;return\"last\"===e?n:n/2}}function resolveOption(e,t,n){return\"function\"===typeof e?e(t,n):e}function animate(e,t,n={}){e=resolveElements(e);const o=e.length;const i=[];for(let s=0;s<o;s++){const r=e[s];for(const e in t){const a=getOptions(n,e);a.delay=resolveOption(a.delay,s,o);const c=animateStyle(r,e,t[e],a);i.push(c)}}return withControls(i,n,n.duration)}function calcNextTime(e,t,n,o){var i;return r(t)?t:t.startsWith(\"-\")||t.startsWith(\"+\")?Math.max(0,e+parseFloat(t)):\"<\"===t?n:null!==(i=o.get(t))&&void 0!==i?i:e}function eraseKeyframes(e,t,n){for(let o=0;o<e.length;o++){const i=e[o];if(i.at>t&&i.at<n){f(e,i);o--}}}function addKeyframes(e,t,n,o,i,s){eraseKeyframes(e,i,s);for(let r=0;r<t.length;r++)e.push({value:t[r],at:u(i,s,o[r]),easing:d(n,r)})}function compareByTime(e,t){return e.at===t.at?null===e.value?1:-1:e.at-t.at}function timeline(e,t={}){var n;const o=createAnimationsFromTimeline(e,t);const i=o.map((e=>animateStyle(...e))).filter(Boolean);return withControls(i,t,null===(n=o[0])||void 0===n?void 0:n[3].duration)}function createAnimationsFromTimeline(e,t={}){var{defaultOptions:n={}}=t,o=b(t,[\"defaultOptions\"]);const r=[];const a=new Map;const c={};const l=new Map;let f=0;let u=0;let d=0;for(let t=0;t<e.length;t++){const o=e[t];if(g(o)){l.set(o,u);continue}if(!Array.isArray(o)){l.set(o.name,calcNextTime(u,o.at,f,l));continue}const[r,p,v={}]=o;void 0!==v.at&&(u=calcNextTime(u,v.at,f,l));let y=0;const w=resolveElements(r,c);const E=w.length;for(let e=0;e<E;e++){const t=w[e];const o=getElementSequence(t,a);for(const t in p){const r=getValueSequence(t,o);let a=keyframesList(p[t]);const c=getOptions(v,t);let{duration:l=n.duration||i.duration,easing:f=n.easing||i.easing}=c;if(s(f)){const e=isTransform(t);S(2===a.length||!e,\"spring must be provided 2 keyframes within timeline\");const n=f.createAnimation(a,(()=>\"0\"),e);f=n.easing;void 0!==n.keyframes&&(a=n.keyframes);void 0!==n.duration&&(l=n.duration)}const g=resolveOption(v.delay,e,E)||0;const w=u+g;const b=w+l;let{offset:A=m(a.length)}=c;1===A.length&&0===A[0]&&(A[1]=1);const O=length-a.length;O>0&&h(A,O);1===a.length&&a.unshift(null);addKeyframes(r,a,f,A,w,b);y=Math.max(g+l,y);d=Math.max(b,d)}}f=u;u+=y}a.forEach(((e,t)=>{for(const s in e){const a=e[s];a.sort(compareByTime);const c=[];const l=[];const f=[];for(let e=0;e<a.length;e++){const{at:t,value:n,easing:o}=a[e];c.push(n);l.push(p(0,d,t));f.push(o||i.easing)}if(0!==l[0]){l.unshift(0);c.unshift(c[0]);f.unshift(\"linear\")}if(1!==l[l.length-1]){l.push(1);c.push(null)}r.push([t,s,c,Object.assign(Object.assign(Object.assign({},n),{duration:d,easing:f,offset:l}),o)])}}));return r}function getElementSequence(e,t){!t.has(e)&&t.set(e,{});return t.get(e)}function getValueSequence(e,t){t[e]||(t[e]=[]);return t[e]}function createGeneratorEasing(e){const t=new WeakMap;return(n={})=>{const o=new Map;const getGenerator=(t=0,i=100,s=0,r=false)=>{const a=`${t}-${i}-${s}-${r}`;o.has(a)||o.set(a,e(Object.assign({from:t,to:i,velocity:s,restSpeed:r?.05:2,restDistance:r?.01:.5},n)));return o.get(a)};const getKeyframes=e=>{t.has(e)||t.set(e,A(e));return t.get(e)};return{createAnimation:(e,t,n,o,i)=>{var s,r;let a;const c=e.length;let l=n&&c<=2&&e.every(isNumberOrNull);if(l){const n=e[c-1];const l=1===c?null:e[0];let f=0;let u=0;const d=null===i||void 0===i?void 0:i.generator;if(d){const{animation:t,generatorStartTime:n}=i;const o=(null===t||void 0===t?void 0:t.startTime)||n||0;const r=(null===t||void 0===t?void 0:t.currentTime)||performance.now()-o;const a=d(r).current;u=null!==(s=l)&&void 0!==s?s:a;(1===c||2===c&&null===e[0])&&(f=O((e=>d(e).current),r,a))}else u=null!==(r=l)&&void 0!==r?r:parseFloat(t());const g=getGenerator(u,n,f,null===o||void 0===o?void 0:o.includes(\"scale\"));const m=getKeyframes(g);a=Object.assign(Object.assign({},m),{easing:\"linear\"});if(i){i.generator=g;i.generatorStartTime=performance.now()}}else{const e=getKeyframes(getGenerator(0,100));a={easing:\"ease\",duration:e.overshootDuration}}return a}}}}const isNumberOrNull=e=>\"string\"!==typeof e;const N=createGeneratorEasing(x);const F=createGeneratorEasing(V);const U={any:0,all:1};function inView$1(e,t,{root:n,margin:o,amount:i=\"any\"}={}){if(\"undefined\"===typeof IntersectionObserver)return()=>{};const s=resolveElements(e);const r=new WeakMap;const onIntersectionChange=e=>{e.forEach((e=>{const n=r.get(e.target);if(e.isIntersecting!==Boolean(n))if(e.isIntersecting){const n=t(e);\"function\"===typeof n?r.set(e.target,n):a.unobserve(e.target)}else if(n){n(e);r.delete(e.target)}}))};const a=new IntersectionObserver(onIntersectionChange,{root:n,rootMargin:o,threshold:\"number\"===typeof i?i:U[i]});s.forEach((e=>a.observe(e)));return()=>a.disconnect()}const q=new WeakMap;let K;function getElementSize(e,t){if(t){const{inlineSize:e,blockSize:n}=t[0];return{width:e,height:n}}return e instanceof SVGElement&&\"getBBox\"in e?e.getBBox():{width:e.offsetWidth,height:e.offsetHeight}}function notifyTarget({target:e,contentRect:t,borderBoxSize:n}){var o;null===(o=q.get(e))||void 0===o?void 0:o.forEach((o=>{o({target:e,contentSize:t,get size(){return getElementSize(e,n)}})}))}function notifyAll(e){e.forEach(notifyTarget)}function createResizeObserver(){\"undefined\"!==typeof ResizeObserver&&(K=new ResizeObserver(notifyAll))}function resizeElement(e,t){K||createResizeObserver();const n=resolveElements(e);n.forEach((e=>{let n=q.get(e);if(!n){n=new Set;q.set(e,n)}n.add(t);null===K||void 0===K?void 0:K.observe(e)}));return()=>{n.forEach((e=>{const n=q.get(e);null===n||void 0===n?void 0:n.delete(t);(null===n||void 0===n?void 0:n.size)||(null===K||void 0===K?void 0:K.unobserve(e))}))}}const G=new Set;let _;function createWindowResizeHandler(){_=()=>{const e={width:window.innerWidth,height:window.innerHeight};const t={target:window,size:e,contentSize:e};G.forEach((e=>e(t)))};window.addEventListener(\"resize\",_)}function resizeWindow(e){G.add(e);_||createWindowResizeHandler();return()=>{G.delete(e);!G.size&&_&&(_=void 0)}}function resize(e,t){return\"function\"===typeof e?resizeWindow(e):resizeElement(e,t)}const Z=50;const createAxisInfo=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0});const createScrollInfo=()=>({time:0,x:createAxisInfo(),y:createAxisInfo()});const X={x:{length:\"Width\",position:\"Left\"},y:{length:\"Height\",position:\"Top\"}};function updateAxisInfo(e,t,n,o){const i=n[t];const{length:s,position:r}=X[t];const a=i.current;const c=n.time;i.current=e[\"scroll\"+r];i.scrollLength=e[\"scroll\"+s]-e[\"client\"+s];i.offset.length=0;i.offset[0]=0;i.offset[1]=i.scrollLength;i.progress=p(0,i.scrollLength,i.current);const l=o-c;i.velocity=l>Z?0:v(i.current-a,l)}function updateScrollInfo(e,t,n){updateAxisInfo(e,\"x\",t,n);updateAxisInfo(e,\"y\",t,n);t.time=n}function calcInset(e,t){let n={x:0,y:0};let o=e;while(o&&o!==t)if(o instanceof HTMLElement){n.x+=o.offsetLeft;n.y+=o.offsetTop;o=o.offsetParent}else if(o instanceof SVGGraphicsElement&&\"getBBox\"in o){const{top:e,left:t}=o.getBBox();n.x+=t;n.y+=e;while(o&&\"svg\"!==o.tagName)o=o.parentNode}return n}const Y={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]};const J={start:0,center:.5,end:1};function resolveEdge(e,t,n=0){let o=0;void 0!==J[e]&&(e=J[e]);if(g(e)){const t=parseFloat(e);e.endsWith(\"px\")?o=t:e.endsWith(\"%\")?e=t/100:e.endsWith(\"vw\")?o=t/100*document.documentElement.clientWidth:e.endsWith(\"vh\")?o=t/100*document.documentElement.clientHeight:e=t}r(e)&&(o=t*e);return n+o}const Q=[0,0];function resolveOffset(e,t,n,o){let i=Array.isArray(e)?e:Q;let s=0;let a=0;if(r(e))i=[e,e];else if(g(e)){e=e.trim();i=e.includes(\" \")?e.split(\" \"):[e,J[e]?e:\"0\"]}s=resolveEdge(i[0],n,o);a=resolveEdge(i[1],t);return s-a}const ee={x:0,y:0};function resolveOffsets(e,t,n){let{offset:o=Y.All}=n;const{target:i=e,axis:s=\"y\"}=n;const r=\"y\"===s?\"height\":\"width\";const a=i!==e?calcInset(i,e):ee;const c=i===e?{width:e.scrollWidth,height:e.scrollHeight}:{width:i.clientWidth,height:i.clientHeight};const l={width:e.clientWidth,height:e.clientHeight};t[s].offset.length=0;let f=!t[s].interpolate;const u=o.length;for(let e=0;e<u;e++){const n=resolveOffset(o[e],l[r],c[r],a[s]);f||n===t[s].interpolatorOffsets[e]||(f=true);t[s].offset[e]=n}if(f){t[s].interpolate=y(m(u),t[s].offset);t[s].interpolatorOffsets=[...t[s].offset]}t[s].progress=t[s].interpolate(t[s].current)}function measure(e,t=e,n){n.x.targetOffset=0;n.y.targetOffset=0;if(t!==e){let o=t;while(o&&o!=e){n.x.targetOffset+=o.offsetLeft;n.y.targetOffset+=o.offsetTop;o=o.offsetParent}}n.x.targetLength=t===e?t.scrollWidth:t.clientWidth;n.y.targetLength=t===e?t.scrollHeight:t.clientHeight;n.x.containerLength=e.clientWidth;n.y.containerLength=e.clientHeight}function createOnScrollHandler(e,t,n,o={}){const i=o.axis||\"y\";return{measure:()=>measure(e,o.target,n),update:t=>{updateScrollInfo(e,n,t);(o.offset||o.target)&&resolveOffsets(e,n,o)},notify:\"function\"===typeof t?()=>t(n):scrubAnimation(t,n[i])}}function scrubAnimation(e,n){e.pause();e.forEachNative(((e,{easing:n})=>{var o,i;if(e.updateDuration){n||(e.easing=t);e.updateDuration(1)}else{const t={duration:1e3};n||(t.easing=\"linear\");null===(i=null===(o=e.effect)||void 0===o?void 0:o.updateTiming)||void 0===i?void 0:i.call(o,t)}}));return()=>{e.currentTime=n.progress}}const te=new WeakMap;const ne=new WeakMap;const oe=new WeakMap;const getEventTarget=e=>e===document.documentElement?window:e;function scroll(e,t={}){var{container:n=document.documentElement}=t,o=b(t,[\"container\"]);let i=oe.get(n);if(!i){i=new Set;oe.set(n,i)}const s=createScrollInfo();const r=createOnScrollHandler(n,e,s,o);i.add(r);if(!te.has(n)){const listener=()=>{const e=performance.now();for(const e of i)e.measure();for(const t of i)t.update(e);for(const e of i)e.notify()};te.set(n,listener);const e=getEventTarget(n);window.addEventListener(\"resize\",listener,{passive:true});n!==document.documentElement&&ne.set(n,resize(n,listener));e.addEventListener(\"scroll\",listener,{passive:true})}const a=te.get(n);const c=requestAnimationFrame(a);return()=>{var t;\"function\"!==typeof e&&e.stop();cancelAnimationFrame(c);const o=oe.get(n);if(!o)return;o.delete(r);if(o.size)return;const i=te.get(n);te.delete(n);if(i){getEventTarget(n).removeEventListener(\"scroll\",i);null===(t=ne.get(n))||void 0===t?void 0:t();window.removeEventListener(\"resize\",i)}}}function hasChanged(e,t){return typeof e!==typeof t||(Array.isArray(e)&&Array.isArray(t)?!shallowCompare(e,t):e!==t)}function shallowCompare(e,t){const n=t.length;if(n!==e.length)return false;for(let o=0;o<n;o++)if(t[o]!==e[o])return false;return true}function isVariant(e){return\"object\"===typeof e}function resolveVariant(e,t){return isVariant(e)?e:e&&t?t[e]:void 0}let ie;function processScheduledAnimations(){if(!ie)return;const e=ie.sort(compareByDepth).map(fireAnimateUpdates);e.forEach(fireNext);e.forEach(fireNext);ie=void 0}function scheduleAnimation(e){if(ie)n(ie,e);else{ie=[e];requestAnimationFrame(processScheduledAnimations)}}function unscheduleAnimation(e){ie&&f(ie,e)}const compareByDepth=(e,t)=>e.getDepth()-t.getDepth();const fireAnimateUpdates=e=>e.animateUpdates();const fireNext=e=>e.next();const motionEvent=(e,t)=>new CustomEvent(e,{detail:{target:t}});function dispatchPointerEvent(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:{originalEvent:n}}))}function dispatchViewEvent(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:{originalEntry:n}}))}const se={isActive:e=>Boolean(e.inView),subscribe:(e,{enable:t,disable:n},{inViewOptions:o={}})=>{const{once:i}=o,s=b(o,[\"once\"]);return inView$1(e,(o=>{t();dispatchViewEvent(e,\"viewenter\",o);if(!i)return t=>{n();dispatchViewEvent(e,\"viewleave\",t)}}),s)}};const mouseEvent=(e,t,n)=>o=>{if(!o.pointerType||\"mouse\"===o.pointerType){n();dispatchPointerEvent(e,t,o)}};const re={isActive:e=>Boolean(e.hover),subscribe:(e,{enable:t,disable:n})=>{const o=mouseEvent(e,\"hoverstart\",t);const i=mouseEvent(e,\"hoverend\",n);e.addEventListener(\"pointerenter\",o);e.addEventListener(\"pointerleave\",i);return()=>{e.removeEventListener(\"pointerenter\",o);e.removeEventListener(\"pointerleave\",i)}}};const ae={isActive:e=>Boolean(e.press),subscribe:(e,{enable:t,disable:n})=>{const onPointerUp=t=>{n();dispatchPointerEvent(e,\"pressend\",t);window.removeEventListener(\"pointerup\",onPointerUp)};const onPointerDown=n=>{t();dispatchPointerEvent(e,\"pressstart\",n);window.addEventListener(\"pointerup\",onPointerUp)};e.addEventListener(\"pointerdown\",onPointerDown);return()=>{e.removeEventListener(\"pointerdown\",onPointerDown);window.removeEventListener(\"pointerup\",onPointerUp)}}};const ce={inView:se,hover:re,press:ae};const le=[\"initial\",\"animate\",...Object.keys(ce),\"exit\"];const fe=new WeakMap;function createMotionState(e={},t){let n;let o=t?t.getDepth()+1:0;const i={initial:true,animate:true};const s={};const r={};for(const n of le)r[n]=\"string\"===typeof e[n]?e[n]:null===t||void 0===t?void 0:t.getContext()[n];const a=false===e.initial?\"animate\":\"initial\";let c=resolveVariant(e[a]||r[a],e.variants)||{},f=b(c,[\"transition\"]);const u=Object.assign({},f);function*animateUpdates(){var t,o;const s=f;f={};const r={};for(const n of le){if(!i[n])continue;const s=resolveVariant(e[n]);if(s)for(const n in s)if(\"transition\"!==n){f[n]=s[n];r[n]=getOptions(null!==(o=null!==(t=s.transition)&&void 0!==t?t:e.transition)&&void 0!==o?o:{},n)}}const a=new Set([...Object.keys(f),...Object.keys(s)]);const c=[];a.forEach((e=>{var t;void 0===f[e]&&(f[e]=u[e]);if(hasChanged(s[e],f[e])){null!==(t=u[e])&&void 0!==t?t:u[e]=H.get(n,e);c.push(animateStyle(n,e,f[e],r[e]))}}));yield;const d=c.map((e=>e())).filter(Boolean);if(!d.length)return;const g=f;n.dispatchEvent(motionEvent(\"motionstart\",g));Promise.all(d.map((e=>e.finished))).then((()=>{n.dispatchEvent(motionEvent(\"motioncomplete\",g))})).catch(l)}const setGesture=(e,t)=>()=>{i[e]=t;scheduleAnimation(d)};const updateGestureSubscriptions=()=>{for(const t in ce){const o=ce[t].isActive(e);const i=s[t];if(o&&!i)s[t]=ce[t].subscribe(n,{enable:setGesture(t,true),disable:setGesture(t,false)},e);else if(!o&&i){i();delete s[t]}}};const d={update:t=>{if(n){e=t;updateGestureSubscriptions();scheduleAnimation(d)}},setActive:(e,t)=>{if(n){i[e]=t;scheduleAnimation(d)}},animateUpdates:animateUpdates,getDepth:()=>o,getTarget:()=>f,getOptions:()=>e,getContext:()=>r,mount:e=>{S(Boolean(e),\"Animation state must be mounted with valid Element\");n=e;fe.set(n,d);updateGestureSubscriptions();return()=>{fe.delete(n);unscheduleAnimation(d);for(const e in s)s[e]()}},isMounted:()=>Boolean(n)};return d}function createStyles(e){const t={};const n=[];for(let o in e){const i=e[o];if(isTransform(o)){T[o]&&(o=T[o]);n.push(o);o=asTransformCssVar(o)}let s=Array.isArray(i)?i[0]:i;const a=k.get(o);a&&(s=r(i)?a.toDefaultUnit(i):i);t[o]=s}n.length&&(t.transform=buildTransformTemplate(n));return t}const camelLetterToPipeLetter=e=>`-${e.toLowerCase()}`;const camelToPipeCase=e=>e.replace(/[A-Z]/g,camelLetterToPipeLetter);function createStyleString(e={}){const t=createStyles(e);let n=\"\";for(const e in t){n+=e.startsWith(\"--\")?e:camelToPipeCase(e);n+=`: ${t[e]}; `}return n}export{Y as ScrollOffset,animate,animateStyle,createMotionState,createStyleString,createStyles,getAnimationData,getStyleName,F as glide,inView$1 as inView,fe as mountedStates,resize,scroll,N as spring,stagger,H as style,timeline,withControls};\n\n//# sourceMappingURL=index.es.js.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{Children,useLayoutEffect,useEffect,useState,useRef,useMemo,useCallback,cloneElement,startTransition,forwardRef,useImperativeHandle}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useReducedMotion,LayoutGroup,useInView,useMotionValue,useTransform,motion,frame}from\"framer-motion\";import{resize}from\"@motionone/dom\";const MAX_DUPLICATED_ITEMS=100;const directionTransformers={left:offset=>`translateX(-${offset}px)`,right:offset=>`translateX(${offset}px)`,top:offset=>`translateY(-${offset}px)`,bottom:offset=>`translateY(${offset}px)`};/**\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function Ticker(props){/* Props */let{slots=[],gap,padding,paddingPerSide,paddingTop,paddingRight,paddingBottom,paddingLeft,speed,hoverFactor,direction,alignment,sizingOptions,fadeOptions,style}=props;const{fadeContent,overflow,fadeWidth,fadeInset,fadeAlpha}=fadeOptions;const{widthType,heightType}=sizingOptions;const paddingValue=paddingPerSide?`${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px`:`${padding}px`;/* Checks */const currentTarget=RenderTarget.current();const isCanvas=currentTarget===RenderTarget.canvas||currentTarget===RenderTarget.export;const writingDirection=useWritingDirection();// Remove empty slots (such as hidden layers)\nconst filteredSlots=slots.filter(Boolean);const numChildren=Children.count(filteredSlots);const hasChildren=numChildren>0;const offset=useMotionValue(0);const resolvedDirection=getTickerResolvedDirection(direction===true?\"left\":direction,writingDirection);const isHorizontal=resolvedDirection===\"left\"||resolvedDirection===\"right\";const transformer=directionTransformers[resolvedDirection];const transform=useTransform(offset,transformer);/* Refs and State */const parentRef=useRef(null);const childrenRef=useMemo(()=>{return[{current:null},{current:null}];},[]);const[size,setSize]=useState({parent:null,children:null});/* Arrays */let clonedChildren=null;let dupedChildren=[];/* Duplicate value */let duplicateBy=0;let opacity=0;if(isCanvas){duplicateBy=numChildren?Math.floor(10/numChildren):0;opacity=1;}if(!isCanvas&&hasChildren&&size.parent){duplicateBy=Math.round(size.parent/size.children*2)+1;duplicateBy=Math.min(duplicateBy,MAX_DUPLICATED_ITEMS);opacity=1;}/* Measure parent and child */const measure=useCallback(()=>{if(hasChildren&&parentRef.current){const parentLength=isHorizontal?parentRef.current.offsetWidth:parentRef.current.offsetHeight;const start=childrenRef[0].current?isHorizontal?childrenRef[0].current.offsetLeft:childrenRef[0].current.offsetTop:0;const end=childrenRef[1].current?isHorizontal?childrenRef[1].current.offsetLeft+childrenRef[1].current.offsetWidth:childrenRef[1].current.offsetTop+childrenRef[1].current.offsetHeight:0;const childrenLength=end-start+gap;startTransition(()=>{setSize({parent:parentLength,children:childrenLength});});}},[]);const childrenStyles=isCanvas?{contentVisibility:\"auto\"}:{};/* Add refs to first and last child */if(hasChildren){// TODO: These conditional hooks will be unsafe if hasChildren ever changes outside the canvas.\nif(!isCanvas){/**\n             * Track whether this is the initial resize event. By default this will fire on mount,\n             * which we do in the useEffect. We should only fire it on subsequent resizes.\n             */let initialResize=useRef(true);useLayoutEffect(()=>{frame.read(measure,false,true);return resize(parentRef.current,({contentSize})=>{if(!initialResize.current&&(contentSize.width||contentSize.height)){frame.read(measure,false,true);}initialResize.current=false;});},[]);}clonedChildren=Children.map(filteredSlots,(child,index)=>{let ref;if(index===0){ref=childrenRef[writingDirection===\"rtl\"&&isHorizontal?1:0];}if(index===filteredSlots.length-1){ref=childrenRef[writingDirection===\"rtl\"&&isHorizontal?0:1];}const size={width:widthType?child.props?.width:\"100%\",height:heightType?child.props?.height:\"100%\"};return /*#__PURE__*/_jsx(LayoutGroup,{inherit:\"id\",children:/*#__PURE__*/_jsx(Wrapper,{ref:ref,style:size,children:/*#__PURE__*/cloneElement(child,{style:{...child.props?.style,...size,flexShrink:0,...childrenStyles},layoutId:child.props.layoutId?child.props.layoutId+\"-original-\"+index:undefined},child.props?.children)})});});}const isInView=isCanvas?true:useInView(parentRef);if(!isCanvas){for(let i=0;i<duplicateBy;i++){dupedChildren=dupedChildren.concat(Children.map(filteredSlots,(child,childIndex)=>{const size={width:widthType?child.props?.width:\"100%\",height:heightType?child.props?.height:\"100%\",willChange:!isInView?undefined:\"transform\"};return /*#__PURE__*/_jsx(LayoutGroup,{inherit:\"id\",children:/*#__PURE__*/_jsx(Wrapper,{style:size,children:/*#__PURE__*/cloneElement(child,{key:i+\" \"+childIndex,style:{...child.props?.style,width:widthType?child.props?.width:\"100%\",height:heightType?child.props?.height:\"100%\",flexShrink:0,...childrenStyles},layoutId:child.props.layoutId?child.props.layoutId+\"-dupe-\"+i:undefined},child.props?.children)},i+\"li\"+childIndex)},i+\"lg\"+childIndex);}));}}const animateToValue=size.children+size.children*Math.round(size.parent/size.children);const initialTime=useRef(null);const prevTime=useRef(null);const xOrY=useRef(0);const isHover=useRef(false);const isReducedMotion=useReducedMotion();const listRef=useRef(null);const animationRef=useRef(null);/**\n     * Setup animations\n     */if(!isCanvas){useEffect(()=>{if(isReducedMotion||!animateToValue||!speed){return;}animationRef.current=listRef.current.animate({transform:[transformer(0),transformer(animateToValue)]},{duration:Math.abs(animateToValue)/speed*1e3,iterations:Infinity,iterationStart:writingDirection===\"rtl\"?1:0,easing:\"linear\"});return()=>animationRef.current.cancel();},[hoverFactor,animateToValue,speed,writingDirection]);const playOrPause=useCallback(()=>{if(!animationRef.current)return;const hidden=document.hidden;if(isInView&&!hidden&&animationRef.current.playState===\"paused\"){animationRef.current.play();}else if((!isInView||hidden)&&animationRef.current.playState===\"running\"){animationRef.current.pause();}},[isInView]);useEffect(()=>{playOrPause();},[isInView,hoverFactor,animateToValue,speed]);useEffect(()=>{document.addEventListener(\"visibilitychange\",playOrPause);return()=>{document.removeEventListener(\"visibilitychange\",playOrPause);};},[playOrPause]);}/* Fades */const fadeDirection=isHorizontal?\"to right\":\"to bottom\";const fadeWidthStart=fadeWidth/2;const fadeWidthEnd=100-fadeWidth/2;const fadeInsetStart=clamp(fadeInset,0,fadeWidthStart);const fadeInsetEnd=100-fadeInset;const fadeMask=`linear-gradient(${fadeDirection}, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetStart}%, rgba(0, 0, 0, 1) ${fadeWidthStart}%, rgba(0, 0, 0, 1) ${fadeWidthEnd}%, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetEnd}%)`;/* Empty state */if(!hasChildren){return /*#__PURE__*/_jsxs(\"section\",{style:placeholderStyles,children:[/*#__PURE__*/_jsx(\"div\",{style:emojiStyles,children:\"✨\"}),/*#__PURE__*/_jsx(\"p\",{style:titleStyles,children:\"Connect to Content\"}),/*#__PURE__*/_jsx(\"p\",{style:subtitleStyles,children:\"Add layers or components to infinitely loop on your page.\"})]});}return /*#__PURE__*/_jsx(\"section\",{style:{...containerStyle,opacity:opacity,WebkitMaskImage:fadeContent?fadeMask:undefined,maskImage:fadeContent?fadeMask:undefined,overflow:overflow?\"visible\":\"hidden\",padding:paddingValue},ref:parentRef,children:/*#__PURE__*/_jsxs(motion.ul,{ref:listRef,style:{...containerStyle,gap:gap,top:direction===\"bottom\"&&isValidNumber(animateToValue)?-animateToValue:undefined,left:direction===\"right\"&&isValidNumber(animateToValue)?animateToValue*(writingDirection===\"rtl\"?1:-1):undefined,placeItems:alignment,position:\"relative\",flexDirection:isHorizontal?\"row\":\"column\",...style,willChange:isCanvas||!isInView?\"auto\":\"transform\",transform:transformer(0)},onMouseEnter:()=>{isHover.current=true;if(animationRef.current){// TODO Replace with updatePlaybackRate when Chrome bugs sorted\nanimationRef.current.playbackRate=hoverFactor;}},onMouseLeave:()=>{isHover.current=false;if(animationRef.current){// TODO Replace with updatePlaybackRate when Chrome bugs sorted\nanimationRef.current.playbackRate=1;}},children:[clonedChildren,dupedChildren]})});}const Wrapper=/*#__PURE__*/forwardRef(({children,...props},ref)=>{const innerRef=useRef();const inView=useInView(innerRef);useImperativeHandle(ref,()=>innerRef.current);useEffect(()=>{const current=innerRef.current;if(!current)return;// for a11y: Manage tabIndex on focusable descendants & aria-hidden on the parent.\nif(inView){current.querySelectorAll(\"button,a\").forEach(el=>{const orig=el.dataset.origTabIndex;if(orig)el.tabIndex=orig;else el.removeAttribute(\"tabIndex\");});}else{current.querySelectorAll(\"button,a\").forEach(el=>{const orig=el.getAttribute(\"tabIndex\");if(orig)el.dataset.origTabIndex=orig;el.tabIndex=-1;});}},[inView]);return /*#__PURE__*/_jsx(\"li\",{...props,\"aria-hidden\":!inView,ref:innerRef,children:children});});/* Default Properties */Ticker.defaultProps={gap:10,padding:10,sizingOptions:{widthType:true,heightType:true},fadeOptions:{fadeContent:true,overflow:false,fadeWidth:25,fadeAlpha:0,fadeInset:0},direction:true};/* Property Controls */addPropertyControls(Ticker,{slots:{type:ControlType.Array,title:\"Children\",control:{type:ControlType.ComponentInstance}},speed:{type:ControlType.Number,title:\"Speed\",min:0,max:1e3,defaultValue:100,unit:\"%\",displayStepper:true,step:5},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"left\",\"right\",\"top\",\"bottom\"],optionIcons:[\"direction-left\",\"direction-right\",\"direction-up\",\"direction-down\"],optionTitles:[\"Left\",\"Right\",\"Top\",\"Bottom\"],defaultValue:\"left\",displaySegmentedControl:true},alignment:{type:ControlType.Enum,title:\"Align\",options:[\"flex-start\",\"center\",\"flex-end\"],optionIcons:{direction:{right:[\"align-top\",\"align-middle\",\"align-bottom\"],left:[\"align-top\",\"align-middle\",\"align-bottom\"],top:[\"align-left\",\"align-center\",\"align-right\"],bottom:[\"align-left\",\"align-center\",\"align-right\"]}},defaultValue:\"center\",displaySegmentedControl:true},gap:{type:ControlType.Number,title:\"Gap\"},padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},sizingOptions:{type:ControlType.Object,title:\"Sizing\",controls:{widthType:{type:ControlType.Boolean,title:\"Width\",enabledTitle:\"Auto\",disabledTitle:\"Stretch\",defaultValue:true},heightType:{type:ControlType.Boolean,title:\"Height\",enabledTitle:\"Auto\",disabledTitle:\"Stretch\",defaultValue:true}}},fadeOptions:{type:ControlType.Object,title:\"Clipping\",controls:{fadeContent:{type:ControlType.Boolean,title:\"Fade\",defaultValue:true},overflow:{type:ControlType.Boolean,title:\"Overflow\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false,hidden(props){return props.fadeContent===true;}},fadeWidth:{type:ControlType.Number,title:\"Width\",defaultValue:25,min:0,max:100,unit:\"%\",hidden(props){return props.fadeContent===false;}},fadeInset:{type:ControlType.Number,title:\"Inset\",defaultValue:0,min:0,max:100,unit:\"%\",hidden(props){return props.fadeContent===false;}},fadeAlpha:{type:ControlType.Number,title:\"Opacity\",defaultValue:0,min:0,max:1,step:.05,hidden(props){return props.fadeContent===false;}}}},hoverFactor:{type:ControlType.Number,title:\"Hover\",min:0,max:1,unit:\"x\",defaultValue:1,step:.1,displayStepper:true,description:\"Slows down the speed while you are hovering.\"}});/* Placeholder Styles */const containerStyle={display:\"flex\",width:\"100%\",height:\"100%\",maxWidth:\"100%\",maxHeight:\"100%\",placeItems:\"center\",margin:0,padding:0,listStyleType:\"none\",textIndent:\"none\"};/* Styles */const placeholderStyles={display:\"flex\",width:\"100%\",height:\"100%\",placeContent:\"center\",placeItems:\"center\",flexDirection:\"column\",color:\"#96F\",background:\"rgba(136, 85, 255, 0.1)\",fontSize:11,overflow:\"hidden\",padding:\"20px 20px 30px 20px\"};const emojiStyles={fontSize:32,marginBottom:10};const titleStyles={margin:0,marginBottom:10,fontWeight:600,textAlign:\"center\"};const subtitleStyles={margin:0,opacity:.7,maxWidth:150,lineHeight:1.5,textAlign:\"center\"};/* Clamp function, used for fadeInset */const clamp=(num,min,max)=>Math.min(Math.max(num,min),max);const isValidNumber=value=>typeof value===\"number\"&&!isNaN(value);function useWritingDirection(){if(!window||!window.document||!window.document.documentElement)return\"ltr\";return window.document.documentElement.dir===\"rtl\"?\"rtl\":\"ltr\";}function getTickerResolvedDirection(direction,writingDirection){if(writingDirection!==\"rtl\")return direction;if(direction===\"left\")return\"right\";if(direction===\"right\")return\"left\";return direction;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Ticker\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"400\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Ticker.map","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 0.736 L 0 17.259 C 0.005 17.527 0.153 17.772 0.388 17.902 C 0.623 18.031 0.91 18.025 1.139 17.886 L 14.647 9.625 C 14.866 9.492 15 9.254 15 8.997 C 15 8.741 14.866 8.503 14.647 8.37 L 1.139 0.109 C 0.91 -0.03 0.623 -0.036 0.388 0.093 C 0.153 0.222 0.005 0.468 0 0.736 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"17.99464343330372px\" id=\"aA4uwAbk9\" transform=\"translate(6.75 3.003)\" width=\"15.000071766041629px\"/><path d=\"M 0 0.736 L 0 17.259 C 0.005 17.527 0.153 17.772 0.388 17.902 C 0.623 18.031 0.91 18.025 1.139 17.886 L 14.647 9.625 C 14.866 9.492 15 9.254 15 8.997 C 15 8.741 14.866 8.503 14.647 8.37 L 1.139 0.109 C 0.91 -0.03 0.623 -0.036 0.388 0.093 C 0.153 0.222 0.005 0.468 0 0.736 Z\" fill=\"transparent\" height=\"17.99464343330372px\" id=\"dfZTdlcyH\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(6.75 3.003)\" width=\"15.000071766041629px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"3492944464\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-Lyd6D\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-Lyd6D { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Play\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-Lyd6D\");Icon.displayName=\"Play\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVector\":\"{\\\"name\\\":\\\"Play\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerDisableUnlink\":\"true\",\"framerImmutableVariables\":\"true\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion,useScroll,useTransform,useSpring}from\"framer-motion\";import{useRef,useEffect,useState}from\"react\";const EachWord=({word,starting,ending,startOpacity,endOpacity,progress,stiffness,damping})=>{const[sanitizedWord,setSanitizedWord]=useState(word);const progressVal=useTransform(progress,[starting,ending],[startOpacity,endOpacity]);const smoothProgress=useSpring(progressVal,{stiffness,damping});const animationStyles={opacity:smoothProgress,willChange:\"opacity\"};useEffect(()=>{if(typeof window!==\"undefined\"){import(\"dompurify\").then(DOMPurify=>{setSanitizedWord(DOMPurify.sanitize(word));});}},[word]);return /*#__PURE__*/_jsx(motion.span,{style:animationStyles,dangerouslySetInnerHTML:{__html:sanitizedWord}});};export default function Reveal(props){const text=props.text;const words=text.split(/(<[^>]+>[^<]*<\\/[^>]+>|<[^>]+>|[^<>\\s]+)/g).filter(Boolean)// Split by HTML tags and words, keeping tags with their content together\n;const totalWords=words.length;const ref=useRef(null);const{scrollYProgress}=useScroll({target:ref,offset:[`start ${props.startOffset}`,`end ${props.endOffset}`]});return /*#__PURE__*/_jsx(\"p\",{ref:ref,style:{...props.font,color:props.textColor,margin:0,padding:0},children:words.map((word,idx)=>{const starting=idx/totalWords;const ending=(idx+1)/totalWords;return /*#__PURE__*/_jsx(EachWord,{word:word,starting:starting,ending:ending,startOpacity:props.startOpacity,endOpacity:props.endOpacity,progress:scrollYProgress,stiffness:props.stiffness,damping:props.damping},idx);})});}addPropertyControls(Reveal,{text:{title:\"Text\",type:ControlType.String,defaultValue:\"Step into the future where each collection is a doorway to a different realm. <br><br>From the <b>nomadic trails</b> of the desert to the bustling streets of the urban jungle, our collections merge the <u>past's heritage</u> with the future's possibilities.<br><br>Futuristic architecture in the Amazon jungle\",displayTextArea:true},font:{type:\"font\",controls:\"extended\"},textColor:{type:ControlType.Color},startOffset:{title:\"Start Offset\",type:ControlType.Number,defaultValue:.75,min:0,max:1,step:.01},endOffset:{title:\"End Offset\",type:ControlType.Number,defaultValue:.15,min:0,max:1,step:.01},stiffness:{title:\"Stiffness\",type:ControlType.Number,defaultValue:100,min:0,max:1e3,step:1},damping:{title:\"Damping\",type:ControlType.Number,defaultValue:20,min:0,max:100,step:1},startOpacity:{title:\"Start Opacity\",type:ControlType.Number,defaultValue:.1,min:0,max:1,step:.01},endOpacity:{title:\"End Opacity\",type:ControlType.Number,defaultValue:1,min:0,max:1,step:.01}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Reveal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Text_reveal.map","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 0 L 16.5 0 L 16.5 9.75 C 16.5 10.993 15.493 12 14.25 12 L 2.25 12 C 1.007 12 0 10.993 0 9.75 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"12px\" id=\"lTdZyd2ef\" transform=\"translate(3.75 7.5)\" width=\"16.5px\"/><path d=\"M 0 0 L 0 3\" fill=\"transparent\" height=\"3px\" id=\"dNMYJsMZM\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(9 1.5)\" width=\"1px\"/><path d=\"M 0 0 L 0 3\" fill=\"transparent\" height=\"3px\" id=\"Ok7cIRUWi\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(12 1.5)\" width=\"1px\"/><path d=\"M 0 0 L 0 3\" fill=\"transparent\" height=\"3px\" id=\"YCfu3sQcU\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(15 1.5)\" width=\"1px\"/><path d=\"M 0 0 L 16.5 0 L 16.5 9.75 C 16.5 10.993 15.493 12 14.25 12 L 2.25 12 C 1.007 12 0 10.993 0 9.75 Z\" fill=\"transparent\" height=\"12px\" id=\"EL4CWiq6G\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.75 7.5)\" width=\"16.5px\"/><path d=\"M 3 0 L 0 2.25\" fill=\"transparent\" height=\"2.25px\" id=\"i1T3Hv8RI\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(20.25 9)\" width=\"3px\"/><path d=\"M 0 0 L 3 2.25\" fill=\"transparent\" height=\"2.25px\" id=\"gManqNLIj\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(0.75 9)\" width=\"3px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"842629329\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-Hdyxw\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-Hdyxw { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Cooking Pot\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-Hdyxw\");Icon.displayName=\"Cooking Pot\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"24\",\"framerVector\":\"{\\\"name\\\":\\\"Cooking Pot\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerDisableUnlink\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 9 C 0 4.029 4.029 0 9 0 C 13.971 0 18 4.029 18 9 C 18 13.971 13.971 18 9 18 C 4.029 18 0 13.971 0 9 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"18px\" id=\"Mw6XDBeek\" transform=\"translate(3 3)\" width=\"18px\"/><path d=\"M 0 9 C 0 4.029 4.029 0 9 0 C 13.971 0 18 4.029 18 9 C 18 13.971 13.971 18 9 18 C 4.029 18 0 13.971 0 9 Z\" fill=\"transparent\" height=\"18px\" id=\"jLTc09d_G\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3 3)\" width=\"18px\"/><path d=\"M 0 1.125 C 0 0.504 0.504 0 1.125 0 C 1.746 0 2.25 0.504 2.25 1.125 C 2.25 1.746 1.746 2.25 1.125 2.25 C 0.504 2.25 0 1.746 0 1.125 Z\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"2.25px\" id=\"BRGkcdhPK\" transform=\"translate(11.25 9.75)\" width=\"2.25px\"/><path d=\"M 0 1.125 C 0 0.504 0.504 0 1.125 0 C 1.746 0 2.25 0.504 2.25 1.125 C 2.25 1.746 1.746 2.25 1.125 2.25 C 0.504 2.25 0 1.746 0 1.125 Z\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"2.25px\" id=\"wm3x6JrhO\" transform=\"translate(14.25 7.5)\" width=\"2.25px\"/><path d=\"M 0 1.125 C 0 0.504 0.504 0 1.125 0 C 1.746 0 2.25 0.504 2.25 1.125 C 2.25 1.746 1.746 2.25 1.125 2.25 C 0.504 2.25 0 1.746 0 1.125 Z\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"2.25px\" id=\"yifMP3yNU\" transform=\"translate(15 11.25)\" width=\"2.25px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"1603723378\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-vh392\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-vh392 { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Bowling Ball\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-vh392\");Icon.displayName=\"Bowling Ball\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"true\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerVector\":\"{\\\"name\\\":\\\"Bowling Ball\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","var e=\"undefined\"!==typeof globalThis?globalThis:\"undefined\"!==typeof self?self:global;var t={};(function webpackUniversalModuleDefinition(e,n){t=n()})(0,(function(){return function(e){var t={};function __webpack_require__(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:false,exports:{}};e[n].call(i.exports,i,i.exports,__webpack_require__);i.l=true;return i.exports}__webpack_require__.m=e;__webpack_require__.c=t;__webpack_require__.d=function(e,t,n){__webpack_require__.o(e,t)||Object.defineProperty(e,t,{enumerable:true,get:n})};__webpack_require__.r=function(e){\"undefined\"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"});Object.defineProperty(e,\"__esModule\",{value:true})};__webpack_require__.t=function(e,t){1&t&&(e=__webpack_require__(e));if(8&t)return e;if(4&t&&\"object\"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);__webpack_require__.r(n);Object.defineProperty(n,\"default\",{enumerable:true,value:e});if(2&t&&\"string\"!=typeof e)for(var i in e)__webpack_require__.d(n,i,function(t){return e[t]}.bind(null,i));return n};__webpack_require__.n=function(e){var t=e&&e.__esModule?function getDefault(){return e.default}:function getModuleExports(){return e};__webpack_require__.d(t,\"a\",t);return t};__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};__webpack_require__.p=\"\";return __webpack_require__(__webpack_require__.s=21)}([function(t,n){var i={};t.exports=i;(function(){i._nextId=0;i._seed=0;i._nowStartTime=+new Date;i._warnedOnce={};i._decomp=null;\n/**\n         * Extends the object in the first argument using the object in the second argument.\n         * @method extend\n         * @param {} obj\n         * @param {boolean} deep\n         * @return {} obj extended\n         */i.extend=function(e,t){var n,o;if(\"boolean\"===typeof t){n=2;o=t}else{n=1;o=true}for(var r=n;r<arguments.length;r++){var a=arguments[r];if(a)for(var s in a)if(o&&a[s]&&a[s].constructor===Object)if(e[s]&&e[s].constructor!==Object)e[s]=a[s];else{e[s]=e[s]||{};i.extend(e[s],o,a[s])}else e[s]=a[s]}return e};\n/**\n         * Creates a new clone of the object, if deep is true references will also be cloned.\n         * @method clone\n         * @param {} obj\n         * @param {bool} deep\n         * @return {} obj cloned\n         */i.clone=function(e,t){return i.extend({},t,e)};\n/**\n         * Returns the list of keys for the given object.\n         * @method keys\n         * @param {} obj\n         * @return {string[]} keys\n         */i.keys=function(e){if(Object.keys)return Object.keys(e);var t=[];for(var n in e)t.push(n);return t};\n/**\n         * Returns the list of values for the given object.\n         * @method values\n         * @param {} obj\n         * @return {array} Array of the objects property values\n         */i.values=function(e){var t=[];if(Object.keys){var n=Object.keys(e);for(var i=0;i<n.length;i++)t.push(e[n[i]]);return t}for(var o in e)t.push(e[o]);return t};\n/**\n         * Gets a value from `base` relative to the `path` string.\n         * @method get\n         * @param {} obj The base object\n         * @param {string} path The path relative to `base`, e.g. 'Foo.Bar.baz'\n         * @param {number} [begin] Path slice begin\n         * @param {number} [end] Path slice end\n         * @return {} The object at the given path\n         */i.get=function(e,t,n,i){t=t.split(\".\").slice(n,i);for(var o=0;o<t.length;o+=1)e=e[t[o]];return e};\n/**\n         * Sets a value on `base` relative to the given `path` string.\n         * @method set\n         * @param {} obj The base object\n         * @param {string} path The path relative to `base`, e.g. 'Foo.Bar.baz'\n         * @param {} val The value to set\n         * @param {number} [begin] Path slice begin\n         * @param {number} [end] Path slice end\n         * @return {} Pass through `val` for chaining\n         */i.set=function(e,t,n,o,r){var a=t.split(\".\").slice(o,r);i.get(e,t,0,-1)[a[a.length-1]]=n;return n};\n/**\n         * Shuffles the given array in-place.\n         * The function uses a seeded random generator.\n         * @method shuffle\n         * @param {array} array\n         * @return {array} array shuffled randomly\n         */i.shuffle=function(e){for(var t=e.length-1;t>0;t--){var n=Math.floor(i.random()*(t+1));var o=e[t];e[t]=e[n];e[n]=o}return e};\n/**\n         * Randomly chooses a value from a list with equal probability.\n         * The function uses a seeded random generator.\n         * @method choose\n         * @param {array} choices\n         * @return {object} A random choice object from the array\n         */i.choose=function(e){return e[Math.floor(i.random()*e.length)]};\n/**\n         * Returns true if the object is a HTMLElement, otherwise false.\n         * @method isElement\n         * @param {object} obj\n         * @return {boolean} True if the object is a HTMLElement, otherwise false\n         */i.isElement=function(e){return\"undefined\"!==typeof HTMLElement?e instanceof HTMLElement:!!(e&&e.nodeType&&e.nodeName)};\n/**\n         * Returns true if the object is an array.\n         * @method isArray\n         * @param {object} obj\n         * @return {boolean} True if the object is an array, otherwise false\n         */i.isArray=function(e){return\"[object Array]\"===Object.prototype.toString.call(e)};\n/**\n         * Returns true if the object is a function.\n         * @method isFunction\n         * @param {object} obj\n         * @return {boolean} True if the object is a function, otherwise false\n         */i.isFunction=function(e){return\"function\"===typeof e};\n/**\n         * Returns true if the object is a plain object.\n         * @method isPlainObject\n         * @param {object} obj\n         * @return {boolean} True if the object is a plain object, otherwise false\n         */i.isPlainObject=function(e){return\"object\"===typeof e&&e.constructor===Object};\n/**\n         * Returns true if the object is a string.\n         * @method isString\n         * @param {object} obj\n         * @return {boolean} True if the object is a string, otherwise false\n         */i.isString=function(e){return\"[object String]\"===toString.call(e)};\n/**\n         * Returns the given value clamped between a minimum and maximum value.\n         * @method clamp\n         * @param {number} value\n         * @param {number} min\n         * @param {number} max\n         * @return {number} The value clamped between min and max inclusive\n         */i.clamp=function(e,t,n){return e<t?t:e>n?n:e};\n/**\n         * Returns the sign of the given value.\n         * @method sign\n         * @param {number} value\n         * @return {number} -1 if negative, +1 if 0 or positive\n         */i.sign=function(e){return e<0?-1:1};i.now=function(){if(\"undefined\"!==typeof window&&window.performance){if(window.performance.now)return window.performance.now();if(window.performance.webkitNow)return window.performance.webkitNow()}return Date.now?Date.now():new Date-i._nowStartTime};\n/**\n         * Returns a random value between a minimum and a maximum value inclusive.\n         * The function uses a seeded random generator.\n         * @method random\n         * @param {number} min\n         * @param {number} max\n         * @return {number} A random number between min and max inclusive\n         */i.random=function(e,t){e=\"undefined\"!==typeof e?e:0;t=\"undefined\"!==typeof t?t:1;return e+_seededRandom()*(t-e)};var _seededRandom=function(){i._seed=(9301*i._seed+49297)%233280;return i._seed/233280};\n/**\n         * Converts a CSS hex colour string into an integer.\n         * @method colorToNumber\n         * @param {string} colorString\n         * @return {number} An integer representing the CSS hex string\n         */i.colorToNumber=function(e){e=e.replace(\"#\",\"\");3==e.length&&(e=e.charAt(0)+e.charAt(0)+e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2));return parseInt(e,16)};\n/**\n         * The console logging level to use, where each level includes all levels above and excludes the levels below.\n         * The default level is 'debug' which shows all console messages.  \n         *\n         * Possible level values are:\n         * - 0 = None\n         * - 1 = Debug\n         * - 2 = Info\n         * - 3 = Warn\n         * - 4 = Error\n         * @property Common.logLevel\n         * @type {Number}\n         * @default 1\n         */i.logLevel=1;\n/**\n         * Shows a `console.log` message only if the current `Common.logLevel` allows it.\n         * The message will be prefixed with 'matter-js' to make it easily identifiable.\n         * @method log\n         * @param ...objs {} The objects to log.\n         */i.log=function(){console&&i.logLevel>0&&i.logLevel<=3&&console.log.apply(console,[\"matter-js:\"].concat(Array.prototype.slice.call(arguments)))};\n/**\n         * Shows a `console.info` message only if the current `Common.logLevel` allows it.\n         * The message will be prefixed with 'matter-js' to make it easily identifiable.\n         * @method info\n         * @param ...objs {} The objects to log.\n         */i.info=function(){console&&i.logLevel>0&&i.logLevel<=2&&console.info.apply(console,[\"matter-js:\"].concat(Array.prototype.slice.call(arguments)))};\n/**\n         * Shows a `console.warn` message only if the current `Common.logLevel` allows it.\n         * The message will be prefixed with 'matter-js' to make it easily identifiable.\n         * @method warn\n         * @param ...objs {} The objects to log.\n         */i.warn=function(){console&&i.logLevel>0&&i.logLevel<=3&&console.warn.apply(console,[\"matter-js:\"].concat(Array.prototype.slice.call(arguments)))};\n/**\n         * Uses `Common.warn` to log the given message one time only.\n         * @method warnOnce\n         * @param ...objs {} The objects to log.\n         */i.warnOnce=function(){var e=Array.prototype.slice.call(arguments).join(\" \");if(!i._warnedOnce[e]){i.warn(e);i._warnedOnce[e]=true}};\n/**\n         * Shows a deprecated console warning when the function on the given object is called.\n         * The target function will be replaced with a new function that first shows the warning\n         * and then calls the original function.\n         * @method deprecated\n         * @param {object} obj The object or module\n         * @param {string} name The property name of the function on obj\n         * @param {string} warning The one-time message to show if the function is called\n         */i.deprecated=function(e,t,n){e[t]=i.chain((function(){i.warnOnce(\"🔅 deprecated 🔅\",n)}),e[t])};i.nextId=function(){return i._nextId++};\n/**\n         * A cross browser compatible indexOf implementation.\n         * @method indexOf\n         * @param {array} haystack\n         * @param {object} needle\n         * @return {number} The position of needle in haystack, otherwise -1.\n         */i.indexOf=function(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0;n<e.length;n++)if(e[n]===t)return n;return-1};\n/**\n         * A cross browser compatible array map implementation.\n         * @method map\n         * @param {array} list\n         * @param {function} func\n         * @return {array} Values from list transformed by func.\n         */i.map=function(e,t){if(e.map)return e.map(t);var n=[];for(var i=0;i<e.length;i+=1)n.push(t(e[i]));return n};\n/**\n         * Takes a directed graph and returns the partially ordered set of vertices in topological order.\n         * Circular dependencies are allowed.\n         * @method topologicalSort\n         * @param {object} graph\n         * @return {array} Partially ordered set of vertices in topological order.\n         */i.topologicalSort=function(e){var t=[],n=[],o=[];for(var r in e)n[r]||o[r]||i._topologicalSort(r,n,o,e,t);return t};i._topologicalSort=function(e,t,n,o,r){var a=o[e]||[];n[e]=true;for(var s=0;s<a.length;s+=1){var l=a[s];n[l]||(t[l]||i._topologicalSort(l,t,n,o,r))}n[e]=false;t[e]=true;r.push(e)};\n/**\n         * Takes _n_ functions as arguments and returns a new function that calls them in order.\n         * The arguments applied when calling the new function will also be applied to every function passed.\n         * The value of `this` refers to the last value returned in the chain that was not `undefined`.\n         * Therefore if a passed function does not return a value, the previously returned value is maintained.\n         * After all passed functions have been called the new function returns the last returned value (if any).\n         * If any of the passed functions are a chain, then the chain will be flattened.\n         * @method chain\n         * @param ...funcs {function} The functions to chain.\n         * @return {function} A new function that calls the passed functions in order.\n         */i.chain=function(){var e=[];for(var t=0;t<arguments.length;t+=1){var n=arguments[t];n._chained?e.push.apply(e,n._chained):e.push(n)}var chain=function(){var t,n=new Array(arguments.length);for(var i=0,o=arguments.length;i<o;i++)n[i]=arguments[i];for(i=0;i<e.length;i+=1){var r=e[i].apply(t,n);\"undefined\"!==typeof r&&(t=r)}return t};chain._chained=e;return chain};\n/**\n         * Chains a function to excute before the original function on the given `path` relative to `base`.\n         * See also docs for `Common.chain`.\n         * @method chainPathBefore\n         * @param {} base The base object\n         * @param {string} path The path relative to `base`\n         * @param {function} func The function to chain before the original\n         * @return {function} The chained function that replaced the original\n         */i.chainPathBefore=function(e,t,n){return i.set(e,t,i.chain(n,i.get(e,t)))};\n/**\n         * Chains a function to excute after the original function on the given `path` relative to `base`.\n         * See also docs for `Common.chain`.\n         * @method chainPathAfter\n         * @param {} base The base object\n         * @param {string} path The path relative to `base`\n         * @param {function} func The function to chain after the original\n         * @return {function} The chained function that replaced the original\n         */i.chainPathAfter=function(e,t,n){return i.set(e,t,i.chain(i.get(e,t),n))};\n/**\n         * Provide the [poly-decomp](https://github.com/schteppe/poly-decomp.js) library module to enable\n         * concave vertex decomposition support when using `Bodies.fromVertices` e.g. `Common.setDecomp(require('poly-decomp'))`.\n         * @method setDecomp\n         * @param {} decomp The [poly-decomp](https://github.com/schteppe/poly-decomp.js) library module.\n         */i.setDecomp=function(e){i._decomp=e};i.getDecomp=function(){var t=i._decomp;try{t||\"undefined\"===typeof window||(t=window.decomp);t||\"undefined\"===typeof e||(t=e.decomp)}catch(e){t=null}return t}})()},function(e,t){var n={};e.exports=n;(function(){\n/**\n         * Creates a new axis-aligned bounding box (AABB) for the given vertices.\n         * @method create\n         * @param {vertices} vertices\n         * @return {bounds} A new bounds object\n         */\nn.create=function(e){var t={min:{x:0,y:0},max:{x:0,y:0}};e&&n.update(t,e);return t};\n/**\n         * Updates bounds using the given vertices and extends the bounds given a velocity.\n         * @method update\n         * @param {bounds} bounds\n         * @param {vertices} vertices\n         * @param {vector} velocity\n         */n.update=function(e,t,n){e.min.x=Infinity;e.max.x=-Infinity;e.min.y=Infinity;e.max.y=-Infinity;for(var i=0;i<t.length;i++){var o=t[i];o.x>e.max.x&&(e.max.x=o.x);o.x<e.min.x&&(e.min.x=o.x);o.y>e.max.y&&(e.max.y=o.y);o.y<e.min.y&&(e.min.y=o.y)}if(n){n.x>0?e.max.x+=n.x:e.min.x+=n.x;n.y>0?e.max.y+=n.y:e.min.y+=n.y}};\n/**\n         * Returns true if the bounds contains the given point.\n         * @method contains\n         * @param {bounds} bounds\n         * @param {vector} point\n         * @return {boolean} True if the bounds contain the point, otherwise false\n         */n.contains=function(e,t){return t.x>=e.min.x&&t.x<=e.max.x&&t.y>=e.min.y&&t.y<=e.max.y};\n/**\n         * Returns true if the two bounds intersect.\n         * @method overlaps\n         * @param {bounds} boundsA\n         * @param {bounds} boundsB\n         * @return {boolean} True if the bounds overlap, otherwise false\n         */n.overlaps=function(e,t){return e.min.x<=t.max.x&&e.max.x>=t.min.x&&e.max.y>=t.min.y&&e.min.y<=t.max.y};\n/**\n         * Translates the bounds by the given vector.\n         * @method translate\n         * @param {bounds} bounds\n         * @param {vector} vector\n         */n.translate=function(e,t){e.min.x+=t.x;e.max.x+=t.x;e.min.y+=t.y;e.max.y+=t.y};\n/**\n         * Shifts the bounds to the given position.\n         * @method shift\n         * @param {bounds} bounds\n         * @param {vector} position\n         */n.shift=function(e,t){var n=e.max.x-e.min.x,i=e.max.y-e.min.y;e.min.x=t.x;e.max.x=t.x+n;e.min.y=t.y;e.max.y=t.y+i}})()},function(e,t){var n={};e.exports=n;(function(){\n/**\n         * Creates a new vector.\n         * @method create\n         * @param {number} x\n         * @param {number} y\n         * @return {vector} A new vector\n         */\nn.create=function(e,t){return{x:e||0,y:t||0}};\n/**\n         * Returns a new vector with `x` and `y` copied from the given `vector`.\n         * @method clone\n         * @param {vector} vector\n         * @return {vector} A new cloned vector\n         */n.clone=function(e){return{x:e.x,y:e.y}};\n/**\n         * Returns the magnitude (length) of a vector.\n         * @method magnitude\n         * @param {vector} vector\n         * @return {number} The magnitude of the vector\n         */n.magnitude=function(e){return Math.sqrt(e.x*e.x+e.y*e.y)};\n/**\n         * Returns the magnitude (length) of a vector (therefore saving a `sqrt` operation).\n         * @method magnitudeSquared\n         * @param {vector} vector\n         * @return {number} The squared magnitude of the vector\n         */n.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y};\n/**\n         * Rotates the vector about (0, 0) by specified angle.\n         * @method rotate\n         * @param {vector} vector\n         * @param {number} angle\n         * @param {vector} [output]\n         * @return {vector} The vector rotated about (0, 0)\n         */n.rotate=function(e,t,n){var i=Math.cos(t),o=Math.sin(t);n||(n={});var r=e.x*i-e.y*o;n.y=e.x*o+e.y*i;n.x=r;return n};\n/**\n         * Rotates the vector about a specified point by specified angle.\n         * @method rotateAbout\n         * @param {vector} vector\n         * @param {number} angle\n         * @param {vector} point\n         * @param {vector} [output]\n         * @return {vector} A new vector rotated about the point\n         */n.rotateAbout=function(e,t,n,i){var o=Math.cos(t),r=Math.sin(t);i||(i={});var a=n.x+((e.x-n.x)*o-(e.y-n.y)*r);i.y=n.y+((e.x-n.x)*r+(e.y-n.y)*o);i.x=a;return i};\n/**\n         * Normalises a vector (such that its magnitude is `1`).\n         * @method normalise\n         * @param {vector} vector\n         * @return {vector} A new vector normalised\n         */n.normalise=function(e){var t=n.magnitude(e);return 0===t?{x:0,y:0}:{x:e.x/t,y:e.y/t}};\n/**\n         * Returns the dot-product of two vectors.\n         * @method dot\n         * @param {vector} vectorA\n         * @param {vector} vectorB\n         * @return {number} The dot product of the two vectors\n         */n.dot=function(e,t){return e.x*t.x+e.y*t.y};\n/**\n         * Returns the cross-product of two vectors.\n         * @method cross\n         * @param {vector} vectorA\n         * @param {vector} vectorB\n         * @return {number} The cross product of the two vectors\n         */n.cross=function(e,t){return e.x*t.y-e.y*t.x};\n/**\n         * Returns the cross-product of three vectors.\n         * @method cross3\n         * @param {vector} vectorA\n         * @param {vector} vectorB\n         * @param {vector} vectorC\n         * @return {number} The cross product of the three vectors\n         */n.cross3=function(e,t,n){return(t.x-e.x)*(n.y-e.y)-(t.y-e.y)*(n.x-e.x)};\n/**\n         * Adds the two vectors.\n         * @method add\n         * @param {vector} vectorA\n         * @param {vector} vectorB\n         * @param {vector} [output]\n         * @return {vector} A new vector of vectorA and vectorB added\n         */n.add=function(e,t,n){n||(n={});n.x=e.x+t.x;n.y=e.y+t.y;return n};\n/**\n         * Subtracts the two vectors.\n         * @method sub\n         * @param {vector} vectorA\n         * @param {vector} vectorB\n         * @param {vector} [output]\n         * @return {vector} A new vector of vectorA and vectorB subtracted\n         */n.sub=function(e,t,n){n||(n={});n.x=e.x-t.x;n.y=e.y-t.y;return n};\n/**\n         * Multiplies a vector and a scalar.\n         * @method mult\n         * @param {vector} vector\n         * @param {number} scalar\n         * @return {vector} A new vector multiplied by scalar\n         */n.mult=function(e,t){return{x:e.x*t,y:e.y*t}};\n/**\n         * Divides a vector and a scalar.\n         * @method div\n         * @param {vector} vector\n         * @param {number} scalar\n         * @return {vector} A new vector divided by scalar\n         */n.div=function(e,t){return{x:e.x/t,y:e.y/t}};\n/**\n         * Returns the perpendicular vector. Set `negate` to true for the perpendicular in the opposite direction.\n         * @method perp\n         * @param {vector} vector\n         * @param {bool} [negate=false]\n         * @return {vector} The perpendicular vector\n         */n.perp=function(e,t){t=true===t?-1:1;return{x:t*-e.y,y:t*e.x}};\n/**\n         * Negates both components of a vector such that it points in the opposite direction.\n         * @method neg\n         * @param {vector} vector\n         * @return {vector} The negated vector\n         */n.neg=function(e){return{x:-e.x,y:-e.y}};\n/**\n         * Returns the angle between the vector `vectorB - vectorA` and the x-axis in radians.\n         * @method angle\n         * @param {vector} vectorA\n         * @param {vector} vectorB\n         * @return {number} The angle in radians\n         */n.angle=function(e,t){return Math.atan2(t.y-e.y,t.x-e.x)};\n/**\n         * Temporary vector pool (not thread-safe).\n         * @property _temp\n         * @type {vector[]}\n         * @private\n         */n._temp=[n.create(),n.create(),n.create(),n.create(),n.create(),n.create()]})()},function(e,t,n){var i={};e.exports=i;var o=n(2);var r=n(0);(function(){\n/**\n         * Creates a new set of `Matter.Body` compatible vertices.\n         * The `points` argument accepts an array of `Matter.Vector` points orientated around the origin `(0, 0)`, for example:\n         *\n         *     [{ x: 0, y: 0 }, { x: 25, y: 50 }, { x: 50, y: 0 }]\n         *\n         * The `Vertices.create` method returns a new array of vertices, which are similar to Matter.Vector objects,\n         * but with some additional references required for efficient collision detection routines.\n         *\n         * Vertices must be specified in clockwise order.\n         *\n         * Note that the `body` argument is not optional, a `Matter.Body` reference must be provided.\n         *\n         * @method create\n         * @param {vector[]} points\n         * @param {body} body\n         */\ni.create=function(e,t){var n=[];for(var i=0;i<e.length;i++){var o=e[i],r={x:o.x,y:o.y,index:i,body:t,isInternal:false};n.push(r)}return n};\n/**\n         * Parses a string containing ordered x y pairs separated by spaces (and optionally commas), \n         * into a `Matter.Vertices` object for the given `Matter.Body`.\n         * For parsing SVG paths, see `Svg.pathToVertices`.\n         * @method fromPath\n         * @param {string} path\n         * @param {body} body\n         * @return {vertices} vertices\n         */i.fromPath=function(e,t){var n=/L?\\s*([-\\d.e]+)[\\s,]*([-\\d.e]+)*/gi,o=[];e.replace(n,(function(e,t,n){o.push({x:parseFloat(t),y:parseFloat(n)})}));return i.create(o,t)};\n/**\n         * Returns the centre (centroid) of the set of vertices.\n         * @method centre\n         * @param {vertices} vertices\n         * @return {vector} The centre point\n         */i.centre=function(e){var t,n,r,a=i.area(e,true),s={x:0,y:0};for(var l=0;l<e.length;l++){r=(l+1)%e.length;t=o.cross(e[l],e[r]);n=o.mult(o.add(e[l],e[r]),t);s=o.add(s,n)}return o.div(s,6*a)};\n/**\n         * Returns the average (mean) of the set of vertices.\n         * @method mean\n         * @param {vertices} vertices\n         * @return {vector} The average point\n         */i.mean=function(e){var t={x:0,y:0};for(var n=0;n<e.length;n++){t.x+=e[n].x;t.y+=e[n].y}return o.div(t,e.length)};\n/**\n         * Returns the area of the set of vertices.\n         * @method area\n         * @param {vertices} vertices\n         * @param {bool} signed\n         * @return {number} The area\n         */i.area=function(e,t){var n=0,i=e.length-1;for(var o=0;o<e.length;o++){n+=(e[i].x-e[o].x)*(e[i].y+e[o].y);i=o}return t?n/2:Math.abs(n)/2};\n/**\n         * Returns the moment of inertia (second moment of area) of the set of vertices given the total mass.\n         * @method inertia\n         * @param {vertices} vertices\n         * @param {number} mass\n         * @return {number} The polygon's moment of inertia\n         */i.inertia=function(e,t){var n,i,r=0,a=0,s=e;for(var l=0;l<s.length;l++){i=(l+1)%s.length;n=Math.abs(o.cross(s[i],s[l]));r+=n*(o.dot(s[i],s[i])+o.dot(s[i],s[l])+o.dot(s[l],s[l]));a+=n}return t/6*(r/a)};\n/**\n         * Translates the set of vertices in-place.\n         * @method translate\n         * @param {vertices} vertices\n         * @param {vector} vector\n         * @param {number} scalar\n         */i.translate=function(e,t,n){n=\"undefined\"!==typeof n?n:1;var i,o=e.length,r=t.x*n,a=t.y*n;for(i=0;i<o;i++){e[i].x+=r;e[i].y+=a}return e};\n/**\n         * Rotates the set of vertices in-place.\n         * @method rotate\n         * @param {vertices} vertices\n         * @param {number} angle\n         * @param {vector} point\n         */i.rotate=function(e,t,n){if(0!==t){var i,o,r,a,s=Math.cos(t),l=Math.sin(t),c=n.x,u=n.y,f=e.length;for(a=0;a<f;a++){i=e[a];o=i.x-c;r=i.y-u;i.x=c+(o*s-r*l);i.y=u+(o*l+r*s)}return e}};\n/**\n         * Returns `true` if the `point` is inside the set of `vertices`.\n         * @method contains\n         * @param {vertices} vertices\n         * @param {vector} point\n         * @return {boolean} True if the vertices contains point, otherwise false\n         */i.contains=function(e,t){var n,i=t.x,o=t.y,r=e.length,a=e[r-1];for(var s=0;s<r;s++){n=e[s];if((i-a.x)*(n.y-a.y)+(o-a.y)*(a.x-n.x)>0)return false;a=n}return true};\n/**\n         * Scales the vertices from a point (default is centre) in-place.\n         * @method scale\n         * @param {vertices} vertices\n         * @param {number} scaleX\n         * @param {number} scaleY\n         * @param {vector} point\n         */i.scale=function(e,t,n,r){if(1===t&&1===n)return e;r=r||i.centre(e);var a,s;for(var l=0;l<e.length;l++){a=e[l];s=o.sub(a,r);e[l].x=r.x+s.x*t;e[l].y=r.y+s.y*n}return e};\n/**\n         * Chamfers a set of vertices by giving them rounded corners, returns a new set of vertices.\n         * The radius parameter is a single number or an array to specify the radius for each vertex.\n         * @method chamfer\n         * @param {vertices} vertices\n         * @param {number[]} radius\n         * @param {number} quality\n         * @param {number} qualityMin\n         * @param {number} qualityMax\n         */i.chamfer=function(e,t,n,i,a){t=\"number\"===typeof t?[t]:t||[8];n=\"undefined\"!==typeof n?n:-1;i=i||2;a=a||14;var s=[];for(var l=0;l<e.length;l++){var c=e[l-1>=0?l-1:e.length-1],u=e[l],f=e[(l+1)%e.length],d=t[l<t.length?l:t.length-1];if(0!==d){var p=o.normalise({x:u.y-c.y,y:c.x-u.x});var v=o.normalise({x:f.y-u.y,y:u.x-f.x});var y=Math.sqrt(2*Math.pow(d,2)),m=o.mult(r.clone(p),d),g=o.normalise(o.mult(o.add(p,v),.5)),x=o.sub(u,o.mult(g,y));var h=n;-1===n&&(h=1.75*Math.pow(d,.32));h=r.clamp(h,i,a);h%2===1&&(h+=1);var b=Math.acos(o.dot(p,v)),S=b/h;for(var w=0;w<h;w++)s.push(o.add(o.rotate(m,S*w),x))}else s.push(u)}return s};\n/**\n         * Sorts the input vertices into clockwise order in place.\n         * @method clockwiseSort\n         * @param {vertices} vertices\n         * @return {vertices} vertices\n         */i.clockwiseSort=function(e){var t=i.mean(e);e.sort((function(e,n){return o.angle(t,e)-o.angle(t,n)}));return e};\n/**\n         * Returns true if the vertices form a convex shape (vertices must be in clockwise order).\n         * @method isConvex\n         * @param {vertices} vertices\n         * @return {bool} `true` if the `vertices` are convex, `false` if not (or `null` if not computable).\n         */i.isConvex=function(e){var t,n,i,o,r=0,a=e.length;if(a<3)return null;for(t=0;t<a;t++){n=(t+1)%a;i=(t+2)%a;o=(e[n].x-e[t].x)*(e[i].y-e[n].y);o-=(e[n].y-e[t].y)*(e[i].x-e[n].x);o<0?r|=1:o>0&&(r|=2);if(3===r)return false}return 0!==r||null};\n/**\n         * Returns the convex hull of the input vertices as a new array of points.\n         * @method hull\n         * @param {vertices} vertices\n         * @return [vertex] vertices\n         */i.hull=function(e){var t,n,i=[],r=[];e=e.slice(0);e.sort((function(e,t){var n=e.x-t.x;return 0!==n?n:e.y-t.y}));for(n=0;n<e.length;n+=1){t=e[n];while(r.length>=2&&o.cross3(r[r.length-2],r[r.length-1],t)<=0)r.pop();r.push(t)}for(n=e.length-1;n>=0;n-=1){t=e[n];while(i.length>=2&&o.cross3(i[i.length-2],i[i.length-1],t)<=0)i.pop();i.push(t)}i.pop();r.pop();return i.concat(r)}})()},function(e,t,n){var i={};e.exports=i;var o=n(0);(function(){\n/**\n         * Subscribes a callback function to the given object's `eventName`.\n         * @method on\n         * @param {} object\n         * @param {string} eventNames\n         * @param {function} callback\n         */\ni.on=function(e,t,n){var i,o=t.split(\" \");for(var r=0;r<o.length;r++){i=o[r];e.events=e.events||{};e.events[i]=e.events[i]||[];e.events[i].push(n)}return n};\n/**\n         * Removes the given event callback. If no callback, clears all callbacks in `eventNames`. If no `eventNames`, clears all events.\n         * @method off\n         * @param {} object\n         * @param {string} eventNames\n         * @param {function} callback\n         */i.off=function(e,t,n){if(t){if(\"function\"===typeof t){n=t;t=o.keys(e.events).join(\" \")}var i=t.split(\" \");for(var r=0;r<i.length;r++){var a=e.events[i[r]],s=[];if(n&&a)for(var l=0;l<a.length;l++)a[l]!==n&&s.push(a[l]);e.events[i[r]]=s}}else e.events={}};\n/**\n         * Fires all the callbacks subscribed to the given object's `eventName`, in the order they subscribed, if any.\n         * @method trigger\n         * @param {} object\n         * @param {string} eventNames\n         * @param {} event\n         */i.trigger=function(e,t,n){var i,r,a,s;var l=e.events;if(l&&o.keys(l).length>0){n||(n={});i=t.split(\" \");for(var c=0;c<i.length;c++){r=i[c];a=l[r];if(a){s=o.clone(n,false);s.name=r;s.source=e;for(var u=0;u<a.length;u++)a[u].apply(e,[s])}}}}})()},function(e,t,n){var i={};e.exports=i;var o=n(4);var r=n(0);var a=n(1);var s=n(6);(function(){\n/**\n         * Creates a new composite. The options parameter is an object that specifies any properties you wish to override the defaults.\n         * See the properites section below for detailed information on what you can pass via the `options` object.\n         * @method create\n         * @param {} [options]\n         * @return {composite} A new composite\n         */\ni.create=function(e){return r.extend({id:r.nextId(),type:\"composite\",parent:null,isModified:false,bodies:[],constraints:[],composites:[],label:\"Composite\",plugin:{},cache:{allBodies:null,allConstraints:null,allComposites:null}},e)};\n/**\n         * Sets the composite's `isModified` flag. \n         * If `updateParents` is true, all parents will be set (default: false).\n         * If `updateChildren` is true, all children will be set (default: false).\n         * @private\n         * @method setModified\n         * @param {composite} composite\n         * @param {boolean} isModified\n         * @param {boolean} [updateParents=false]\n         * @param {boolean} [updateChildren=false]\n         */i.setModified=function(e,t,n,o){e.isModified=t;if(t&&e.cache){e.cache.allBodies=null;e.cache.allConstraints=null;e.cache.allComposites=null}n&&e.parent&&i.setModified(e.parent,t,n,o);if(o)for(var r=0;r<e.composites.length;r++){var a=e.composites[r];i.setModified(a,t,n,o)}};\n/**\n         * Generic single or multi-add function. Adds a single or an array of body(s), constraint(s) or composite(s) to the given composite.\n         * Triggers `beforeAdd` and `afterAdd` events on the `composite`.\n         * @method add\n         * @param {composite} composite\n         * @param {object|array} object A single or an array of body(s), constraint(s) or composite(s)\n         * @return {composite} The original composite with the objects added\n         */i.add=function(e,t){var n=[].concat(t);o.trigger(e,\"beforeAdd\",{object:t});for(var a=0;a<n.length;a++){var s=n[a];switch(s.type){case\"body\":if(s.parent!==s){r.warn(\"Composite.add: skipped adding a compound body part (you must add its parent instead)\");break}i.addBody(e,s);break;case\"constraint\":i.addConstraint(e,s);break;case\"composite\":i.addComposite(e,s);break;case\"mouseConstraint\":i.addConstraint(e,s.constraint);break}}o.trigger(e,\"afterAdd\",{object:t});return e};\n/**\n         * Generic remove function. Removes one or many body(s), constraint(s) or a composite(s) to the given composite.\n         * Optionally searching its children recursively.\n         * Triggers `beforeRemove` and `afterRemove` events on the `composite`.\n         * @method remove\n         * @param {composite} composite\n         * @param {object|array} object\n         * @param {boolean} [deep=false]\n         * @return {composite} The original composite with the objects removed\n         */i.remove=function(e,t,n){var r=[].concat(t);o.trigger(e,\"beforeRemove\",{object:t});for(var a=0;a<r.length;a++){var s=r[a];switch(s.type){case\"body\":i.removeBody(e,s,n);break;case\"constraint\":i.removeConstraint(e,s,n);break;case\"composite\":i.removeComposite(e,s,n);break;case\"mouseConstraint\":i.removeConstraint(e,s.constraint);break}}o.trigger(e,\"afterRemove\",{object:t});return e};\n/**\n         * Adds a composite to the given composite.\n         * @private\n         * @method addComposite\n         * @param {composite} compositeA\n         * @param {composite} compositeB\n         * @return {composite} The original compositeA with the objects from compositeB added\n         */i.addComposite=function(e,t){e.composites.push(t);t.parent=e;i.setModified(e,true,true,false);return e};\n/**\n         * Removes a composite from the given composite, and optionally searching its children recursively.\n         * @private\n         * @method removeComposite\n         * @param {composite} compositeA\n         * @param {composite} compositeB\n         * @param {boolean} [deep=false]\n         * @return {composite} The original compositeA with the composite removed\n         */i.removeComposite=function(e,t,n){var o=r.indexOf(e.composites,t);-1!==o&&i.removeCompositeAt(e,o);if(n)for(var a=0;a<e.composites.length;a++)i.removeComposite(e.composites[a],t,true);return e};\n/**\n         * Removes a composite from the given composite.\n         * @private\n         * @method removeCompositeAt\n         * @param {composite} composite\n         * @param {number} position\n         * @return {composite} The original composite with the composite removed\n         */i.removeCompositeAt=function(e,t){e.composites.splice(t,1);i.setModified(e,true,true,false);return e};\n/**\n         * Adds a body to the given composite.\n         * @private\n         * @method addBody\n         * @param {composite} composite\n         * @param {body} body\n         * @return {composite} The original composite with the body added\n         */i.addBody=function(e,t){e.bodies.push(t);i.setModified(e,true,true,false);return e};\n/**\n         * Removes a body from the given composite, and optionally searching its children recursively.\n         * @private\n         * @method removeBody\n         * @param {composite} composite\n         * @param {body} body\n         * @param {boolean} [deep=false]\n         * @return {composite} The original composite with the body removed\n         */i.removeBody=function(e,t,n){var o=r.indexOf(e.bodies,t);-1!==o&&i.removeBodyAt(e,o);if(n)for(var a=0;a<e.composites.length;a++)i.removeBody(e.composites[a],t,true);return e};\n/**\n         * Removes a body from the given composite.\n         * @private\n         * @method removeBodyAt\n         * @param {composite} composite\n         * @param {number} position\n         * @return {composite} The original composite with the body removed\n         */i.removeBodyAt=function(e,t){e.bodies.splice(t,1);i.setModified(e,true,true,false);return e};\n/**\n         * Adds a constraint to the given composite.\n         * @private\n         * @method addConstraint\n         * @param {composite} composite\n         * @param {constraint} constraint\n         * @return {composite} The original composite with the constraint added\n         */i.addConstraint=function(e,t){e.constraints.push(t);i.setModified(e,true,true,false);return e};\n/**\n         * Removes a constraint from the given composite, and optionally searching its children recursively.\n         * @private\n         * @method removeConstraint\n         * @param {composite} composite\n         * @param {constraint} constraint\n         * @param {boolean} [deep=false]\n         * @return {composite} The original composite with the constraint removed\n         */i.removeConstraint=function(e,t,n){var o=r.indexOf(e.constraints,t);-1!==o&&i.removeConstraintAt(e,o);if(n)for(var a=0;a<e.composites.length;a++)i.removeConstraint(e.composites[a],t,true);return e};\n/**\n         * Removes a body from the given composite.\n         * @private\n         * @method removeConstraintAt\n         * @param {composite} composite\n         * @param {number} position\n         * @return {composite} The original composite with the constraint removed\n         */i.removeConstraintAt=function(e,t){e.constraints.splice(t,1);i.setModified(e,true,true,false);return e};\n/**\n         * Removes all bodies, constraints and composites from the given composite.\n         * Optionally clearing its children recursively.\n         * @method clear\n         * @param {composite} composite\n         * @param {boolean} keepStatic\n         * @param {boolean} [deep=false]\n         */i.clear=function(e,t,n){if(n)for(var o=0;o<e.composites.length;o++)i.clear(e.composites[o],t,true);t?e.bodies=e.bodies.filter((function(e){return e.isStatic})):e.bodies.length=0;e.constraints.length=0;e.composites.length=0;i.setModified(e,true,true,false);return e};\n/**\n         * Returns all bodies in the given composite, including all bodies in its children, recursively.\n         * @method allBodies\n         * @param {composite} composite\n         * @return {body[]} All the bodies\n         */i.allBodies=function(e){if(e.cache&&e.cache.allBodies)return e.cache.allBodies;var t=[].concat(e.bodies);for(var n=0;n<e.composites.length;n++)t=t.concat(i.allBodies(e.composites[n]));e.cache&&(e.cache.allBodies=t);return t};\n/**\n         * Returns all constraints in the given composite, including all constraints in its children, recursively.\n         * @method allConstraints\n         * @param {composite} composite\n         * @return {constraint[]} All the constraints\n         */i.allConstraints=function(e){if(e.cache&&e.cache.allConstraints)return e.cache.allConstraints;var t=[].concat(e.constraints);for(var n=0;n<e.composites.length;n++)t=t.concat(i.allConstraints(e.composites[n]));e.cache&&(e.cache.allConstraints=t);return t};\n/**\n         * Returns all composites in the given composite, including all composites in its children, recursively.\n         * @method allComposites\n         * @param {composite} composite\n         * @return {composite[]} All the composites\n         */i.allComposites=function(e){if(e.cache&&e.cache.allComposites)return e.cache.allComposites;var t=[].concat(e.composites);for(var n=0;n<e.composites.length;n++)t=t.concat(i.allComposites(e.composites[n]));e.cache&&(e.cache.allComposites=t);return t};\n/**\n         * Searches the composite recursively for an object matching the type and id supplied, null if not found.\n         * @method get\n         * @param {composite} composite\n         * @param {number} id\n         * @param {string} type\n         * @return {object} The requested object, if found\n         */i.get=function(e,t,n){var o,r;switch(n){case\"body\":o=i.allBodies(e);break;case\"constraint\":o=i.allConstraints(e);break;case\"composite\":o=i.allComposites(e).concat(e);break}if(!o)return null;r=o.filter((function(e){return e.id.toString()===t.toString()}));return 0===r.length?null:r[0]};\n/**\n         * Moves the given object(s) from compositeA to compositeB (equal to a remove followed by an add).\n         * @method move\n         * @param {compositeA} compositeA\n         * @param {object[]} objects\n         * @param {compositeB} compositeB\n         * @return {composite} Returns compositeA\n         */i.move=function(e,t,n){i.remove(e,t);i.add(n,t);return e};\n/**\n         * Assigns new ids for all objects in the composite, recursively.\n         * @method rebase\n         * @param {composite} composite\n         * @return {composite} Returns composite\n         */i.rebase=function(e){var t=i.allBodies(e).concat(i.allConstraints(e)).concat(i.allComposites(e));for(var n=0;n<t.length;n++)t[n].id=r.nextId();return e};\n/**\n         * Translates all children in the composite by a given vector relative to their current positions, \n         * without imparting any velocity.\n         * @method translate\n         * @param {composite} composite\n         * @param {vector} translation\n         * @param {bool} [recursive=true]\n         */i.translate=function(e,t,n){var o=n?i.allBodies(e):e.bodies;for(var r=0;r<o.length;r++)s.translate(o[r],t);return e};\n/**\n         * Rotates all children in the composite by a given angle about the given point, without imparting any angular velocity.\n         * @method rotate\n         * @param {composite} composite\n         * @param {number} rotation\n         * @param {vector} point\n         * @param {bool} [recursive=true]\n         */i.rotate=function(e,t,n,o){var r=Math.cos(t),a=Math.sin(t),l=o?i.allBodies(e):e.bodies;for(var c=0;c<l.length;c++){var u=l[c],f=u.position.x-n.x,d=u.position.y-n.y;s.setPosition(u,{x:n.x+(f*r-d*a),y:n.y+(f*a+d*r)});s.rotate(u,t)}return e};\n/**\n         * Scales all children in the composite, including updating physical properties (mass, area, axes, inertia), from a world-space point.\n         * @method scale\n         * @param {composite} composite\n         * @param {number} scaleX\n         * @param {number} scaleY\n         * @param {vector} point\n         * @param {bool} [recursive=true]\n         */i.scale=function(e,t,n,o,r){var a=r?i.allBodies(e):e.bodies;for(var l=0;l<a.length;l++){var c=a[l],u=c.position.x-o.x,f=c.position.y-o.y;s.setPosition(c,{x:o.x+u*t,y:o.y+f*n});s.scale(c,t,n)}return e};\n/**\n         * Returns the union of the bounds of all of the composite's bodies.\n         * @method bounds\n         * @param {composite} composite The composite.\n         * @returns {bounds} The composite bounds.\n         */i.bounds=function(e){var t=i.allBodies(e),n=[];for(var o=0;o<t.length;o+=1){var r=t[o];n.push(r.bounds.min,r.bounds.max)}return a.create(n)};\n/**\n        * Fired when a call to `Composite.add` is made, before objects have been added.\n        *\n        * @event beforeAdd\n        * @param {} event An event object\n        * @param {} event.object The object(s) to be added (may be a single body, constraint, composite or a mixed array of these)\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n        * Fired when a call to `Composite.add` is made, after objects have been added.\n        *\n        * @event afterAdd\n        * @param {} event An event object\n        * @param {} event.object The object(s) that have been added (may be a single body, constraint, composite or a mixed array of these)\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n        * Fired when a call to `Composite.remove` is made, before objects have been removed.\n        *\n        * @event beforeRemove\n        * @param {} event An event object\n        * @param {} event.object The object(s) to be removed (may be a single body, constraint, composite or a mixed array of these)\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n        * Fired when a call to `Composite.remove` is made, after objects have been removed.\n        *\n        * @event afterRemove\n        * @param {} event An event object\n        * @param {} event.object The object(s) that have been removed (may be a single body, constraint, composite or a mixed array of these)\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n         * An integer `Number` uniquely identifying number generated in `Composite.create` by `Common.nextId`.\n         *\n         * @property id\n         * @type number\n         */\n/**\n         * A `String` denoting the type of object.\n         *\n         * @property type\n         * @type string\n         * @default \"composite\"\n         * @readOnly\n         */\n/**\n         * An arbitrary `String` name to help the user identify and manage composites.\n         *\n         * @property label\n         * @type string\n         * @default \"Composite\"\n         */\n/**\n         * A flag that specifies whether the composite has been modified during the current step.\n         * This is automatically managed when bodies, constraints or composites are added or removed.\n         *\n         * @property isModified\n         * @type boolean\n         * @default false\n         */\n/**\n         * The `Composite` that is the parent of this composite. It is automatically managed by the `Matter.Composite` methods.\n         *\n         * @property parent\n         * @type composite\n         * @default null\n         */\n/**\n         * An array of `Body` that are _direct_ children of this composite.\n         * To add or remove bodies you should use `Composite.add` and `Composite.remove` methods rather than directly modifying this property.\n         * If you wish to recursively find all descendants, you should use the `Composite.allBodies` method.\n         *\n         * @property bodies\n         * @type body[]\n         * @default []\n         */\n/**\n         * An array of `Constraint` that are _direct_ children of this composite.\n         * To add or remove constraints you should use `Composite.add` and `Composite.remove` methods rather than directly modifying this property.\n         * If you wish to recursively find all descendants, you should use the `Composite.allConstraints` method.\n         *\n         * @property constraints\n         * @type constraint[]\n         * @default []\n         */\n/**\n         * An array of `Composite` that are _direct_ children of this composite.\n         * To add or remove composites you should use `Composite.add` and `Composite.remove` methods rather than directly modifying this property.\n         * If you wish to recursively find all descendants, you should use the `Composite.allComposites` method.\n         *\n         * @property composites\n         * @type composite[]\n         * @default []\n         */\n/**\n         * An object reserved for storing plugin-specific properties.\n         *\n         * @property plugin\n         * @type {}\n         */\n/**\n         * An object used for storing cached results for performance reasons.\n         * This is used internally only and is automatically managed.\n         *\n         * @private\n         * @property cache\n         * @type {}\n         */})()},function(e,t,n){var i={};e.exports=i;var o=n(3);var r=n(2);var a=n(7);n(16);var s=n(0);var l=n(1);var c=n(11);(function(){i._inertiaScale=4;i._nextCollidingGroupId=1;i._nextNonCollidingGroupId=-1;i._nextCategory=1;\n/**\n         * Creates a new rigid body model. The options parameter is an object that specifies any properties you wish to override the defaults.\n         * All properties have default values, and many are pre-calculated automatically based on other properties.\n         * Vertices must be specified in clockwise order.\n         * See the properties section below for detailed information on what you can pass via the `options` object.\n         * @method create\n         * @param {} options\n         * @return {body} body\n         */i.create=function(e){var t={id:s.nextId(),type:\"body\",label:\"Body\",parts:[],plugin:{},angle:0,vertices:o.fromPath(\"L 0 0 L 40 0 L 40 40 L 0 40\"),position:{x:0,y:0},force:{x:0,y:0},torque:0,positionImpulse:{x:0,y:0},constraintImpulse:{x:0,y:0,angle:0},totalContacts:0,speed:0,angularSpeed:0,velocity:{x:0,y:0},angularVelocity:0,isSensor:false,isStatic:false,isSleeping:false,motion:0,sleepThreshold:60,density:.001,restitution:0,friction:.1,frictionStatic:.5,frictionAir:.01,collisionFilter:{category:1,mask:4294967295,group:0},slop:.05,timeScale:1,render:{visible:true,opacity:1,strokeStyle:null,fillStyle:null,lineWidth:null,sprite:{xScale:1,yScale:1,xOffset:0,yOffset:0}},events:null,bounds:null,chamfer:null,circleRadius:0,positionPrev:null,anglePrev:0,parent:null,axes:null,area:0,mass:0,inertia:0,_original:null};var n=s.extend(t,e);_initProperties(n,e);return n};\n/**\n         * Returns the next unique group index for which bodies will collide.\n         * If `isNonColliding` is `true`, returns the next unique group index for which bodies will _not_ collide.\n         * See `body.collisionFilter` for more information.\n         * @method nextGroup\n         * @param {bool} [isNonColliding=false]\n         * @return {Number} Unique group index\n         */i.nextGroup=function(e){return e?i._nextNonCollidingGroupId--:i._nextCollidingGroupId++};i.nextCategory=function(){i._nextCategory=i._nextCategory<<1;return i._nextCategory};\n/**\n         * Initialises body properties.\n         * @method _initProperties\n         * @private\n         * @param {body} body\n         * @param {} [options]\n         */var _initProperties=function(e,t){t=t||{};i.set(e,{bounds:e.bounds||l.create(e.vertices),positionPrev:e.positionPrev||r.clone(e.position),anglePrev:e.anglePrev||e.angle,vertices:e.vertices,parts:e.parts||[e],isStatic:e.isStatic,isSleeping:e.isSleeping,parent:e.parent||e});o.rotate(e.vertices,e.angle,e.position);c.rotate(e.axes,e.angle);l.update(e.bounds,e.vertices,e.velocity);i.set(e,{axes:t.axes||e.axes,area:t.area||e.area,mass:t.mass||e.mass,inertia:t.inertia||e.inertia});var n=e.isStatic?\"#14151f\":s.choose([\"#f19648\",\"#f5d259\",\"#f55a3c\",\"#063e7b\",\"#ececd1\"]),a=e.isStatic?\"#555\":\"#ccc\",u=e.isStatic&&null===e.render.fillStyle?1:0;e.render.fillStyle=e.render.fillStyle||n;e.render.strokeStyle=e.render.strokeStyle||a;e.render.lineWidth=e.render.lineWidth||u;e.render.sprite.xOffset+=-(e.bounds.min.x-e.position.x)/(e.bounds.max.x-e.bounds.min.x);e.render.sprite.yOffset+=-(e.bounds.min.y-e.position.y)/(e.bounds.max.y-e.bounds.min.y)};\n/**\n         * Given a property and a value (or map of), sets the property(s) on the body, using the appropriate setter functions if they exist.\n         * Prefer to use the actual setter functions in performance critical situations.\n         * @method set\n         * @param {body} body\n         * @param {} settings A property name (or map of properties and values) to set on the body.\n         * @param {} value The value to set if `settings` is a single property name.\n         */i.set=function(e,t,n){var o;if(\"string\"===typeof t){o=t;t={};t[o]=n}for(o in t)if(Object.prototype.hasOwnProperty.call(t,o)){n=t[o];switch(o){case\"isStatic\":i.setStatic(e,n);break;case\"isSleeping\":a.set(e,n);break;case\"mass\":i.setMass(e,n);break;case\"density\":i.setDensity(e,n);break;case\"inertia\":i.setInertia(e,n);break;case\"vertices\":i.setVertices(e,n);break;case\"position\":i.setPosition(e,n);break;case\"angle\":i.setAngle(e,n);break;case\"velocity\":i.setVelocity(e,n);break;case\"angularVelocity\":i.setAngularVelocity(e,n);break;case\"parts\":i.setParts(e,n);break;case\"centre\":i.setCentre(e,n);break;default:e[o]=n}}};\n/**\n         * Sets the body as static, including isStatic flag and setting mass and inertia to Infinity.\n         * @method setStatic\n         * @param {body} body\n         * @param {bool} isStatic\n         */i.setStatic=function(e,t){for(var n=0;n<e.parts.length;n++){var i=e.parts[n];i.isStatic=t;if(t){i._original={restitution:i.restitution,friction:i.friction,mass:i.mass,inertia:i.inertia,density:i.density,inverseMass:i.inverseMass,inverseInertia:i.inverseInertia};i.restitution=0;i.friction=1;i.mass=i.inertia=i.density=Infinity;i.inverseMass=i.inverseInertia=0;i.positionPrev.x=i.position.x;i.positionPrev.y=i.position.y;i.anglePrev=i.angle;i.angularVelocity=0;i.speed=0;i.angularSpeed=0;i.motion=0}else if(i._original){i.restitution=i._original.restitution;i.friction=i._original.friction;i.mass=i._original.mass;i.inertia=i._original.inertia;i.density=i._original.density;i.inverseMass=i._original.inverseMass;i.inverseInertia=i._original.inverseInertia;i._original=null}}};\n/**\n         * Sets the mass of the body. Inverse mass, density and inertia are automatically updated to reflect the change.\n         * @method setMass\n         * @param {body} body\n         * @param {number} mass\n         */i.setMass=function(e,t){var n=e.inertia/(e.mass/6);e.inertia=n*(t/6);e.inverseInertia=1/e.inertia;e.mass=t;e.inverseMass=1/e.mass;e.density=e.mass/e.area};\n/**\n         * Sets the density of the body. Mass and inertia are automatically updated to reflect the change.\n         * @method setDensity\n         * @param {body} body\n         * @param {number} density\n         */i.setDensity=function(e,t){i.setMass(e,t*e.area);e.density=t};\n/**\n         * Sets the moment of inertia (i.e. second moment of area) of the body. \n         * Inverse inertia is automatically updated to reflect the change. Mass is not changed.\n         * @method setInertia\n         * @param {body} body\n         * @param {number} inertia\n         */i.setInertia=function(e,t){e.inertia=t;e.inverseInertia=1/e.inertia};\n/**\n         * Sets the body's vertices and updates body properties accordingly, including inertia, area and mass (with respect to `body.density`).\n         * Vertices will be automatically transformed to be orientated around their centre of mass as the origin.\n         * They are then automatically translated to world space based on `body.position`.\n         *\n         * The `vertices` argument should be passed as an array of `Matter.Vector` points (or a `Matter.Vertices` array).\n         * Vertices must form a convex hull, concave hulls are not supported.\n         *\n         * @method setVertices\n         * @param {body} body\n         * @param {vector[]} vertices\n         */i.setVertices=function(e,t){t[0].body===e?e.vertices=t:e.vertices=o.create(t,e);e.axes=c.fromVertices(e.vertices);e.area=o.area(e.vertices);i.setMass(e,e.density*e.area);var n=o.centre(e.vertices);o.translate(e.vertices,n,-1);i.setInertia(e,i._inertiaScale*o.inertia(e.vertices,e.mass));o.translate(e.vertices,e.position);l.update(e.bounds,e.vertices,e.velocity)};\n/**\n         * Sets the parts of the `body` and updates mass, inertia and centroid.\n         * Each part will have its parent set to `body`.\n         * By default the convex hull will be automatically computed and set on `body`, unless `autoHull` is set to `false.`\n         * Note that this method will ensure that the first part in `body.parts` will always be the `body`.\n         * @method setParts\n         * @param {body} body\n         * @param [body] parts\n         * @param {bool} [autoHull=true]\n         */i.setParts=function(e,t,n){var r;t=t.slice(0);e.parts.length=0;e.parts.push(e);e.parent=e;for(r=0;r<t.length;r++){var a=t[r];if(a!==e){a.parent=e;e.parts.push(a)}}if(1!==e.parts.length){n=\"undefined\"===typeof n||n;if(n){var s=[];for(r=0;r<t.length;r++)s=s.concat(t[r].vertices);o.clockwiseSort(s);var l=o.hull(s),c=o.centre(l);i.setVertices(e,l);o.translate(e.vertices,c)}var u=i._totalProperties(e);e.area=u.area;e.parent=e;e.position.x=u.centre.x;e.position.y=u.centre.y;e.positionPrev.x=u.centre.x;e.positionPrev.y=u.centre.y;i.setMass(e,u.mass);i.setInertia(e,u.inertia);i.setPosition(e,u.centre)}};\n/**\n         * Set the centre of mass of the body. \n         * The `centre` is a vector in world-space unless `relative` is set, in which case it is a translation.\n         * The centre of mass is the point the body rotates about and can be used to simulate non-uniform density.\n         * This is equal to moving `body.position` but not the `body.vertices`.\n         * Invalid if the `centre` falls outside the body's convex hull.\n         * @method setCentre\n         * @param {body} body\n         * @param {vector} centre\n         * @param {bool} relative\n         */i.setCentre=function(e,t,n){if(n){e.positionPrev.x+=t.x;e.positionPrev.y+=t.y;e.position.x+=t.x;e.position.y+=t.y}else{e.positionPrev.x=t.x-(e.position.x-e.positionPrev.x);e.positionPrev.y=t.y-(e.position.y-e.positionPrev.y);e.position.x=t.x;e.position.y=t.y}};\n/**\n         * Sets the position of the body instantly. Velocity, angle, force etc. are unchanged.\n         * @method setPosition\n         * @param {body} body\n         * @param {vector} position\n         */i.setPosition=function(e,t){var n=r.sub(t,e.position);e.positionPrev.x+=n.x;e.positionPrev.y+=n.y;for(var i=0;i<e.parts.length;i++){var a=e.parts[i];a.position.x+=n.x;a.position.y+=n.y;o.translate(a.vertices,n);l.update(a.bounds,a.vertices,e.velocity)}};\n/**\n         * Sets the angle of the body instantly. Angular velocity, position, force etc. are unchanged.\n         * @method setAngle\n         * @param {body} body\n         * @param {number} angle\n         */i.setAngle=function(e,t){var n=t-e.angle;e.anglePrev+=n;for(var i=0;i<e.parts.length;i++){var a=e.parts[i];a.angle+=n;o.rotate(a.vertices,n,e.position);c.rotate(a.axes,n);l.update(a.bounds,a.vertices,e.velocity);i>0&&r.rotateAbout(a.position,n,e.position,a.position)}};\n/**\n         * Sets the linear velocity of the body instantly. Position, angle, force etc. are unchanged. See also `Body.applyForce`.\n         * @method setVelocity\n         * @param {body} body\n         * @param {vector} velocity\n         */i.setVelocity=function(e,t){e.positionPrev.x=e.position.x-t.x;e.positionPrev.y=e.position.y-t.y;e.velocity.x=t.x;e.velocity.y=t.y;e.speed=r.magnitude(e.velocity)};\n/**\n         * Sets the angular velocity of the body instantly. Position, angle, force etc. are unchanged. See also `Body.applyForce`.\n         * @method setAngularVelocity\n         * @param {body} body\n         * @param {number} velocity\n         */i.setAngularVelocity=function(e,t){e.anglePrev=e.angle-t;e.angularVelocity=t;e.angularSpeed=Math.abs(e.angularVelocity)};\n/**\n         * Moves a body by a given vector relative to its current position, without imparting any velocity.\n         * @method translate\n         * @param {body} body\n         * @param {vector} translation\n         */i.translate=function(e,t){i.setPosition(e,r.add(e.position,t))};\n/**\n         * Rotates a body by a given angle relative to its current angle, without imparting any angular velocity.\n         * @method rotate\n         * @param {body} body\n         * @param {number} rotation\n         * @param {vector} [point]\n         */i.rotate=function(e,t,n){if(n){var o=Math.cos(t),r=Math.sin(t),a=e.position.x-n.x,s=e.position.y-n.y;i.setPosition(e,{x:n.x+(a*o-s*r),y:n.y+(a*r+s*o)});i.setAngle(e,e.angle+t)}else i.setAngle(e,e.angle+t)};\n/**\n         * Scales the body, including updating physical properties (mass, area, axes, inertia), from a world-space point (default is body centre).\n         * @method scale\n         * @param {body} body\n         * @param {number} scaleX\n         * @param {number} scaleY\n         * @param {vector} [point]\n         */i.scale=function(e,t,n,r){var a=0,s=0;r=r||e.position;for(var u=0;u<e.parts.length;u++){var f=e.parts[u];o.scale(f.vertices,t,n,r);f.axes=c.fromVertices(f.vertices);f.area=o.area(f.vertices);i.setMass(f,e.density*f.area);o.translate(f.vertices,{x:-f.position.x,y:-f.position.y});i.setInertia(f,i._inertiaScale*o.inertia(f.vertices,f.mass));o.translate(f.vertices,{x:f.position.x,y:f.position.y});if(u>0){a+=f.area;s+=f.inertia}f.position.x=r.x+(f.position.x-r.x)*t;f.position.y=r.y+(f.position.y-r.y)*n;l.update(f.bounds,f.vertices,e.velocity)}if(e.parts.length>1){e.area=a;if(!e.isStatic){i.setMass(e,e.density*a);i.setInertia(e,s)}}e.circleRadius&&(t===n?e.circleRadius*=t:e.circleRadius=null)};\n/**\n         * Performs a simulation step for the given `body`, including updating position and angle using Verlet integration.\n         * @method update\n         * @param {body} body\n         * @param {number} deltaTime\n         * @param {number} timeScale\n         * @param {number} correction\n         */i.update=function(e,t,n,i){var a=Math.pow(t*n*e.timeScale,2);var s=1-e.frictionAir*n*e.timeScale,u=e.position.x-e.positionPrev.x,f=e.position.y-e.positionPrev.y;e.velocity.x=u*s*i+e.force.x/e.mass*a;e.velocity.y=f*s*i+e.force.y/e.mass*a;e.positionPrev.x=e.position.x;e.positionPrev.y=e.position.y;e.position.x+=e.velocity.x;e.position.y+=e.velocity.y;e.angularVelocity=(e.angle-e.anglePrev)*s*i+e.torque/e.inertia*a;e.anglePrev=e.angle;e.angle+=e.angularVelocity;e.speed=r.magnitude(e.velocity);e.angularSpeed=Math.abs(e.angularVelocity);for(var d=0;d<e.parts.length;d++){var p=e.parts[d];o.translate(p.vertices,e.velocity);if(d>0){p.position.x+=e.velocity.x;p.position.y+=e.velocity.y}if(0!==e.angularVelocity){o.rotate(p.vertices,e.angularVelocity,e.position);c.rotate(p.axes,e.angularVelocity);d>0&&r.rotateAbout(p.position,e.angularVelocity,e.position,p.position)}l.update(p.bounds,p.vertices,e.velocity)}};\n/**\n         * Applies a force to a body from a given world-space position, including resulting torque.\n         * @method applyForce\n         * @param {body} body\n         * @param {vector} position\n         * @param {vector} force\n         */i.applyForce=function(e,t,n){e.force.x+=n.x;e.force.y+=n.y;var i={x:t.x-e.position.x,y:t.y-e.position.y};e.torque+=i.x*n.y-i.y*n.x};\n/**\n         * Returns the sums of the properties of all compound parts of the parent body.\n         * @method _totalProperties\n         * @private\n         * @param {body} body\n         * @return {}\n         */i._totalProperties=function(e){var t={mass:0,area:0,inertia:0,centre:{x:0,y:0}};for(var n=1===e.parts.length?0:1;n<e.parts.length;n++){var i=e.parts[n],o=Infinity!==i.mass?i.mass:1;t.mass+=o;t.area+=i.area;t.inertia+=i.inertia;t.centre=r.add(t.centre,r.mult(i.position,o))}t.centre=r.div(t.centre,t.mass);return t};\n/**\n        * Fired when a body starts sleeping (where `this` is the body).\n        *\n        * @event sleepStart\n        * @this {body} The body that has started sleeping\n        * @param {} event An event object\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n        * Fired when a body ends sleeping (where `this` is the body).\n        *\n        * @event sleepEnd\n        * @this {body} The body that has ended sleeping\n        * @param {} event An event object\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n         * An integer `Number` uniquely identifying number generated in `Body.create` by `Common.nextId`.\n         *\n         * @property id\n         * @type number\n         */\n/**\n         * A `String` denoting the type of object.\n         *\n         * @property type\n         * @type string\n         * @default \"body\"\n         * @readOnly\n         */\n/**\n         * An arbitrary `String` name to help the user identify and manage bodies.\n         *\n         * @property label\n         * @type string\n         * @default \"Body\"\n         */\n/**\n         * An array of bodies that make up this body. \n         * The first body in the array must always be a self reference to the current body instance.\n         * All bodies in the `parts` array together form a single rigid compound body.\n         * Parts are allowed to overlap, have gaps or holes or even form concave bodies.\n         * Parts themselves should never be added to a `World`, only the parent body should be.\n         * Use `Body.setParts` when setting parts to ensure correct updates of all properties.\n         *\n         * @property parts\n         * @type body[]\n         */\n/**\n         * An object reserved for storing plugin-specific properties.\n         *\n         * @property plugin\n         * @type {}\n         */\n/**\n         * A self reference if the body is _not_ a part of another body.\n         * Otherwise this is a reference to the body that this is a part of.\n         * See `body.parts`.\n         *\n         * @property parent\n         * @type body\n         */\n/**\n         * A `Number` specifying the angle of the body, in radians.\n         *\n         * @property angle\n         * @type number\n         * @default 0\n         */\n/**\n         * An array of `Vector` objects that specify the convex hull of the rigid body.\n         * These should be provided about the origin `(0, 0)`. E.g.\n         *\n         *     [{ x: 0, y: 0 }, { x: 25, y: 50 }, { x: 50, y: 0 }]\n         *\n         * When passed via `Body.create`, the vertices are translated relative to `body.position` (i.e. world-space, and constantly updated by `Body.update` during simulation).\n         * The `Vector` objects are also augmented with additional properties required for efficient collision detection. \n         *\n         * Other properties such as `inertia` and `bounds` are automatically calculated from the passed vertices (unless provided via `options`).\n         * Concave hulls are not currently supported. The module `Matter.Vertices` contains useful methods for working with vertices.\n         *\n         * @property vertices\n         * @type vector[]\n         */\n/**\n         * A `Vector` that specifies the current world-space position of the body.\n         *\n         * @property position\n         * @type vector\n         * @default { x: 0, y: 0 }\n         */\n/**\n         * A `Vector` that specifies the force to apply in the current step. It is zeroed after every `Body.update`. See also `Body.applyForce`.\n         *\n         * @property force\n         * @type vector\n         * @default { x: 0, y: 0 }\n         */\n/**\n         * A `Number` that specifies the torque (turning force) to apply in the current step. It is zeroed after every `Body.update`.\n         *\n         * @property torque\n         * @type number\n         * @default 0\n         */\n/**\n         * A `Number` that _measures_ the current speed of the body after the last `Body.update`. It is read-only and always positive (it's the magnitude of `body.velocity`).\n         *\n         * @readOnly\n         * @property speed\n         * @type number\n         * @default 0\n         */\n/**\n         * A `Number` that _measures_ the current angular speed of the body after the last `Body.update`. It is read-only and always positive (it's the magnitude of `body.angularVelocity`).\n         *\n         * @readOnly\n         * @property angularSpeed\n         * @type number\n         * @default 0\n         */\n/**\n         * A `Vector` that _measures_ the current velocity of the body after the last `Body.update`. It is read-only. \n         * If you need to modify a body's velocity directly, you should either apply a force or simply change the body's `position` (as the engine uses position-Verlet integration).\n         *\n         * @readOnly\n         * @property velocity\n         * @type vector\n         * @default { x: 0, y: 0 }\n         */\n/**\n         * A `Number` that _measures_ the current angular velocity of the body after the last `Body.update`. It is read-only. \n         * If you need to modify a body's angular velocity directly, you should apply a torque or simply change the body's `angle` (as the engine uses position-Verlet integration).\n         *\n         * @readOnly\n         * @property angularVelocity\n         * @type number\n         * @default 0\n         */\n/**\n         * A flag that indicates whether a body is considered static. A static body can never change position or angle and is completely fixed.\n         * If you need to set a body as static after its creation, you should use `Body.setStatic` as this requires more than just setting this flag.\n         *\n         * @property isStatic\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag that indicates whether a body is a sensor. Sensor triggers collision events, but doesn't react with colliding body physically.\n         *\n         * @property isSensor\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag that indicates whether the body is considered sleeping. A sleeping body acts similar to a static body, except it is only temporary and can be awoken.\n         * If you need to set a body as sleeping, you should use `Sleeping.set` as this requires more than just setting this flag.\n         *\n         * @property isSleeping\n         * @type boolean\n         * @default false\n         */\n/**\n         * A `Number` that _measures_ the amount of movement a body currently has (a combination of `speed` and `angularSpeed`). It is read-only and always positive.\n         * It is used and updated by the `Matter.Sleeping` module during simulation to decide if a body has come to rest.\n         *\n         * @readOnly\n         * @property motion\n         * @type number\n         * @default 0\n         */\n/**\n         * A `Number` that defines the number of updates in which this body must have near-zero velocity before it is set as sleeping by the `Matter.Sleeping` module (if sleeping is enabled by the engine).\n         *\n         * @property sleepThreshold\n         * @type number\n         * @default 60\n         */\n/**\n         * A `Number` that defines the density of the body, that is its mass per unit area.\n         * If you pass the density via `Body.create` the `mass` property is automatically calculated for you based on the size (area) of the object.\n         * This is generally preferable to simply setting mass and allows for more intuitive definition of materials (e.g. rock has a higher density than wood).\n         *\n         * @property density\n         * @type number\n         * @default 0.001\n         */\n/**\n         * A `Number` that defines the mass of the body, although it may be more appropriate to specify the `density` property instead.\n         * If you modify this value, you must also modify the `body.inverseMass` property (`1 / mass`).\n         *\n         * @property mass\n         * @type number\n         */\n/**\n         * A `Number` that defines the inverse mass of the body (`1 / mass`).\n         * If you modify this value, you must also modify the `body.mass` property.\n         *\n         * @property inverseMass\n         * @type number\n         */\n/**\n         * A `Number` that defines the moment of inertia (i.e. second moment of area) of the body.\n         * It is automatically calculated from the given convex hull (`vertices` array) and density in `Body.create`.\n         * If you modify this value, you must also modify the `body.inverseInertia` property (`1 / inertia`).\n         *\n         * @property inertia\n         * @type number\n         */\n/**\n         * A `Number` that defines the inverse moment of inertia of the body (`1 / inertia`).\n         * If you modify this value, you must also modify the `body.inertia` property.\n         *\n         * @property inverseInertia\n         * @type number\n         */\n/**\n         * A `Number` that defines the restitution (elasticity) of the body. The value is always positive and is in the range `(0, 1)`.\n         * A value of `0` means collisions may be perfectly inelastic and no bouncing may occur. \n         * A value of `0.8` means the body may bounce back with approximately 80% of its kinetic energy.\n         * Note that collision response is based on _pairs_ of bodies, and that `restitution` values are _combined_ with the following formula:\n         *\n         *     Math.max(bodyA.restitution, bodyB.restitution)\n         *\n         * @property restitution\n         * @type number\n         * @default 0\n         */\n/**\n         * A `Number` that defines the friction of the body. The value is always positive and is in the range `(0, 1)`.\n         * A value of `0` means that the body may slide indefinitely.\n         * A value of `1` means the body may come to a stop almost instantly after a force is applied.\n         *\n         * The effects of the value may be non-linear. \n         * High values may be unstable depending on the body.\n         * The engine uses a Coulomb friction model including static and kinetic friction.\n         * Note that collision response is based on _pairs_ of bodies, and that `friction` values are _combined_ with the following formula:\n         *\n         *     Math.min(bodyA.friction, bodyB.friction)\n         *\n         * @property friction\n         * @type number\n         * @default 0.1\n         */\n/**\n         * A `Number` that defines the static friction of the body (in the Coulomb friction model). \n         * A value of `0` means the body will never 'stick' when it is nearly stationary and only dynamic `friction` is used.\n         * The higher the value (e.g. `10`), the more force it will take to initially get the body moving when nearly stationary.\n         * This value is multiplied with the `friction` property to make it easier to change `friction` and maintain an appropriate amount of static friction.\n         *\n         * @property frictionStatic\n         * @type number\n         * @default 0.5\n         */\n/**\n         * A `Number` that defines the air friction of the body (air resistance). \n         * A value of `0` means the body will never slow as it moves through space.\n         * The higher the value, the faster a body slows when moving through space.\n         * The effects of the value are non-linear. \n         *\n         * @property frictionAir\n         * @type number\n         * @default 0.01\n         */\n/**\n         * An `Object` that specifies the collision filtering properties of this body.\n         *\n         * Collisions between two bodies will obey the following rules:\n         * - If the two bodies have the same non-zero value of `collisionFilter.group`,\n         *   they will always collide if the value is positive, and they will never collide\n         *   if the value is negative.\n         * - If the two bodies have different values of `collisionFilter.group` or if one\n         *   (or both) of the bodies has a value of 0, then the category/mask rules apply as follows:\n         *\n         * Each body belongs to a collision category, given by `collisionFilter.category`. This\n         * value is used as a bit field and the category should have only one bit set, meaning that\n         * the value of this property is a power of two in the range [1, 2^31]. Thus, there are 32\n         * different collision categories available.\n         *\n         * Each body also defines a collision bitmask, given by `collisionFilter.mask` which specifies\n         * the categories it collides with (the value is the bitwise AND value of all these categories).\n         *\n         * Using the category/mask rules, two bodies `A` and `B` collide if each includes the other's\n         * category in its mask, i.e. `(categoryA & maskB) !== 0` and `(categoryB & maskA) !== 0`\n         * are both true.\n         *\n         * @property collisionFilter\n         * @type object\n         */\n/**\n         * An Integer `Number`, that specifies the collision group this body belongs to.\n         * See `body.collisionFilter` for more information.\n         *\n         * @property collisionFilter.group\n         * @type object\n         * @default 0\n         */\n/**\n         * A bit field that specifies the collision category this body belongs to.\n         * The category value should have only one bit set, for example `0x0001`.\n         * This means there are up to 32 unique collision categories available.\n         * See `body.collisionFilter` for more information.\n         *\n         * @property collisionFilter.category\n         * @type object\n         * @default 1\n         */\n/**\n         * A bit mask that specifies the collision categories this body may collide with.\n         * See `body.collisionFilter` for more information.\n         *\n         * @property collisionFilter.mask\n         * @type object\n         * @default -1\n         */\n/**\n         * A `Number` that specifies a tolerance on how far a body is allowed to 'sink' or rotate into other bodies.\n         * Avoid changing this value unless you understand the purpose of `slop` in physics engines.\n         * The default should generally suffice, although very large bodies may require larger values for stable stacking.\n         *\n         * @property slop\n         * @type number\n         * @default 0.05\n         */\n/**\n         * A `Number` that allows per-body time scaling, e.g. a force-field where bodies inside are in slow-motion, while others are at full speed.\n         *\n         * @property timeScale\n         * @type number\n         * @default 1\n         */\n/**\n         * An `Object` that defines the rendering properties to be consumed by the module `Matter.Render`.\n         *\n         * @property render\n         * @type object\n         */\n/**\n         * A flag that indicates if the body should be rendered.\n         *\n         * @property render.visible\n         * @type boolean\n         * @default true\n         */\n/**\n         * Sets the opacity to use when rendering.\n         *\n         * @property render.opacity\n         * @type number\n         * @default 1\n        */\n/**\n         * An `Object` that defines the sprite properties to use when rendering, if any.\n         *\n         * @property render.sprite\n         * @type object\n         */\n/**\n         * An `String` that defines the path to the image to use as the sprite texture, if any.\n         *\n         * @property render.sprite.texture\n         * @type string\n         */\n/**\n         * A `Number` that defines the scaling in the x-axis for the sprite, if any.\n         *\n         * @property render.sprite.xScale\n         * @type number\n         * @default 1\n         */\n/**\n         * A `Number` that defines the scaling in the y-axis for the sprite, if any.\n         *\n         * @property render.sprite.yScale\n         * @type number\n         * @default 1\n         */\n/**\n          * A `Number` that defines the offset in the x-axis for the sprite (normalised by texture width).\n          *\n          * @property render.sprite.xOffset\n          * @type number\n          * @default 0\n          */\n/**\n          * A `Number` that defines the offset in the y-axis for the sprite (normalised by texture height).\n          *\n          * @property render.sprite.yOffset\n          * @type number\n          * @default 0\n          */\n/**\n         * A `Number` that defines the line width to use when rendering the body outline (if a sprite is not defined).\n         * A value of `0` means no outline will be rendered.\n         *\n         * @property render.lineWidth\n         * @type number\n         * @default 0\n         */\n/**\n         * A `String` that defines the fill style to use when rendering the body (if a sprite is not defined).\n         * It is the same as when using a canvas, so it accepts CSS style property values.\n         *\n         * @property render.fillStyle\n         * @type string\n         * @default a random colour\n         */\n/**\n         * A `String` that defines the stroke style to use when rendering the body outline (if a sprite is not defined).\n         * It is the same as when using a canvas, so it accepts CSS style property values.\n         *\n         * @property render.strokeStyle\n         * @type string\n         * @default a random colour\n         */\n/**\n         * An array of unique axis vectors (edge normals) used for collision detection.\n         * These are automatically calculated from the given convex hull (`vertices` array) in `Body.create`.\n         * They are constantly updated by `Body.update` during the simulation.\n         *\n         * @property axes\n         * @type vector[]\n         */\n/**\n         * A `Number` that _measures_ the area of the body's convex hull, calculated at creation by `Body.create`.\n         *\n         * @property area\n         * @type string\n         * @default \n         */\n/**\n         * A `Bounds` object that defines the AABB region for the body.\n         * It is automatically calculated from the given convex hull (`vertices` array) in `Body.create` and constantly updated by `Body.update` during simulation.\n         *\n         * @property bounds\n         * @type bounds\n         */})()},function(e,t,n){var i={};e.exports=i;var o=n(4);(function(){i._motionWakeThreshold=.18;i._motionSleepThreshold=.08;i._minBias=.9;\n/**\n         * Puts bodies to sleep or wakes them up depending on their motion.\n         * @method update\n         * @param {body[]} bodies\n         * @param {number} timeScale\n         */i.update=function(e,t){var n=t*t*t;for(var o=0;o<e.length;o++){var r=e[o],a=r.speed*r.speed+r.angularSpeed*r.angularSpeed;if(0===r.force.x&&0===r.force.y){var s=Math.min(r.motion,a),l=Math.max(r.motion,a);r.motion=i._minBias*s+(1-i._minBias)*l;if(r.sleepThreshold>0&&r.motion<i._motionSleepThreshold*n){r.sleepCounter+=1;r.sleepCounter>=r.sleepThreshold&&i.set(r,true)}else r.sleepCounter>0&&(r.sleepCounter-=1)}else i.set(r,false)}};\n/**\n         * Given a set of colliding pairs, wakes the sleeping bodies involved.\n         * @method afterCollisions\n         * @param {pair[]} pairs\n         * @param {number} timeScale\n         */i.afterCollisions=function(e,t){var n=t*t*t;for(var o=0;o<e.length;o++){var r=e[o];if(r.isActive){var a=r.collision,s=a.bodyA.parent,l=a.bodyB.parent;if(!(s.isSleeping&&l.isSleeping||s.isStatic||l.isStatic)&&(s.isSleeping||l.isSleeping)){var c=s.isSleeping&&!s.isStatic?s:l,u=c===s?l:s;!c.isStatic&&u.motion>i._motionWakeThreshold*n&&i.set(c,false)}}}};\n/**\n         * Set a body as sleeping or awake.\n         * @method set\n         * @param {body} body\n         * @param {boolean} isSleeping\n         */i.set=function(e,t){var n=e.isSleeping;if(t){e.isSleeping=true;e.sleepCounter=e.sleepThreshold;e.positionImpulse.x=0;e.positionImpulse.y=0;e.positionPrev.x=e.position.x;e.positionPrev.y=e.position.y;e.anglePrev=e.angle;e.speed=0;e.angularSpeed=0;e.motion=0;n||o.trigger(e,\"sleepStart\")}else{e.isSleeping=false;e.sleepCounter=0;n&&o.trigger(e,\"sleepEnd\")}}})()},function(e,t,n){var i={};e.exports=i;var o=n(3);var r=n(9);(function(){var e=[];var t={overlap:0,axis:null};var n={overlap:0,axis:null};\n/**\n         * Creates a new collision record.\n         * @method create\n         * @param {body} bodyA The first body part represented by the collision record\n         * @param {body} bodyB The second body part represented by the collision record\n         * @return {collision} A new collision record\n         */i.create=function(e,t){return{pair:null,collided:false,bodyA:e,bodyB:t,parentA:e.parent,parentB:t.parent,depth:0,normal:{x:0,y:0},tangent:{x:0,y:0},penetration:{x:0,y:0},supports:[]}};\n/**\n         * Detect collision between two bodies.\n         * @method collides\n         * @param {body} bodyA\n         * @param {body} bodyB\n         * @param {pairs} [pairs] Optionally reuse collision records from existing pairs.\n         * @return {collision|null} A collision record if detected, otherwise null\n         */i.collides=function(e,a,s){i._overlapAxes(t,e.vertices,a.vertices,e.axes);if(t.overlap<=0)return null;i._overlapAxes(n,a.vertices,e.vertices,a.axes);if(n.overlap<=0)return null;var l,c=s&&s.table[r.id(e,a)];if(c)l=c.collision;else{l=i.create(e,a);l.collided=true;l.bodyA=e.id<a.id?e:a;l.bodyB=e.id<a.id?a:e;l.parentA=l.bodyA.parent;l.parentB=l.bodyB.parent}e=l.bodyA;a=l.bodyB;var u;u=t.overlap<n.overlap?t:n;var f=l.normal,d=l.supports,p=u.axis,v=p.x,y=p.y;if(v*(a.position.x-e.position.x)+y*(a.position.y-e.position.y)<0){f.x=v;f.y=y}else{f.x=-v;f.y=-y}l.tangent.x=-f.y;l.tangent.y=f.x;l.depth=u.overlap;l.penetration.x=f.x*l.depth;l.penetration.y=f.y*l.depth;var m=i._findSupports(e,a,f,1),g=0;o.contains(e.vertices,m[0])&&(d[g++]=m[0]);o.contains(e.vertices,m[1])&&(d[g++]=m[1]);if(g<2){var x=i._findSupports(a,e,f,-1);o.contains(a.vertices,x[0])&&(d[g++]=x[0]);g<2&&o.contains(a.vertices,x[1])&&(d[g++]=x[1])}0===g&&(d[g++]=m[0]);d.length=g;return l};\n/**\n         * Find the overlap between two sets of vertices.\n         * @method _overlapAxes\n         * @private\n         * @param {object} result\n         * @param {vertices} verticesA\n         * @param {vertices} verticesB\n         * @param {axes} axes\n         */i._overlapAxes=function(e,t,n,i){var o,r,a,s,l,c,u=t.length,f=n.length,d=t[0].x,p=t[0].y,v=n[0].x,y=n[0].y,m=i.length,g=Number.MAX_VALUE,x=0;for(l=0;l<m;l++){var h=i[l],b=h.x,S=h.y,w=d*b+p*S,_=v*b+y*S,A=w,P=_;for(c=1;c<u;c+=1){s=t[c].x*b+t[c].y*S;s>A?A=s:s<w&&(w=s)}for(c=1;c<f;c+=1){s=n[c].x*b+n[c].y*S;s>P?P=s:s<_&&(_=s)}r=A-_;a=P-w;o=r<a?r:a;if(o<g){g=o;x=l;if(o<=0)break}}e.axis=i[x];e.overlap=g};\n/**\n         * Projects vertices on an axis and returns an interval.\n         * @method _projectToAxis\n         * @private\n         * @param {} projection\n         * @param {} vertices\n         * @param {} axis\n         */i._projectToAxis=function(e,t,n){var i=t[0].x*n.x+t[0].y*n.y,o=i;for(var r=1;r<t.length;r+=1){var a=t[r].x*n.x+t[r].y*n.y;a>o?o=a:a<i&&(i=a)}e.min=i;e.max=o};\n/**\n         * Finds supporting vertices given two bodies along a given direction using hill-climbing.\n         * @method _findSupports\n         * @private\n         * @param {body} bodyA\n         * @param {body} bodyB\n         * @param {vector} normal\n         * @param {number} direction\n         * @return [vector]\n         */i._findSupports=function(t,n,i,o){var r,a,s,l,c,u=n.vertices,f=u.length,d=t.position.x,p=t.position.y,v=i.x*o,y=i.y*o,m=Number.MAX_VALUE;for(c=0;c<f;c+=1){a=u[c];l=v*(d-a.x)+y*(p-a.y);if(l<m){m=l;r=a}}s=u[(f+r.index-1)%f];m=v*(d-s.x)+y*(p-s.y);a=u[(r.index+1)%f];if(v*(d-a.x)+y*(p-a.y)<m){e[0]=r;e[1]=a;return e}e[0]=r;e[1]=s;return e};\n/**\n         * A reference to the pair using this collision record, if there is one.\n         *\n         * @property pair\n         * @type {pair|null}\n         * @default null\n         */\n/**\n         * A flag that indicates if the bodies were colliding when the collision was last updated.\n         * \n         * @property collided\n         * @type boolean\n         * @default false\n         */\n/**\n         * The first body part represented by the collision (see also `collision.parentA`).\n         * \n         * @property bodyA\n         * @type body\n         */\n/**\n         * The second body part represented by the collision (see also `collision.parentB`).\n         * \n         * @property bodyB\n         * @type body\n         */\n/**\n         * The first body represented by the collision (i.e. `collision.bodyA.parent`).\n         * \n         * @property parentA\n         * @type body\n         */\n/**\n         * The second body represented by the collision (i.e. `collision.bodyB.parent`).\n         * \n         * @property parentB\n         * @type body\n         */\n/**\n         * A `Number` that represents the minimum separating distance between the bodies along the collision normal.\n         *\n         * @readOnly\n         * @property depth\n         * @type number\n         * @default 0\n         */\n/**\n         * A normalised `Vector` that represents the direction between the bodies that provides the minimum separating distance.\n         *\n         * @property normal\n         * @type vector\n         * @default { x: 0, y: 0 }\n         */\n/**\n         * A normalised `Vector` that is the tangent direction to the collision normal.\n         *\n         * @property tangent\n         * @type vector\n         * @default { x: 0, y: 0 }\n         */\n/**\n         * A `Vector` that represents the direction and depth of the collision.\n         *\n         * @property penetration\n         * @type vector\n         * @default { x: 0, y: 0 }\n         */\n/**\n         * An array of body vertices that represent the support points in the collision.\n         * These are the deepest vertices (along the collision normal) of each body that are contained by the other body's vertices.\n         *\n         * @property supports\n         * @type vector[]\n         * @default []\n         */})()},function(e,t,n){var i={};e.exports=i;var o=n(17);(function(){\n/**\n         * Creates a pair.\n         * @method create\n         * @param {collision} collision\n         * @param {number} timestamp\n         * @return {pair} A new pair\n         */\ni.create=function(e,t){var n=e.bodyA,o=e.bodyB;var r={id:i.id(n,o),bodyA:n,bodyB:o,collision:e,contacts:[],activeContacts:[],separation:0,isActive:true,confirmedActive:true,isSensor:n.isSensor||o.isSensor,timeCreated:t,timeUpdated:t,inverseMass:0,friction:0,frictionStatic:0,restitution:0,slop:0};i.update(r,e,t);return r};\n/**\n         * Updates a pair given a collision.\n         * @method update\n         * @param {pair} pair\n         * @param {collision} collision\n         * @param {number} timestamp\n         */i.update=function(e,t,n){var i=e.contacts,r=t.supports,a=e.activeContacts,s=t.parentA,l=t.parentB,c=s.vertices.length;e.isActive=true;e.timeUpdated=n;e.collision=t;e.separation=t.depth;e.inverseMass=s.inverseMass+l.inverseMass;e.friction=s.friction<l.friction?s.friction:l.friction;e.frictionStatic=s.frictionStatic>l.frictionStatic?s.frictionStatic:l.frictionStatic;e.restitution=s.restitution>l.restitution?s.restitution:l.restitution;e.slop=s.slop>l.slop?s.slop:l.slop;t.pair=e;a.length=0;for(var u=0;u<r.length;u++){var f=r[u],d=f.body===s?f.index:c+f.index,p=i[d];p?a.push(p):a.push(i[d]=o.create(f))}};\n/**\n         * Set a pair as active or inactive.\n         * @method setActive\n         * @param {pair} pair\n         * @param {bool} isActive\n         * @param {number} timestamp\n         */i.setActive=function(e,t,n){if(t){e.isActive=true;e.timeUpdated=n}else{e.isActive=false;e.activeContacts.length=0}};\n/**\n         * Get the id for the given pair.\n         * @method id\n         * @param {body} bodyA\n         * @param {body} bodyB\n         * @return {string} Unique pairId\n         */i.id=function(e,t){return e.id<t.id?\"A\"+e.id+\"B\"+t.id:\"A\"+t.id+\"B\"+e.id}})()},function(e,t,n){var i={};e.exports=i;var o=n(3);var r=n(2);var a=n(7);var s=n(1);var l=n(11);var c=n(0);(function(){i._warming=.4;i._torqueDampen=1;i._minLength=1e-6;\n/**\n         * Creates a new constraint.\n         * All properties have default values, and many are pre-calculated automatically based on other properties.\n         * To simulate a revolute constraint (or pin joint) set `length: 0` and a high `stiffness` value (e.g. `0.7` or above).\n         * If the constraint is unstable, try lowering the `stiffness` value and / or increasing `engine.constraintIterations`.\n         * For compound bodies, constraints must be applied to the parent body (not one of its parts).\n         * See the properties section below for detailed information on what you can pass via the `options` object.\n         * @method create\n         * @param {} options\n         * @return {constraint} constraint\n         */i.create=function(e){var t=e;t.bodyA&&!t.pointA&&(t.pointA={x:0,y:0});t.bodyB&&!t.pointB&&(t.pointB={x:0,y:0});var n=t.bodyA?r.add(t.bodyA.position,t.pointA):t.pointA,i=t.bodyB?r.add(t.bodyB.position,t.pointB):t.pointB,o=r.magnitude(r.sub(n,i));t.length=\"undefined\"!==typeof t.length?t.length:o;t.id=t.id||c.nextId();t.label=t.label||\"Constraint\";t.type=\"constraint\";t.stiffness=t.stiffness||(t.length>0?1:.7);t.damping=t.damping||0;t.angularStiffness=t.angularStiffness||0;t.angleA=t.bodyA?t.bodyA.angle:t.angleA;t.angleB=t.bodyB?t.bodyB.angle:t.angleB;t.plugin={};var a={visible:true,lineWidth:2,strokeStyle:\"#ffffff\",type:\"line\",anchors:true};if(0===t.length&&t.stiffness>.1){a.type=\"pin\";a.anchors=false}else t.stiffness<.9&&(a.type=\"spring\");t.render=c.extend(a,t.render);return t};\n/**\n         * Prepares for solving by constraint warming.\n         * @private\n         * @method preSolveAll\n         * @param {body[]} bodies\n         */i.preSolveAll=function(e){for(var t=0;t<e.length;t+=1){var n=e[t],i=n.constraintImpulse;if(!(n.isStatic||0===i.x&&0===i.y&&0===i.angle)){n.position.x+=i.x;n.position.y+=i.y;n.angle+=i.angle}}};\n/**\n         * Solves all constraints in a list of collisions.\n         * @private\n         * @method solveAll\n         * @param {constraint[]} constraints\n         * @param {number} timeScale\n         */i.solveAll=function(e,t){for(var n=0;n<e.length;n+=1){var o=e[n],r=!o.bodyA||o.bodyA&&o.bodyA.isStatic,a=!o.bodyB||o.bodyB&&o.bodyB.isStatic;(r||a)&&i.solve(e[n],t)}for(n=0;n<e.length;n+=1){o=e[n];r=!o.bodyA||o.bodyA&&o.bodyA.isStatic;a=!o.bodyB||o.bodyB&&o.bodyB.isStatic;r||a||i.solve(e[n],t)}};\n/**\n         * Solves a distance constraint with Gauss-Siedel method.\n         * @private\n         * @method solve\n         * @param {constraint} constraint\n         * @param {number} timeScale\n         */i.solve=function(e,t){var n=e.bodyA,o=e.bodyB,a=e.pointA,s=e.pointB;if(n||o){if(n&&!n.isStatic){r.rotate(a,n.angle-e.angleA,a);e.angleA=n.angle}if(o&&!o.isStatic){r.rotate(s,o.angle-e.angleB,s);e.angleB=o.angle}var l=a,c=s;n&&(l=r.add(n.position,a));o&&(c=r.add(o.position,s));if(l&&c){var u=r.sub(l,c),f=r.magnitude(u);f<i._minLength&&(f=i._minLength);var d,p,v,y,m,g=(f-e.length)/f,x=e.stiffness<1?e.stiffness*t:e.stiffness,h=r.mult(u,g*x),b=(n?n.inverseMass:0)+(o?o.inverseMass:0),S=(n?n.inverseInertia:0)+(o?o.inverseInertia:0),w=b+S;if(e.damping){var _=r.create();v=r.div(u,f);m=r.sub(o&&r.sub(o.position,o.positionPrev)||_,n&&r.sub(n.position,n.positionPrev)||_);y=r.dot(v,m)}if(n&&!n.isStatic){p=n.inverseMass/b;n.constraintImpulse.x-=h.x*p;n.constraintImpulse.y-=h.y*p;n.position.x-=h.x*p;n.position.y-=h.y*p;if(e.damping){n.positionPrev.x-=e.damping*v.x*y*p;n.positionPrev.y-=e.damping*v.y*y*p}d=r.cross(a,h)/w*i._torqueDampen*n.inverseInertia*(1-e.angularStiffness);n.constraintImpulse.angle-=d;n.angle-=d}if(o&&!o.isStatic){p=o.inverseMass/b;o.constraintImpulse.x+=h.x*p;o.constraintImpulse.y+=h.y*p;o.position.x+=h.x*p;o.position.y+=h.y*p;if(e.damping){o.positionPrev.x+=e.damping*v.x*y*p;o.positionPrev.y+=e.damping*v.y*y*p}d=r.cross(s,h)/w*i._torqueDampen*o.inverseInertia*(1-e.angularStiffness);o.constraintImpulse.angle+=d;o.angle+=d}}}};\n/**\n         * Performs body updates required after solving constraints.\n         * @private\n         * @method postSolveAll\n         * @param {body[]} bodies\n         */i.postSolveAll=function(e){for(var t=0;t<e.length;t++){var n=e[t],c=n.constraintImpulse;if(!(n.isStatic||0===c.x&&0===c.y&&0===c.angle)){a.set(n,false);for(var u=0;u<n.parts.length;u++){var f=n.parts[u];o.translate(f.vertices,c);if(u>0){f.position.x+=c.x;f.position.y+=c.y}if(0!==c.angle){o.rotate(f.vertices,c.angle,n.position);l.rotate(f.axes,c.angle);u>0&&r.rotateAbout(f.position,c.angle,n.position,f.position)}s.update(f.bounds,f.vertices,n.velocity)}c.angle*=i._warming;c.x*=i._warming;c.y*=i._warming}}};\n/**\n         * Returns the world-space position of `constraint.pointA`, accounting for `constraint.bodyA`.\n         * @method pointAWorld\n         * @param {constraint} constraint\n         * @returns {vector} the world-space position\n         */i.pointAWorld=function(e){return{x:(e.bodyA?e.bodyA.position.x:0)+e.pointA.x,y:(e.bodyA?e.bodyA.position.y:0)+e.pointA.y}};\n/**\n         * Returns the world-space position of `constraint.pointB`, accounting for `constraint.bodyB`.\n         * @method pointBWorld\n         * @param {constraint} constraint\n         * @returns {vector} the world-space position\n         */i.pointBWorld=function(e){return{x:(e.bodyB?e.bodyB.position.x:0)+e.pointB.x,y:(e.bodyB?e.bodyB.position.y:0)+e.pointB.y}};\n/**\n         * An integer `Number` uniquely identifying number generated in `Composite.create` by `Common.nextId`.\n         *\n         * @property id\n         * @type number\n         */\n/**\n         * A `String` denoting the type of object.\n         *\n         * @property type\n         * @type string\n         * @default \"constraint\"\n         * @readOnly\n         */\n/**\n         * An arbitrary `String` name to help the user identify and manage bodies.\n         *\n         * @property label\n         * @type string\n         * @default \"Constraint\"\n         */\n/**\n         * An `Object` that defines the rendering properties to be consumed by the module `Matter.Render`.\n         *\n         * @property render\n         * @type object\n         */\n/**\n         * A flag that indicates if the constraint should be rendered.\n         *\n         * @property render.visible\n         * @type boolean\n         * @default true\n         */\n/**\n         * A `Number` that defines the line width to use when rendering the constraint outline.\n         * A value of `0` means no outline will be rendered.\n         *\n         * @property render.lineWidth\n         * @type number\n         * @default 2\n         */\n/**\n         * A `String` that defines the stroke style to use when rendering the constraint outline.\n         * It is the same as when using a canvas, so it accepts CSS style property values.\n         *\n         * @property render.strokeStyle\n         * @type string\n         * @default a random colour\n         */\n/**\n         * A `String` that defines the constraint rendering type. \n         * The possible values are 'line', 'pin', 'spring'.\n         * An appropriate render type will be automatically chosen unless one is given in options.\n         *\n         * @property render.type\n         * @type string\n         * @default 'line'\n         */\n/**\n         * A `Boolean` that defines if the constraint's anchor points should be rendered.\n         *\n         * @property render.anchors\n         * @type boolean\n         * @default true\n         */\n/**\n         * The first possible `Body` that this constraint is attached to.\n         *\n         * @property bodyA\n         * @type body\n         * @default null\n         */\n/**\n         * The second possible `Body` that this constraint is attached to.\n         *\n         * @property bodyB\n         * @type body\n         * @default null\n         */\n/**\n         * A `Vector` that specifies the offset of the constraint from center of the `constraint.bodyA` if defined, otherwise a world-space position.\n         *\n         * @property pointA\n         * @type vector\n         * @default { x: 0, y: 0 }\n         */\n/**\n         * A `Vector` that specifies the offset of the constraint from center of the `constraint.bodyB` if defined, otherwise a world-space position.\n         *\n         * @property pointB\n         * @type vector\n         * @default { x: 0, y: 0 }\n         */\n/**\n         * A `Number` that specifies the stiffness of the constraint, i.e. the rate at which it returns to its resting `constraint.length`.\n         * A value of `1` means the constraint should be very stiff.\n         * A value of `0.2` means the constraint acts like a soft spring.\n         *\n         * @property stiffness\n         * @type number\n         * @default 1\n         */\n/**\n         * A `Number` that specifies the damping of the constraint, \n         * i.e. the amount of resistance applied to each body based on their velocities to limit the amount of oscillation.\n         * Damping will only be apparent when the constraint also has a very low `stiffness`.\n         * A value of `0.1` means the constraint will apply heavy damping, resulting in little to no oscillation.\n         * A value of `0` means the constraint will apply no damping.\n         *\n         * @property damping\n         * @type number\n         * @default 0\n         */\n/**\n         * A `Number` that specifies the target resting length of the constraint. \n         * It is calculated automatically in `Constraint.create` from initial positions of the `constraint.bodyA` and `constraint.bodyB`.\n         *\n         * @property length\n         * @type number\n         */\n/**\n         * An object reserved for storing plugin-specific properties.\n         *\n         * @property plugin\n         * @type {}\n         */})()},function(e,t,n){var i={};e.exports=i;var o=n(2);var r=n(0);(function(){\n/**\n         * Creates a new set of axes from the given vertices.\n         * @method fromVertices\n         * @param {vertices} vertices\n         * @return {axes} A new axes from the given vertices\n         */\ni.fromVertices=function(e){var t={};for(var n=0;n<e.length;n++){var i=(n+1)%e.length,a=o.normalise({x:e[i].y-e[n].y,y:e[n].x-e[i].x}),s=0===a.y?Infinity:a.x/a.y;s=s.toFixed(3).toString();t[s]=a}return r.values(t)};\n/**\n         * Rotates a set of axes by the given angle.\n         * @method rotate\n         * @param {axes} axes\n         * @param {number} angle\n         */i.rotate=function(e,t){if(0!==t){var n=Math.cos(t),i=Math.sin(t);for(var o=0;o<e.length;o++){var r,a=e[o];r=a.x*n-a.y*i;a.y=a.x*i+a.y*n;a.x=r}}}})()},function(e,t,n){var i={};e.exports=i;var o=n(3);var r=n(0);var a=n(6);var s=n(1);var l=n(2);(function(){\n/**\n         * Creates a new rigid body model with a rectangle hull. \n         * The options parameter is an object that specifies any properties you wish to override the defaults.\n         * See the properties section of the `Matter.Body` module for detailed information on what you can pass via the `options` object.\n         * @method rectangle\n         * @param {number} x\n         * @param {number} y\n         * @param {number} width\n         * @param {number} height\n         * @param {object} [options]\n         * @return {body} A new rectangle body\n         */\ni.rectangle=function(e,t,n,i,s){s=s||{};var l={label:\"Rectangle Body\",position:{x:e,y:t},vertices:o.fromPath(\"L 0 0 L \"+n+\" 0 L \"+n+\" \"+i+\" L 0 \"+i)};if(s.chamfer){var c=s.chamfer;l.vertices=o.chamfer(l.vertices,c.radius,c.quality,c.qualityMin,c.qualityMax);delete s.chamfer}return a.create(r.extend({},l,s))};\n/**\n         * Creates a new rigid body model with a trapezoid hull. \n         * The options parameter is an object that specifies any properties you wish to override the defaults.\n         * See the properties section of the `Matter.Body` module for detailed information on what you can pass via the `options` object.\n         * @method trapezoid\n         * @param {number} x\n         * @param {number} y\n         * @param {number} width\n         * @param {number} height\n         * @param {number} slope\n         * @param {object} [options]\n         * @return {body} A new trapezoid body\n         */i.trapezoid=function(e,t,n,i,s,l){l=l||{};s*=.5;var c=(1-2*s)*n;var u,f=n*s,d=f+c,p=d+f;u=s<.5?\"L 0 0 L \"+f+\" \"+-i+\" L \"+d+\" \"+-i+\" L \"+p+\" 0\":\"L 0 0 L \"+d+\" \"+-i+\" L \"+p+\" 0\";var v={label:\"Trapezoid Body\",position:{x:e,y:t},vertices:o.fromPath(u)};if(l.chamfer){var y=l.chamfer;v.vertices=o.chamfer(v.vertices,y.radius,y.quality,y.qualityMin,y.qualityMax);delete l.chamfer}return a.create(r.extend({},v,l))};\n/**\n         * Creates a new rigid body model with a circle hull. \n         * The options parameter is an object that specifies any properties you wish to override the defaults.\n         * See the properties section of the `Matter.Body` module for detailed information on what you can pass via the `options` object.\n         * @method circle\n         * @param {number} x\n         * @param {number} y\n         * @param {number} radius\n         * @param {object} [options]\n         * @param {number} [maxSides]\n         * @return {body} A new circle body\n         */i.circle=function(e,t,n,o,a){o=o||{};var s={label:\"Circle Body\",circleRadius:n};a=a||25;var l=Math.ceil(Math.max(10,Math.min(a,n)));l%2===1&&(l+=1);return i.polygon(e,t,l,n,r.extend({},s,o))};\n/**\n         * Creates a new rigid body model with a regular polygon hull with the given number of sides. \n         * The options parameter is an object that specifies any properties you wish to override the defaults.\n         * See the properties section of the `Matter.Body` module for detailed information on what you can pass via the `options` object.\n         * @method polygon\n         * @param {number} x\n         * @param {number} y\n         * @param {number} sides\n         * @param {number} radius\n         * @param {object} [options]\n         * @return {body} A new regular polygon body\n         */i.polygon=function(e,t,n,s,l){l=l||{};if(n<3)return i.circle(e,t,s,l);var c=2*Math.PI/n,u=\"\",f=.5*c;for(var d=0;d<n;d+=1){var p=f+d*c,v=Math.cos(p)*s,y=Math.sin(p)*s;u+=\"L \"+v.toFixed(3)+\" \"+y.toFixed(3)+\" \"}var m={label:\"Polygon Body\",position:{x:e,y:t},vertices:o.fromPath(u)};if(l.chamfer){var g=l.chamfer;m.vertices=o.chamfer(m.vertices,g.radius,g.quality,g.qualityMin,g.qualityMax);delete l.chamfer}return a.create(r.extend({},m,l))};\n/**\n         * Utility to create a compound body based on set(s) of vertices.\n         * \n         * _Note:_ To optionally enable automatic concave vertices decomposition the [poly-decomp](https://github.com/schteppe/poly-decomp.js) \n         * package must be first installed and provided see `Common.setDecomp`, otherwise the convex hull of each vertex set will be used.\n         * \n         * The resulting vertices are reorientated about their centre of mass,\n         * and offset such that `body.position` corresponds to this point.\n         * \n         * The resulting offset may be found if needed by subtracting `body.bounds` from the original input bounds.\n         * To later move the centre of mass see `Body.setCentre`.\n         * \n         * Note that automatic conconcave decomposition results are not always optimal. \n         * For best results, simplify the input vertices as much as possible first.\n         * By default this function applies some addtional simplification to help.\n         * \n         * Some outputs may also require further manual processing afterwards to be robust.\n         * In particular some parts may need to be overlapped to avoid collision gaps.\n         * Thin parts and sharp points should be avoided or removed where possible.\n         *\n         * The options parameter object specifies any `Matter.Body` properties you wish to override the defaults.\n         * \n         * See the properties section of the `Matter.Body` module for detailed information on what you can pass via the `options` object.\n         * @method fromVertices\n         * @param {number} x\n         * @param {number} y\n         * @param {array} vertexSets One or more arrays of vertex points e.g. `[[{ x: 0, y: 0 }...], ...]`.\n         * @param {object} [options] The body options.\n         * @param {bool} [flagInternal=false] Optionally marks internal edges with `isInternal`.\n         * @param {number} [removeCollinear=0.01] Threshold when simplifying vertices along the same edge.\n         * @param {number} [minimumArea=10] Threshold when removing small parts.\n         * @param {number} [removeDuplicatePoints=0.01] Threshold when simplifying nearby vertices.\n         * @return {body}\n         */i.fromVertices=function(e,t,n,i,c,u,f,d){var p,v,y,m,g,x,h,b,S,w,_,A=r.getDecomp();p=Boolean(A&&A.quickDecomp);i=i||{};y=[];c=\"undefined\"!==typeof c&&c;u=\"undefined\"!==typeof u?u:.01;f=\"undefined\"!==typeof f?f:10;d=\"undefined\"!==typeof d?d:.01;r.isArray(n[0])||(n=[n]);for(w=0;w<n.length;w+=1){x=n[w];m=o.isConvex(x);g=!m;g&&!p&&r.warnOnce(\"Bodies.fromVertices: Install the 'poly-decomp' library and use Common.setDecomp or provide 'decomp' as a global to decompose concave vertices.\");if(m||!p){x=m?o.clockwiseSort(x):o.hull(x);y.push({position:{x:e,y:t},vertices:x})}else{var P=x.map((function(e){return[e.x,e.y]}));A.makeCCW(P);false!==u&&A.removeCollinearPoints(P,u);false!==d&&A.removeDuplicatePoints&&A.removeDuplicatePoints(P,d);var C=A.quickDecomp(P);for(h=0;h<C.length;h++){var k=C[h];var M=k.map((function(e){return{x:e[0],y:e[1]}}));f>0&&o.area(M)<f||y.push({position:o.centre(M),vertices:M})}}}for(h=0;h<y.length;h++)y[h]=a.create(r.extend(y[h],i));if(c){var B=5;for(h=0;h<y.length;h++){var I=y[h];for(b=h+1;b<y.length;b++){var T=y[b];if(s.overlaps(I.bounds,T.bounds)){var R=I.vertices,E=T.vertices;for(S=0;S<I.vertices.length;S++)for(_=0;_<T.vertices.length;_++){var V=l.magnitudeSquared(l.sub(R[(S+1)%R.length],E[_])),L=l.magnitudeSquared(l.sub(R[S],E[(_+1)%E.length]));if(V<B&&L<B){R[S].isInternal=true;E[_].isInternal=true}}}}}}if(y.length>1){v=a.create(r.extend({parts:y.slice(0)},i));a.setPosition(v,{x:e,y:t});return v}return y[0]}})()},function(e,t,n){var i={};e.exports=i;var o=n(0);(function(){\n/**\n         * Creates a mouse input.\n         * @method create\n         * @param {HTMLElement} element\n         * @return {mouse} A new mouse\n         */\ni.create=function(e){var t={};e||o.log(\"Mouse.create: element was undefined, defaulting to document.body\",\"warn\");t.element=e||document.body;t.absolute={x:0,y:0};t.position={x:0,y:0};t.mousedownPosition={x:0,y:0};t.mouseupPosition={x:0,y:0};t.offset={x:0,y:0};t.scale={x:1,y:1};t.wheelDelta=0;t.button=-1;t.pixelRatio=parseInt(t.element.getAttribute(\"data-pixel-ratio\"),10)||1;t.sourceEvents={mousemove:null,mousedown:null,mouseup:null,mousewheel:null};t.mousemove=function(e){var n=i._getRelativeMousePosition(e,t.element,t.pixelRatio),o=e.changedTouches;if(o){t.button=0;e.preventDefault()}t.absolute.x=n.x;t.absolute.y=n.y;t.position.x=t.absolute.x*t.scale.x+t.offset.x;t.position.y=t.absolute.y*t.scale.y+t.offset.y;t.sourceEvents.mousemove=e};t.mousedown=function(e){var n=i._getRelativeMousePosition(e,t.element,t.pixelRatio),o=e.changedTouches;if(o){t.button=0;e.preventDefault()}else t.button=e.button;t.absolute.x=n.x;t.absolute.y=n.y;t.position.x=t.absolute.x*t.scale.x+t.offset.x;t.position.y=t.absolute.y*t.scale.y+t.offset.y;t.mousedownPosition.x=t.position.x;t.mousedownPosition.y=t.position.y;t.sourceEvents.mousedown=e};t.mouseup=function(e){var n=i._getRelativeMousePosition(e,t.element,t.pixelRatio),o=e.changedTouches;o&&e.preventDefault();t.button=-1;t.absolute.x=n.x;t.absolute.y=n.y;t.position.x=t.absolute.x*t.scale.x+t.offset.x;t.position.y=t.absolute.y*t.scale.y+t.offset.y;t.mouseupPosition.x=t.position.x;t.mouseupPosition.y=t.position.y;t.sourceEvents.mouseup=e};t.mousewheel=function(e){t.wheelDelta=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));e.preventDefault()};i.setElement(t,t.element);return t};\n/**\n         * Sets the element the mouse is bound to (and relative to).\n         * @method setElement\n         * @param {mouse} mouse\n         * @param {HTMLElement} element\n         */i.setElement=function(e,t){e.element=t;t.addEventListener(\"mousemove\",e.mousemove);t.addEventListener(\"mousedown\",e.mousedown);t.addEventListener(\"mouseup\",e.mouseup);t.addEventListener(\"mousewheel\",e.mousewheel);t.addEventListener(\"DOMMouseScroll\",e.mousewheel);t.addEventListener(\"touchmove\",e.mousemove);t.addEventListener(\"touchstart\",e.mousedown);t.addEventListener(\"touchend\",e.mouseup)};\n/**\n         * Clears all captured source events.\n         * @method clearSourceEvents\n         * @param {mouse} mouse\n         */i.clearSourceEvents=function(e){e.sourceEvents.mousemove=null;e.sourceEvents.mousedown=null;e.sourceEvents.mouseup=null;e.sourceEvents.mousewheel=null;e.wheelDelta=0};\n/**\n         * Sets the mouse position offset.\n         * @method setOffset\n         * @param {mouse} mouse\n         * @param {vector} offset\n         */i.setOffset=function(e,t){e.offset.x=t.x;e.offset.y=t.y;e.position.x=e.absolute.x*e.scale.x+e.offset.x;e.position.y=e.absolute.y*e.scale.y+e.offset.y};\n/**\n         * Sets the mouse position scale.\n         * @method setScale\n         * @param {mouse} mouse\n         * @param {vector} scale\n         */i.setScale=function(e,t){e.scale.x=t.x;e.scale.y=t.y;e.position.x=e.absolute.x*e.scale.x+e.offset.x;e.position.y=e.absolute.y*e.scale.y+e.offset.y};\n/**\n         * Gets the mouse position relative to an element given a screen pixel ratio.\n         * @method _getRelativeMousePosition\n         * @private\n         * @param {} event\n         * @param {} element\n         * @param {number} pixelRatio\n         * @return {}\n         */i._getRelativeMousePosition=function(e,t,n){var i,o,r=t.getBoundingClientRect(),a=document.documentElement||document.body.parentNode||document.body,s=void 0!==window.pageXOffset?window.pageXOffset:a.scrollLeft,l=void 0!==window.pageYOffset?window.pageYOffset:a.scrollTop,c=e.changedTouches;if(c){i=c[0].pageX-r.left-s;o=c[0].pageY-r.top-l}else{i=e.pageX-r.left-s;o=e.pageY-r.top-l}return{x:i/(t.clientWidth/(t.width||t.clientWidth)*n),y:o/(t.clientHeight/(t.height||t.clientHeight)*n)}}})()},function(e,t,n){var i={};e.exports=i;var o=n(0);var r=n(8);(function(){\n/**\n         * Creates a new collision detector.\n         * @method create\n         * @param {} options\n         * @return {detector} A new collision detector\n         */\ni.create=function(e){var t={bodies:[],pairs:null};return o.extend(t,e)};\n/**\n         * Sets the list of bodies in the detector.\n         * @method setBodies\n         * @param {detector} detector\n         * @param {body[]} bodies\n         */i.setBodies=function(e,t){e.bodies=t.slice(0)};\n/**\n         * Clears the detector including its list of bodies.\n         * @method clear\n         * @param {detector} detector\n         */i.clear=function(e){e.bodies=[]};\n/**\n         * Efficiently finds all collisions among all the bodies in `detector.bodies` using a broadphase algorithm.\n         * \n         * _Note:_ The specific ordering of collisions returned is not guaranteed between releases and may change for performance reasons.\n         * If a specific ordering is required then apply a sort to the resulting array.\n         * @method collisions\n         * @param {detector} detector\n         * @return {collision[]} collisions\n         */i.collisions=function(e){var t,n,o=[],a=e.pairs,s=e.bodies,l=s.length,c=i.canCollide,u=r.collides;s.sort(i._compareBoundsX);for(t=0;t<l;t++){var f=s[t],d=f.bounds,p=f.bounds.max.x,v=f.bounds.max.y,y=f.bounds.min.y,m=f.isStatic||f.isSleeping,g=f.parts.length,x=1===g;for(n=t+1;n<l;n++){var h=s[n],b=h.bounds;if(b.min.x>p)break;if(!(v<b.min.y||y>b.max.y)&&((!m||!h.isStatic&&!h.isSleeping)&&c(f.collisionFilter,h.collisionFilter))){var S=h.parts.length;if(x&&1===S){var w=u(f,h,a);w&&o.push(w)}else{var _=g>1?1:0,A=S>1?1:0;for(var P=_;P<g;P++){var C=f.parts[P];d=C.bounds;for(var k=A;k<S;k++){var M=h.parts[k];b=M.bounds;if(!(d.min.x>b.max.x||d.max.x<b.min.x||d.max.y<b.min.y||d.min.y>b.max.y)){w=u(C,M,a);w&&o.push(w)}}}}}}}return o};\n/**\n         * Returns `true` if both supplied collision filters will allow a collision to occur.\n         * See `body.collisionFilter` for more information.\n         * @method canCollide\n         * @param {} filterA\n         * @param {} filterB\n         * @return {bool} `true` if collision can occur\n         */i.canCollide=function(e,t){return e.group===t.group&&0!==e.group?e.group>0:0!==(e.mask&t.category)&&0!==(t.mask&e.category)};\n/**\n         * The comparison function used in the broadphase algorithm.\n         * Returns the signed delta of the bodies bounds on the x-axis.\n         * @private\n         * @method _sortCompare\n         * @param {body} bodyA\n         * @param {body} bodyB\n         * @return {number} The signed delta used for sorting\n         */i._compareBoundsX=function(e,t){return e.bounds.min.x-t.bounds.min.x};\n/**\n         * The array of `Matter.Body` between which the detector finds collisions.\n         * \n         * _Note:_ The order of bodies in this array _is not fixed_ and will be continually managed by the detector.\n         * @property bodies\n         * @type body[]\n         * @default []\n         */\n/**\n         * Optional. A `Matter.Pairs` object from which previous collision objects may be reused. Intended for internal `Matter.Engine` usage.\n         * @property pairs\n         * @type {pairs|null}\n         * @default null\n         */})()},function(e,t,n){var i={};e.exports=i;var o=n(0);(function(){i._registry={};\n/**\n         * Registers a plugin object so it can be resolved later by name.\n         * @method register\n         * @param plugin {} The plugin to register.\n         * @return {object} The plugin.\n         */i.register=function(e){i.isPlugin(e)||o.warn(\"Plugin.register:\",i.toString(e),\"does not implement all required fields.\");if(e.name in i._registry){var t=i._registry[e.name],n=i.versionParse(e.version).number,r=i.versionParse(t.version).number;if(n>r){o.warn(\"Plugin.register:\",i.toString(t),\"was upgraded to\",i.toString(e));i._registry[e.name]=e}else n<r?o.warn(\"Plugin.register:\",i.toString(t),\"can not be downgraded to\",i.toString(e)):e!==t&&o.warn(\"Plugin.register:\",i.toString(e),\"is already registered to different plugin object\")}else i._registry[e.name]=e;return e};\n/**\n         * Resolves a dependency to a plugin object from the registry if it exists. \n         * The `dependency` may contain a version, but only the name matters when resolving.\n         * @method resolve\n         * @param dependency {string} The dependency.\n         * @return {object} The plugin if resolved, otherwise `undefined`.\n         */i.resolve=function(e){return i._registry[i.dependencyParse(e).name]};\n/**\n         * Returns a pretty printed plugin name and version.\n         * @method toString\n         * @param plugin {} The plugin.\n         * @return {string} Pretty printed plugin name and version.\n         */i.toString=function(e){return\"string\"===typeof e?e:(e.name||\"anonymous\")+\"@\"+(e.version||e.range||\"0.0.0\")};\n/**\n         * Returns `true` if the object meets the minimum standard to be considered a plugin.\n         * This means it must define the following properties:\n         * - `name`\n         * - `version`\n         * - `install`\n         * @method isPlugin\n         * @param obj {} The obj to test.\n         * @return {boolean} `true` if the object can be considered a plugin otherwise `false`.\n         */i.isPlugin=function(e){return e&&e.name&&e.version&&e.install};\n/**\n         * Returns `true` if a plugin with the given `name` been installed on `module`.\n         * @method isUsed\n         * @param module {} The module.\n         * @param name {string} The plugin name.\n         * @return {boolean} `true` if a plugin with the given `name` been installed on `module`, otherwise `false`.\n         */i.isUsed=function(e,t){return e.used.indexOf(t)>-1};\n/**\n         * Returns `true` if `plugin.for` is applicable to `module` by comparing against `module.name` and `module.version`.\n         * If `plugin.for` is not specified then it is assumed to be applicable.\n         * The value of `plugin.for` is a string of the format `'module-name'` or `'module-name@version'`.\n         * @method isFor\n         * @param plugin {} The plugin.\n         * @param module {} The module.\n         * @return {boolean} `true` if `plugin.for` is applicable to `module`, otherwise `false`.\n         */i.isFor=function(e,t){var n=e.for&&i.dependencyParse(e.for);return!e.for||t.name===n.name&&i.versionSatisfies(t.version,n.range)};\n/**\n         * Installs the plugins by calling `plugin.install` on each plugin specified in `plugins` if passed, otherwise `module.uses`.\n         * For installing plugins on `Matter` see the convenience function `Matter.use`.\n         * Plugins may be specified either by their name or a reference to the plugin object.\n         * Plugins themselves may specify further dependencies, but each plugin is installed only once.\n         * Order is important, a topological sort is performed to find the best resulting order of installation.\n         * This sorting attempts to satisfy every dependency's requested ordering, but may not be exact in all cases.\n         * This function logs the resulting status of each dependency in the console, along with any warnings.\n         * - A green tick ✅ indicates a dependency was resolved and installed.\n         * - An orange diamond 🔶 indicates a dependency was resolved but a warning was thrown for it or one if its dependencies.\n         * - A red cross ❌ indicates a dependency could not be resolved.\n         * Avoid calling this function multiple times on the same module unless you intend to manually control installation order.\n         * @method use\n         * @param module {} The module install plugins on.\n         * @param [plugins=module.uses] {} The plugins to install on module (optional, defaults to `module.uses`).\n         */i.use=function(e,t){e.uses=(e.uses||[]).concat(t||[]);if(0!==e.uses.length){var n=i.dependencies(e),r=o.topologicalSort(n),a=[];for(var s=0;s<r.length;s+=1)if(r[s]!==e.name){var l=i.resolve(r[s]);if(l){if(!i.isUsed(e,l.name)){if(!i.isFor(l,e)){o.warn(\"Plugin.use:\",i.toString(l),\"is for\",l.for,\"but installed on\",i.toString(e)+\".\");l._warned=true}if(l.install)l.install(e);else{o.warn(\"Plugin.use:\",i.toString(l),\"does not specify an install function.\");l._warned=true}if(l._warned){a.push(\"🔶 \"+i.toString(l));delete l._warned}else a.push(\"✅ \"+i.toString(l));e.used.push(l.name)}}else a.push(\"❌ \"+r[s])}a.length>0&&o.info(a.join(\"  \"))}else o.warn(\"Plugin.use:\",i.toString(e),\"does not specify any dependencies to install.\")};\n/**\n         * Recursively finds all of a module's dependencies and returns a flat dependency graph.\n         * @method dependencies\n         * @param module {} The module.\n         * @return {object} A dependency graph.\n         */i.dependencies=function(e,t){var n=i.dependencyParse(e),r=n.name;t=t||{};if(!(r in t)){e=i.resolve(e)||e;t[r]=o.map(e.uses||[],(function(t){i.isPlugin(t)&&i.register(t);var r=i.dependencyParse(t),a=i.resolve(t);if(a&&!i.versionSatisfies(a.version,r.range)){o.warn(\"Plugin.dependencies:\",i.toString(a),\"does not satisfy\",i.toString(r),\"used by\",i.toString(n)+\".\");a._warned=true;e._warned=true}else if(!a){o.warn(\"Plugin.dependencies:\",i.toString(t),\"used by\",i.toString(n),\"could not be resolved.\");e._warned=true}return r.name}));for(var a=0;a<t[r].length;a+=1)i.dependencies(t[r][a],t);return t}};\n/**\n         * Parses a dependency string into its components.\n         * The `dependency` is a string of the format `'module-name'` or `'module-name@version'`.\n         * See documentation for `Plugin.versionParse` for a description of the format.\n         * This function can also handle dependencies that are already resolved (e.g. a module object).\n         * @method dependencyParse\n         * @param dependency {string} The dependency of the format `'module-name'` or `'module-name@version'`.\n         * @return {object} The dependency parsed into its components.\n         */i.dependencyParse=function(e){if(o.isString(e)){var t=/^[\\w-]+(@(\\*|[\\^~]?\\d+\\.\\d+\\.\\d+(-[0-9A-Za-z-+]+)?))?$/;t.test(e)||o.warn(\"Plugin.dependencyParse:\",e,\"is not a valid dependency string.\");return{name:e.split(\"@\")[0],range:e.split(\"@\")[1]||\"*\"}}return{name:e.name,range:e.range||e.version}};\n/**\n         * Parses a version string into its components.  \n         * Versions are strictly of the format `x.y.z` (as in [semver](http://semver.org/)).\n         * Versions may optionally have a prerelease tag in the format `x.y.z-alpha`.\n         * Ranges are a strict subset of [npm ranges](https://docs.npmjs.com/misc/semver#advanced-range-syntax).\n         * Only the following range types are supported:\n         * - Tilde ranges e.g. `~1.2.3`\n         * - Caret ranges e.g. `^1.2.3`\n         * - Greater than ranges e.g. `>1.2.3`\n         * - Greater than or equal ranges e.g. `>=1.2.3`\n         * - Exact version e.g. `1.2.3`\n         * - Any version `*`\n         * @method versionParse\n         * @param range {string} The version string.\n         * @return {object} The version range parsed into its components.\n         */i.versionParse=function(e){var t=/^(\\*)|(\\^|~|>=|>)?\\s*((\\d+)\\.(\\d+)\\.(\\d+))(-[0-9A-Za-z-+]+)?$/;t.test(e)||o.warn(\"Plugin.versionParse:\",e,\"is not a valid version or range.\");var n=t.exec(e);var i=Number(n[4]);var r=Number(n[5]);var a=Number(n[6]);return{isRange:Boolean(n[1]||n[2]),version:n[3],range:e,operator:n[1]||n[2]||\"\",major:i,minor:r,patch:a,parts:[i,r,a],prerelease:n[7],number:1e8*i+1e4*r+a}};\n/**\n         * Returns `true` if `version` satisfies the given `range`.\n         * See documentation for `Plugin.versionParse` for a description of the format.\n         * If a version or range is not specified, then any version (`*`) is assumed to satisfy.\n         * @method versionSatisfies\n         * @param version {string} The version string.\n         * @param range {string} The range string.\n         * @return {boolean} `true` if `version` satisfies `range`, otherwise `false`.\n         */i.versionSatisfies=function(e,t){t=t||\"*\";var n=i.versionParse(t),o=i.versionParse(e);if(n.isRange){if(\"*\"===n.operator||\"*\"===e)return true;if(\">\"===n.operator)return o.number>n.number;if(\">=\"===n.operator)return o.number>=n.number;if(\"~\"===n.operator)return o.major===n.major&&o.minor===n.minor&&o.patch>=n.patch;if(\"^\"===n.operator)return n.major>0?o.major===n.major&&o.number>=n.number:n.minor>0?o.minor===n.minor&&o.patch>=n.patch:o.patch===n.patch}return e===t||\"*\"===e}})()},function(e,t,n){var i={};e.exports=i;var o=n(0);var r=n(5);var a=n(1);var s=n(4);var l=n(2);var c=n(13);(function(){var e,t;if(\"undefined\"!==typeof window){e=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||function(e){window.setTimeout((function(){e(o.now())}),1e3/60)};t=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame}i._goodFps=30;i._goodDelta=1e3/60;\n/**\n         * Creates a new renderer. The options parameter is an object that specifies any properties you wish to override the defaults.\n         * All properties have default values, and many are pre-calculated automatically based on other properties.\n         * See the properties section below for detailed information on what you can pass via the `options` object.\n         * @method create\n         * @param {object} [options]\n         * @return {render} A new renderer\n         */i.create=function(e){var t={controller:i,engine:null,element:null,canvas:null,mouse:null,frameRequestId:null,timing:{historySize:60,delta:0,deltaHistory:[],lastTime:0,lastTimestamp:0,lastElapsed:0,timestampElapsed:0,timestampElapsedHistory:[],engineDeltaHistory:[],engineElapsedHistory:[],elapsedHistory:[]},options:{width:800,height:600,pixelRatio:1,background:\"#14151f\",wireframeBackground:\"#14151f\",hasBounds:!!e.bounds,enabled:true,wireframes:true,showSleeping:true,showDebug:false,showStats:false,showPerformance:false,showBounds:false,showVelocity:false,showCollisions:false,showSeparations:false,showAxes:false,showPositions:false,showAngleIndicator:false,showIds:false,showVertexNumbers:false,showConvexHulls:false,showInternalEdges:false,showMousePosition:false}};var n=o.extend(t,e);if(n.canvas){n.canvas.width=n.options.width||n.canvas.width;n.canvas.height=n.options.height||n.canvas.height}n.mouse=e.mouse;n.engine=e.engine;n.canvas=n.canvas||_createCanvas(n.options.width,n.options.height);n.context=n.canvas.getContext(\"2d\");n.textures={};n.bounds=n.bounds||{min:{x:0,y:0},max:{x:n.canvas.width,y:n.canvas.height}};n.options.showBroadphase=false;1!==n.options.pixelRatio&&i.setPixelRatio(n,n.options.pixelRatio);o.isElement(n.element)?n.element.appendChild(n.canvas):n.canvas.parentNode||o.log(\"Render.create: options.element was undefined, render.canvas was created but not appended\",\"warn\");return n};\n/**\n         * Continuously updates the render canvas on the `requestAnimationFrame` event.\n         * @method run\n         * @param {render} render\n         */i.run=function(t){(function loop(n){t.frameRequestId=e(loop);_updateTiming(t,n);i.world(t,n);(t.options.showStats||t.options.showDebug)&&i.stats(t,t.context,n);(t.options.showPerformance||t.options.showDebug)&&i.performance(t,t.context,n)})()};\n/**\n         * Ends execution of `Render.run` on the given `render`, by canceling the animation frame request event loop.\n         * @method stop\n         * @param {render} render\n         */i.stop=function(e){t(e.frameRequestId)};\n/**\n         * Sets the pixel ratio of the renderer and updates the canvas.\n         * To automatically detect the correct ratio, pass the string `'auto'` for `pixelRatio`.\n         * @method setPixelRatio\n         * @param {render} render\n         * @param {number} pixelRatio\n         */i.setPixelRatio=function(e,t){var n=e.options,i=e.canvas;\"auto\"===t&&(t=_getPixelRatio(i));n.pixelRatio=t;i.setAttribute(\"data-pixel-ratio\",t);i.width=n.width*t;i.height=n.height*t;i.style.width=n.width+\"px\";i.style.height=n.height+\"px\"};\n/**\n         * Positions and sizes the viewport around the given object bounds.\n         * Objects must have at least one of the following properties:\n         * - `object.bounds`\n         * - `object.position`\n         * - `object.min` and `object.max`\n         * - `object.x` and `object.y`\n         * @method lookAt\n         * @param {render} render\n         * @param {object[]} objects\n         * @param {vector} [padding]\n         * @param {bool} [center=true]\n         */i.lookAt=function(e,t,n,i){i=\"undefined\"===typeof i||i;t=o.isArray(t)?t:[t];n=n||{x:0,y:0};var r={min:{x:Infinity,y:Infinity},max:{x:-Infinity,y:-Infinity}};for(var a=0;a<t.length;a+=1){var s=t[a],l=s.bounds?s.bounds.min:s.min||s.position||s,u=s.bounds?s.bounds.max:s.max||s.position||s;if(l&&u){l.x<r.min.x&&(r.min.x=l.x);u.x>r.max.x&&(r.max.x=u.x);l.y<r.min.y&&(r.min.y=l.y);u.y>r.max.y&&(r.max.y=u.y)}}var f=r.max.x-r.min.x+2*n.x,d=r.max.y-r.min.y+2*n.y,p=e.canvas.height,v=e.canvas.width,y=v/p,m=f/d,g=1,x=1;m>y?x=m/y:g=y/m;e.options.hasBounds=true;e.bounds.min.x=r.min.x;e.bounds.max.x=r.min.x+f*g;e.bounds.min.y=r.min.y;e.bounds.max.y=r.min.y+d*x;if(i){e.bounds.min.x+=.5*f-f*g*.5;e.bounds.max.x+=.5*f-f*g*.5;e.bounds.min.y+=.5*d-d*x*.5;e.bounds.max.y+=.5*d-d*x*.5}e.bounds.min.x-=n.x;e.bounds.max.x-=n.x;e.bounds.min.y-=n.y;e.bounds.max.y-=n.y;if(e.mouse){c.setScale(e.mouse,{x:(e.bounds.max.x-e.bounds.min.x)/e.canvas.width,y:(e.bounds.max.y-e.bounds.min.y)/e.canvas.height});c.setOffset(e.mouse,e.bounds.min)}};\n/**\n         * Applies viewport transforms based on `render.bounds` to a render context.\n         * @method startViewTransform\n         * @param {render} render\n         */i.startViewTransform=function(e){var t=e.bounds.max.x-e.bounds.min.x,n=e.bounds.max.y-e.bounds.min.y,i=t/e.options.width,o=n/e.options.height;e.context.setTransform(e.options.pixelRatio/i,0,0,e.options.pixelRatio/o,0,0);e.context.translate(-e.bounds.min.x,-e.bounds.min.y)};\n/**\n         * Resets all transforms on the render context.\n         * @method endViewTransform\n         * @param {render} render\n         */i.endViewTransform=function(e){e.context.setTransform(e.options.pixelRatio,0,0,e.options.pixelRatio,0,0)};\n/**\n         * Renders the given `engine`'s `Matter.World` object.\n         * This is the entry point for all rendering and should be called every time the scene changes.\n         * @method world\n         * @param {render} render\n         */i.world=function(e,t){var n=o.now(),u=e.engine,f=u.world,d=e.canvas,p=e.context,v=e.options,y=e.timing;var m,g=r.allBodies(f),x=r.allConstraints(f),h=v.wireframes?v.wireframeBackground:v.background,b=[],S=[];var w={timestamp:u.timing.timestamp};s.trigger(e,\"beforeRender\",w);e.currentBackground!==h&&_applyBackground(e,h);p.globalCompositeOperation=\"source-in\";p.fillStyle=\"transparent\";p.fillRect(0,0,d.width,d.height);p.globalCompositeOperation=\"source-over\";if(v.hasBounds){for(m=0;m<g.length;m++){var _=g[m];a.overlaps(_.bounds,e.bounds)&&b.push(_)}for(m=0;m<x.length;m++){var A=x[m],P=A.bodyA,C=A.bodyB,k=A.pointA,M=A.pointB;P&&(k=l.add(P.position,A.pointA));C&&(M=l.add(C.position,A.pointB));k&&M&&((a.contains(e.bounds,k)||a.contains(e.bounds,M))&&S.push(A))}i.startViewTransform(e);if(e.mouse){c.setScale(e.mouse,{x:(e.bounds.max.x-e.bounds.min.x)/e.options.width,y:(e.bounds.max.y-e.bounds.min.y)/e.options.height});c.setOffset(e.mouse,e.bounds.min)}}else{S=x;b=g;1!==e.options.pixelRatio&&e.context.setTransform(e.options.pixelRatio,0,0,e.options.pixelRatio,0,0)}if(!v.wireframes||u.enableSleeping&&v.showSleeping)i.bodies(e,b,p);else{v.showConvexHulls&&i.bodyConvexHulls(e,b,p);i.bodyWireframes(e,b,p)}v.showBounds&&i.bodyBounds(e,b,p);(v.showAxes||v.showAngleIndicator)&&i.bodyAxes(e,b,p);v.showPositions&&i.bodyPositions(e,b,p);v.showVelocity&&i.bodyVelocity(e,b,p);v.showIds&&i.bodyIds(e,b,p);v.showSeparations&&i.separations(e,u.pairs.list,p);v.showCollisions&&i.collisions(e,u.pairs.list,p);v.showVertexNumbers&&i.vertexNumbers(e,b,p);v.showMousePosition&&i.mousePosition(e,e.mouse,p);i.constraints(S,p);v.hasBounds&&i.endViewTransform(e);s.trigger(e,\"afterRender\",w);y.lastElapsed=o.now()-n};\n/**\n         * Renders statistics about the engine and world useful for debugging.\n         * @private\n         * @method stats\n         * @param {render} render\n         * @param {RenderingContext} context\n         * @param {Number} time\n         */i.stats=function(e,t,n){var i=e.engine,o=i.world,a=r.allBodies(o),s=0,l=55,c=44,u=0,f=0;for(var d=0;d<a.length;d+=1)s+=a[d].parts.length;var p={Part:s,Body:a.length,Cons:r.allConstraints(o).length,Comp:r.allComposites(o).length,Pair:i.pairs.list.length};t.fillStyle=\"#0e0f19\";t.fillRect(u,f,5.5*l,c);t.font=\"12px Arial\";t.textBaseline=\"top\";t.textAlign=\"right\";for(var v in p){var y=p[v];t.fillStyle=\"#aaa\";t.fillText(v,u+l,f+8);t.fillStyle=\"#eee\";t.fillText(y,u+l,f+26);u+=l}};\n/**\n         * Renders engine and render performance information.\n         * @private\n         * @method performance\n         * @param {render} render\n         * @param {RenderingContext} context\n         */i.performance=function(e,t){var n=e.engine,o=e.timing,r=o.deltaHistory,a=o.elapsedHistory,s=o.timestampElapsedHistory,l=o.engineDeltaHistory,c=o.engineElapsedHistory,u=n.timing.lastDelta;var f=_mean(r),d=_mean(a),p=_mean(l),v=_mean(c),y=_mean(s),m=y/f||0,g=1e3/f||0;var x=4,h=12,b=60,S=34,w=10,_=69;t.fillStyle=\"#0e0f19\";t.fillRect(0,50,4*h+5*b+22,S);i.status(t,w,_,b,x,r.length,Math.round(g)+\" fps\",g/i._goodFps,(function(e){return r[e]/f-1}));i.status(t,w+h+b,_,b,x,l.length,u.toFixed(2)+\" dt\",i._goodDelta/u,(function(e){return l[e]/p-1}));i.status(t,w+2*(h+b),_,b,x,c.length,v.toFixed(2)+\" ut\",1-v/i._goodFps,(function(e){return c[e]/v-1}));i.status(t,w+3*(h+b),_,b,x,a.length,d.toFixed(2)+\" rt\",1-d/i._goodFps,(function(e){return a[e]/d-1}));i.status(t,w+4*(h+b),_,b,x,s.length,m.toFixed(2)+\" x\",m*m*m,(function(e){return(s[e]/r[e]/m||0)-1}))};\n/**\n         * Renders a label, indicator and a chart.\n         * @private\n         * @method status\n         * @param {RenderingContext} context\n         * @param {number} x\n         * @param {number} y\n         * @param {number} width\n         * @param {number} height\n         * @param {number} count\n         * @param {string} label\n         * @param {string} indicator\n         * @param {function} plotY\n         */i.status=function(e,t,n,i,r,a,s,l,c){e.strokeStyle=\"#888\";e.fillStyle=\"#444\";e.lineWidth=1;e.fillRect(t,n+7,i,1);e.beginPath();e.moveTo(t,n+7-r*o.clamp(.4*c(0),-2,2));for(var u=0;u<i;u+=1)e.lineTo(t+u,n+7-(u<a?r*o.clamp(.4*c(u),-2,2):0));e.stroke();e.fillStyle=\"hsl(\"+o.clamp(25+95*l,0,120)+\",100%,60%)\";e.fillRect(t,n-7,4,4);e.font=\"12px Arial\";e.textBaseline=\"middle\";e.textAlign=\"right\";e.fillStyle=\"#eee\";e.fillText(s,t+i,n-5)};\n/**\n         * Description\n         * @private\n         * @method constraints\n         * @param {constraint[]} constraints\n         * @param {RenderingContext} context\n         */i.constraints=function(e,t){var n=t;for(var i=0;i<e.length;i++){var r=e[i];if(r.render.visible&&r.pointA&&r.pointB){var a,s,c=r.bodyA,u=r.bodyB;a=c?l.add(c.position,r.pointA):r.pointA;if(\"pin\"===r.render.type){n.beginPath();n.arc(a.x,a.y,3,0,2*Math.PI);n.closePath()}else{s=u?l.add(u.position,r.pointB):r.pointB;n.beginPath();n.moveTo(a.x,a.y);if(\"spring\"===r.render.type){var f,d=l.sub(s,a),p=l.perp(l.normalise(d)),v=Math.ceil(o.clamp(r.length/5,12,20));for(var y=1;y<v;y+=1){f=y%2===0?1:-1;n.lineTo(a.x+d.x*(y/v)+p.x*f*4,a.y+d.y*(y/v)+p.y*f*4)}}n.lineTo(s.x,s.y)}if(r.render.lineWidth){n.lineWidth=r.render.lineWidth;n.strokeStyle=r.render.strokeStyle;n.stroke()}if(r.render.anchors){n.fillStyle=r.render.strokeStyle;n.beginPath();n.arc(a.x,a.y,3,0,2*Math.PI);n.arc(s.x,s.y,3,0,2*Math.PI);n.closePath();n.fill()}}}};\n/**\n         * Description\n         * @private\n         * @method bodies\n         * @param {render} render\n         * @param {body[]} bodies\n         * @param {RenderingContext} context\n         */i.bodies=function(e,t,n){var i,o,r,a,s=n,l=(e.engine,e.options),c=l.showInternalEdges||!l.wireframes;for(r=0;r<t.length;r++){i=t[r];if(i.render.visible)for(a=i.parts.length>1?1:0;a<i.parts.length;a++){o=i.parts[a];if(o.render.visible){l.showSleeping&&i.isSleeping?s.globalAlpha=.5*o.render.opacity:1!==o.render.opacity&&(s.globalAlpha=o.render.opacity);if(o.render.sprite&&o.render.sprite.texture&&!l.wireframes){var u=o.render.sprite,f=_getTexture(e,u.texture);s.translate(o.position.x,o.position.y);s.rotate(o.angle);s.drawImage(f,f.width*-u.xOffset*u.xScale,f.height*-u.yOffset*u.yScale,f.width*u.xScale,f.height*u.yScale);s.rotate(-o.angle);s.translate(-o.position.x,-o.position.y)}else{if(o.circleRadius){s.beginPath();s.arc(o.position.x,o.position.y,o.circleRadius,0,2*Math.PI)}else{s.beginPath();s.moveTo(o.vertices[0].x,o.vertices[0].y);for(var d=1;d<o.vertices.length;d++){!o.vertices[d-1].isInternal||c?s.lineTo(o.vertices[d].x,o.vertices[d].y):s.moveTo(o.vertices[d].x,o.vertices[d].y);o.vertices[d].isInternal&&!c&&s.moveTo(o.vertices[(d+1)%o.vertices.length].x,o.vertices[(d+1)%o.vertices.length].y)}s.lineTo(o.vertices[0].x,o.vertices[0].y);s.closePath()}if(l.wireframes){s.lineWidth=1;s.strokeStyle=\"#bbb\";s.stroke()}else{s.fillStyle=o.render.fillStyle;if(o.render.lineWidth){s.lineWidth=o.render.lineWidth;s.strokeStyle=o.render.strokeStyle;s.stroke()}s.fill()}}s.globalAlpha=1}}}};\n/**\n         * Optimised method for drawing body wireframes in one pass\n         * @private\n         * @method bodyWireframes\n         * @param {render} render\n         * @param {body[]} bodies\n         * @param {RenderingContext} context\n         */i.bodyWireframes=function(e,t,n){var i,o,r,a,s,l=n,c=e.options.showInternalEdges;l.beginPath();for(r=0;r<t.length;r++){i=t[r];if(i.render.visible)for(s=i.parts.length>1?1:0;s<i.parts.length;s++){o=i.parts[s];l.moveTo(o.vertices[0].x,o.vertices[0].y);for(a=1;a<o.vertices.length;a++){!o.vertices[a-1].isInternal||c?l.lineTo(o.vertices[a].x,o.vertices[a].y):l.moveTo(o.vertices[a].x,o.vertices[a].y);o.vertices[a].isInternal&&!c&&l.moveTo(o.vertices[(a+1)%o.vertices.length].x,o.vertices[(a+1)%o.vertices.length].y)}l.lineTo(o.vertices[0].x,o.vertices[0].y)}}l.lineWidth=1;l.strokeStyle=\"#bbb\";l.stroke()};\n/**\n         * Optimised method for drawing body convex hull wireframes in one pass\n         * @private\n         * @method bodyConvexHulls\n         * @param {render} render\n         * @param {body[]} bodies\n         * @param {RenderingContext} context\n         */i.bodyConvexHulls=function(e,t,n){var i,o,r,a=n;a.beginPath();for(o=0;o<t.length;o++){i=t[o];if(i.render.visible&&1!==i.parts.length){a.moveTo(i.vertices[0].x,i.vertices[0].y);for(r=1;r<i.vertices.length;r++)a.lineTo(i.vertices[r].x,i.vertices[r].y);a.lineTo(i.vertices[0].x,i.vertices[0].y)}}a.lineWidth=1;a.strokeStyle=\"rgba(255,255,255,0.2)\";a.stroke()};\n/**\n         * Renders body vertex numbers.\n         * @private\n         * @method vertexNumbers\n         * @param {render} render\n         * @param {body[]} bodies\n         * @param {RenderingContext} context\n         */i.vertexNumbers=function(e,t,n){var i,o,r,a=n;for(i=0;i<t.length;i++){var s=t[i].parts;for(r=s.length>1?1:0;r<s.length;r++){var l=s[r];for(o=0;o<l.vertices.length;o++){a.fillStyle=\"rgba(255,255,255,0.2)\";a.fillText(i+\"_\"+o,l.position.x+.8*(l.vertices[o].x-l.position.x),l.position.y+.8*(l.vertices[o].y-l.position.y))}}}};\n/**\n         * Renders mouse position.\n         * @private\n         * @method mousePosition\n         * @param {render} render\n         * @param {mouse} mouse\n         * @param {RenderingContext} context\n         */i.mousePosition=function(e,t,n){var i=n;i.fillStyle=\"rgba(255,255,255,0.8)\";i.fillText(t.position.x+\"  \"+t.position.y,t.position.x+5,t.position.y-5)};\n/**\n         * Draws body bounds\n         * @private\n         * @method bodyBounds\n         * @param {render} render\n         * @param {body[]} bodies\n         * @param {RenderingContext} context\n         */i.bodyBounds=function(e,t,n){var i=n,o=(e.engine,e.options);i.beginPath();for(var r=0;r<t.length;r++){var a=t[r];if(a.render.visible){var s=t[r].parts;for(var l=s.length>1?1:0;l<s.length;l++){var c=s[l];i.rect(c.bounds.min.x,c.bounds.min.y,c.bounds.max.x-c.bounds.min.x,c.bounds.max.y-c.bounds.min.y)}}}o.wireframes?i.strokeStyle=\"rgba(255,255,255,0.08)\":i.strokeStyle=\"rgba(0,0,0,0.1)\";i.lineWidth=1;i.stroke()};\n/**\n         * Draws body angle indicators and axes\n         * @private\n         * @method bodyAxes\n         * @param {render} render\n         * @param {body[]} bodies\n         * @param {RenderingContext} context\n         */i.bodyAxes=function(e,t,n){var i,o,r,a,s=n,l=(e.engine,e.options);s.beginPath();for(o=0;o<t.length;o++){var c=t[o],u=c.parts;if(c.render.visible)if(l.showAxes)for(r=u.length>1?1:0;r<u.length;r++){i=u[r];for(a=0;a<i.axes.length;a++){var f=i.axes[a];s.moveTo(i.position.x,i.position.y);s.lineTo(i.position.x+20*f.x,i.position.y+20*f.y)}}else for(r=u.length>1?1:0;r<u.length;r++){i=u[r];for(a=0;a<i.axes.length;a++){s.moveTo(i.position.x,i.position.y);s.lineTo((i.vertices[0].x+i.vertices[i.vertices.length-1].x)/2,(i.vertices[0].y+i.vertices[i.vertices.length-1].y)/2)}}}if(l.wireframes){s.strokeStyle=\"indianred\";s.lineWidth=1}else{s.strokeStyle=\"rgba(255, 255, 255, 0.4)\";s.globalCompositeOperation=\"overlay\";s.lineWidth=2}s.stroke();s.globalCompositeOperation=\"source-over\"};\n/**\n         * Draws body positions\n         * @private\n         * @method bodyPositions\n         * @param {render} render\n         * @param {body[]} bodies\n         * @param {RenderingContext} context\n         */i.bodyPositions=function(e,t,n){var i,o,r,a,s=n,l=(e.engine,e.options);s.beginPath();for(r=0;r<t.length;r++){i=t[r];if(i.render.visible)for(a=0;a<i.parts.length;a++){o=i.parts[a];s.arc(o.position.x,o.position.y,3,0,2*Math.PI,false);s.closePath()}}l.wireframes?s.fillStyle=\"indianred\":s.fillStyle=\"rgba(0,0,0,0.5)\";s.fill();s.beginPath();for(r=0;r<t.length;r++){i=t[r];if(i.render.visible){s.arc(i.positionPrev.x,i.positionPrev.y,2,0,2*Math.PI,false);s.closePath()}}s.fillStyle=\"rgba(255,165,0,0.8)\";s.fill()};\n/**\n         * Draws body velocity\n         * @private\n         * @method bodyVelocity\n         * @param {render} render\n         * @param {body[]} bodies\n         * @param {RenderingContext} context\n         */i.bodyVelocity=function(e,t,n){var i=n;i.beginPath();for(var o=0;o<t.length;o++){var r=t[o];if(r.render.visible){i.moveTo(r.position.x,r.position.y);i.lineTo(r.position.x+2*(r.position.x-r.positionPrev.x),r.position.y+2*(r.position.y-r.positionPrev.y))}}i.lineWidth=3;i.strokeStyle=\"cornflowerblue\";i.stroke()};\n/**\n         * Draws body ids\n         * @private\n         * @method bodyIds\n         * @param {render} render\n         * @param {body[]} bodies\n         * @param {RenderingContext} context\n         */i.bodyIds=function(e,t,n){var i,o,r=n;for(i=0;i<t.length;i++)if(t[i].render.visible){var a=t[i].parts;for(o=a.length>1?1:0;o<a.length;o++){var s=a[o];r.font=\"12px Arial\";r.fillStyle=\"rgba(255,255,255,0.5)\";r.fillText(s.id,s.position.x+10,s.position.y-10)}}};\n/**\n         * Description\n         * @private\n         * @method collisions\n         * @param {render} render\n         * @param {pair[]} pairs\n         * @param {RenderingContext} context\n         */i.collisions=function(e,t,n){var i,o,r,a,s=n,l=e.options;s.beginPath();for(r=0;r<t.length;r++){i=t[r];if(i.isActive){o=i.collision;for(a=0;a<i.activeContacts.length;a++){var c=i.activeContacts[a],u=c.vertex;s.rect(u.x-1.5,u.y-1.5,3.5,3.5)}}}l.wireframes?s.fillStyle=\"rgba(255,255,255,0.7)\":s.fillStyle=\"orange\";s.fill();s.beginPath();for(r=0;r<t.length;r++){i=t[r];if(i.isActive){o=i.collision;if(i.activeContacts.length>0){var f=i.activeContacts[0].vertex.x,d=i.activeContacts[0].vertex.y;if(2===i.activeContacts.length){f=(i.activeContacts[0].vertex.x+i.activeContacts[1].vertex.x)/2;d=(i.activeContacts[0].vertex.y+i.activeContacts[1].vertex.y)/2}o.bodyB===o.supports[0].body||true===o.bodyA.isStatic?s.moveTo(f-8*o.normal.x,d-8*o.normal.y):s.moveTo(f+8*o.normal.x,d+8*o.normal.y);s.lineTo(f,d)}}}l.wireframes?s.strokeStyle=\"rgba(255,165,0,0.7)\":s.strokeStyle=\"orange\";s.lineWidth=1;s.stroke()};\n/**\n         * Description\n         * @private\n         * @method separations\n         * @param {render} render\n         * @param {pair[]} pairs\n         * @param {RenderingContext} context\n         */i.separations=function(e,t,n){var i,o,r,a,s,l=n,c=e.options;l.beginPath();for(s=0;s<t.length;s++){i=t[s];if(i.isActive){o=i.collision;r=o.bodyA;a=o.bodyB;var u=1;a.isStatic||r.isStatic||(u=.5);a.isStatic&&(u=0);l.moveTo(a.position.x,a.position.y);l.lineTo(a.position.x-o.penetration.x*u,a.position.y-o.penetration.y*u);u=1;a.isStatic||r.isStatic||(u=.5);r.isStatic&&(u=0);l.moveTo(r.position.x,r.position.y);l.lineTo(r.position.x+o.penetration.x*u,r.position.y+o.penetration.y*u)}}c.wireframes?l.strokeStyle=\"rgba(255,165,0,0.5)\":l.strokeStyle=\"orange\";l.stroke()};\n/**\n         * Description\n         * @private\n         * @method inspector\n         * @param {inspector} inspector\n         * @param {RenderingContext} context\n         */i.inspector=function(e,t){e.engine;var n,i=e.selected,o=e.render,r=o.options;if(r.hasBounds){var a=o.bounds.max.x-o.bounds.min.x,s=o.bounds.max.y-o.bounds.min.y,l=a/o.options.width,c=s/o.options.height;t.scale(1/l,1/c);t.translate(-o.bounds.min.x,-o.bounds.min.y)}for(var u=0;u<i.length;u++){var f=i[u].data;t.translate(.5,.5);t.lineWidth=1;t.strokeStyle=\"rgba(255,165,0,0.9)\";t.setLineDash([1,2]);switch(f.type){case\"body\":n=f.bounds;t.beginPath();t.rect(Math.floor(n.min.x-3),Math.floor(n.min.y-3),Math.floor(n.max.x-n.min.x+6),Math.floor(n.max.y-n.min.y+6));t.closePath();t.stroke();break;case\"constraint\":var d=f.pointA;f.bodyA&&(d=f.pointB);t.beginPath();t.arc(d.x,d.y,10,0,2*Math.PI);t.closePath();t.stroke();break}t.setLineDash([]);t.translate(-.5,-.5)}if(null!==e.selectStart){t.translate(.5,.5);t.lineWidth=1;t.strokeStyle=\"rgba(255,165,0,0.6)\";t.fillStyle=\"rgba(255,165,0,0.1)\";n=e.selectBounds;t.beginPath();t.rect(Math.floor(n.min.x),Math.floor(n.min.y),Math.floor(n.max.x-n.min.x),Math.floor(n.max.y-n.min.y));t.closePath();t.stroke();t.fill();t.translate(-.5,-.5)}r.hasBounds&&t.setTransform(1,0,0,1,0,0)};\n/**\n         * Updates render timing.\n         * @method _updateTiming\n         * @private\n         * @param {render} render\n         * @param {number} time\n         */var _updateTiming=function(e,t){var n=e.engine,o=e.timing,r=o.historySize,a=n.timing.timestamp;o.delta=t-o.lastTime||i._goodDelta;o.lastTime=t;o.timestampElapsed=a-o.lastTimestamp||0;o.lastTimestamp=a;o.deltaHistory.unshift(o.delta);o.deltaHistory.length=Math.min(o.deltaHistory.length,r);o.engineDeltaHistory.unshift(n.timing.lastDelta);o.engineDeltaHistory.length=Math.min(o.engineDeltaHistory.length,r);o.timestampElapsedHistory.unshift(o.timestampElapsed);o.timestampElapsedHistory.length=Math.min(o.timestampElapsedHistory.length,r);o.engineElapsedHistory.unshift(n.timing.lastElapsed);o.engineElapsedHistory.length=Math.min(o.engineElapsedHistory.length,r);o.elapsedHistory.unshift(o.lastElapsed);o.elapsedHistory.length=Math.min(o.elapsedHistory.length,r)};\n/**\n         * Returns the mean value of the given numbers.\n         * @method _mean\n         * @private\n         * @param {Number[]} values\n         * @return {Number} the mean of given values\n         */var _mean=function(e){var t=0;for(var n=0;n<e.length;n+=1)t+=e[n];return t/e.length||0};\n/**\n         * @method _createCanvas\n         * @private\n         * @param {} width\n         * @param {} height\n         * @return canvas\n         */var _createCanvas=function(e,t){var n=document.createElement(\"canvas\");n.width=e;n.height=t;n.oncontextmenu=function(){return false};n.onselectstart=function(){return false};return n};\n/**\n         * Gets the pixel ratio of the canvas.\n         * @method _getPixelRatio\n         * @private\n         * @param {HTMLElement} canvas\n         * @return {Number} pixel ratio\n         */var _getPixelRatio=function(e){var t=e.getContext(\"2d\"),n=window.devicePixelRatio||1,i=t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return n/i};\n/**\n         * Gets the requested texture (an Image) via its path\n         * @method _getTexture\n         * @private\n         * @param {render} render\n         * @param {string} imagePath\n         * @return {Image} texture\n         */var _getTexture=function(e,t){var n=e.textures[t];if(n)return n;n=e.textures[t]=new Image;n.src=t;return n};\n/**\n         * Applies the background to the canvas using CSS.\n         * @method applyBackground\n         * @private\n         * @param {render} render\n         * @param {string} background\n         */var _applyBackground=function(e,t){var n=t;/(jpg|gif|png)$/.test(t)&&(n=\"url(\"+t+\")\");e.canvas.style.background=n;e.canvas.style.backgroundSize=\"contain\";e.currentBackground=t};\n/**\n        * Fired before rendering\n        *\n        * @event beforeRender\n        * @param {} event An event object\n        * @param {number} event.timestamp The engine.timing.timestamp of the event\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n        * Fired after rendering\n        *\n        * @event afterRender\n        * @param {} event An event object\n        * @param {number} event.timestamp The engine.timing.timestamp of the event\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n         * A back-reference to the `Matter.Render` module.\n         *\n         * @property controller\n         * @type render\n         */\n/**\n         * A reference to the `Matter.Engine` instance to be used.\n         *\n         * @property engine\n         * @type engine\n         */\n/**\n         * A reference to the element where the canvas is to be inserted (if `render.canvas` has not been specified)\n         *\n         * @property element\n         * @type HTMLElement\n         * @default null\n         */\n/**\n         * The canvas element to render to. If not specified, one will be created if `render.element` has been specified.\n         *\n         * @property canvas\n         * @type HTMLCanvasElement\n         * @default null\n         */\n/**\n         * A `Bounds` object that specifies the drawing view region.\n         * Rendering will be automatically transformed and scaled to fit within the canvas size (`render.options.width` and `render.options.height`).\n         * This allows for creating views that can pan or zoom around the scene.\n         * You must also set `render.options.hasBounds` to `true` to enable bounded rendering.\n         *\n         * @property bounds\n         * @type bounds\n         */\n/**\n         * The 2d rendering context from the `render.canvas` element.\n         *\n         * @property context\n         * @type CanvasRenderingContext2D\n         */\n/**\n         * The sprite texture cache.\n         *\n         * @property textures\n         * @type {}\n         */\n/**\n         * The mouse to render if `render.options.showMousePosition` is enabled.\n         *\n         * @property mouse\n         * @type mouse\n         * @default null\n         */\n/**\n         * The configuration options of the renderer.\n         *\n         * @property options\n         * @type {}\n         */\n/**\n         * The target width in pixels of the `render.canvas` to be created.\n         * See also the `options.pixelRatio` property to change render quality.\n         *\n         * @property options.width\n         * @type number\n         * @default 800\n         */\n/**\n         * The target height in pixels of the `render.canvas` to be created.\n         * See also the `options.pixelRatio` property to change render quality.\n         *\n         * @property options.height\n         * @type number\n         * @default 600\n         */\n/**\n         * The [pixel ratio](https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio) to use when rendering.\n         *\n         * @property options.pixelRatio\n         * @type number\n         * @default 1\n         */\n/**\n         * A CSS background color string to use when `render.options.wireframes` is disabled.\n         * This may be also set to `'transparent'` or equivalent.\n         *\n         * @property options.background\n         * @type string\n         * @default '#14151f'\n         */\n/**\n         * A CSS background color string to use when `render.options.wireframes` is enabled.\n         * This may be also set to `'transparent'` or equivalent.\n         *\n         * @property options.wireframeBackground\n         * @type string\n         * @default '#14151f'\n         */\n/**\n         * A flag that specifies if `render.bounds` should be used when rendering.\n         *\n         * @property options.hasBounds\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to enable or disable all debug information overlays together.  \n         * This includes and has priority over the values of:\n         *\n         * - `render.options.showStats`\n         * - `render.options.showPerformance`\n         *\n         * @property options.showDebug\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to enable or disable the engine stats info overlay.  \n         * From left to right, the values shown are:\n         *\n         * - body parts total\n         * - body total\n         * - constraints total\n         * - composites total\n         * - collision pairs total\n         *\n         * @property options.showStats\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to enable or disable performance charts.  \n         * From left to right, the values shown are:\n         *\n         * - average render frequency (e.g. 60 fps)\n         * - exact engine delta time used for last update (e.g. 16.66ms)\n         * - average engine execution duration (e.g. 5.00ms)\n         * - average render execution duration (e.g. 0.40ms)\n         * - average effective play speed (e.g. '1.00x' is 'real-time')\n         *\n         * Each value is recorded over a fixed sample of past frames (60 frames).\n         *\n         * A chart shown below each value indicates the variance from the average over the sample.\n         * The more stable or fixed the value is the flatter the chart will appear.\n         *\n         * @property options.showPerformance\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to enable or disable rendering entirely.\n         *\n         * @property options.enabled\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to toggle wireframe rendering otherwise solid fill rendering is used.\n         *\n         * @property options.wireframes\n         * @type boolean\n         * @default true\n         */\n/**\n         * A flag to enable or disable sleeping bodies indicators.\n         *\n         * @property options.showSleeping\n         * @type boolean\n         * @default true\n         */\n/**\n         * A flag to enable or disable the debug information overlay.\n         *\n         * @property options.showDebug\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to enable or disable the collision broadphase debug overlay.\n         *\n         * @deprecated no longer implemented\n         * @property options.showBroadphase\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to enable or disable the body bounds debug overlay.\n         *\n         * @property options.showBounds\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to enable or disable the body velocity debug overlay.\n         *\n         * @property options.showVelocity\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to enable or disable the body collisions debug overlay.\n         *\n         * @property options.showCollisions\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to enable or disable the collision resolver separations debug overlay.\n         *\n         * @property options.showSeparations\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to enable or disable the body axes debug overlay.\n         *\n         * @property options.showAxes\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to enable or disable the body positions debug overlay.\n         *\n         * @property options.showPositions\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to enable or disable the body angle debug overlay.\n         *\n         * @property options.showAngleIndicator\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to enable or disable the body and part ids debug overlay.\n         *\n         * @property options.showIds\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to enable or disable the body vertex numbers debug overlay.\n         *\n         * @property options.showVertexNumbers\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to enable or disable the body convex hulls debug overlay.\n         *\n         * @property options.showConvexHulls\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to enable or disable the body internal edges debug overlay.\n         *\n         * @property options.showInternalEdges\n         * @type boolean\n         * @default false\n         */\n/**\n         * A flag to enable or disable the mouse position debug overlay.\n         *\n         * @property options.showMousePosition\n         * @type boolean\n         * @default false\n         */})()},function(e,t){var n={};e.exports=n;(function(){\n/**\n         * Creates a new contact.\n         * @method create\n         * @param {vertex} vertex\n         * @return {contact} A new contact\n         */\nn.create=function(e){return{vertex:e,normalImpulse:0,tangentImpulse:0}}})()},function(e,t,n){var i={};e.exports=i;var o=n(7);var r=n(19);var a=n(14);var s=n(20);var l=n(4);var c=n(5);var u=n(10);var f=n(0);var d=n(6);(function(){\n/**\n         * Creates a new engine. The options parameter is an object that specifies any properties you wish to override the defaults.\n         * All properties have default values, and many are pre-calculated automatically based on other properties.\n         * See the properties section below for detailed information on what you can pass via the `options` object.\n         * @method create\n         * @param {object} [options]\n         * @return {engine} engine\n         */\ni.create=function(e){e=e||{};var t={positionIterations:6,velocityIterations:4,constraintIterations:2,enableSleeping:false,events:[],plugin:{},gravity:{x:0,y:1,scale:.001},timing:{timestamp:0,timeScale:1,lastDelta:0,lastElapsed:0}};var n=f.extend(t,e);n.world=e.world||c.create({label:\"World\"});n.pairs=e.pairs||s.create();n.detector=e.detector||a.create();n.grid={buckets:[]};n.world.gravity=n.gravity;n.broadphase=n.grid;n.metrics={};return n};\n/**\n         * Moves the simulation forward in time by `delta` ms.\n         * The `correction` argument is an optional `Number` that specifies the time correction factor to apply to the update.\n         * This can help improve the accuracy of the simulation in cases where `delta` is changing between updates.\n         * The value of `correction` is defined as `delta / lastDelta`, i.e. the percentage change of `delta` over the last step.\n         * Therefore the value is always `1` (no correction) when `delta` constant (or when no correction is desired, which is the default).\n         * See the paper on <a href=\"http://lonesock.net/article/verlet.html\">Time Corrected Verlet</a> for more information.\n         *\n         * Triggers `beforeUpdate` and `afterUpdate` events.\n         * Triggers `collisionStart`, `collisionActive` and `collisionEnd` events.\n         * @method update\n         * @param {engine} engine\n         * @param {number} [delta=16.666]\n         * @param {number} [correction=1]\n         */i.update=function(e,t,n){var d=f.now();t=t||1e3/60;n=n||1;var p,v=e.world,y=e.detector,m=e.pairs,g=e.timing,x=g.timestamp;g.timestamp+=t*g.timeScale;g.lastDelta=t*g.timeScale;var h={timestamp:g.timestamp};l.trigger(e,\"beforeUpdate\",h);var b=c.allBodies(v),S=c.allConstraints(v);v.isModified&&a.setBodies(y,b);v.isModified&&c.setModified(v,false,false,true);e.enableSleeping&&o.update(b,g.timeScale);i._bodiesApplyGravity(b,e.gravity);i._bodiesUpdate(b,t,g.timeScale,n,v.bounds);u.preSolveAll(b);for(p=0;p<e.constraintIterations;p++)u.solveAll(S,g.timeScale);u.postSolveAll(b);y.pairs=e.pairs;var w=a.collisions(y);s.update(m,w,x);e.enableSleeping&&o.afterCollisions(m.list,g.timeScale);m.collisionStart.length>0&&l.trigger(e,\"collisionStart\",{pairs:m.collisionStart});r.preSolvePosition(m.list);for(p=0;p<e.positionIterations;p++)r.solvePosition(m.list,g.timeScale);r.postSolvePosition(b);u.preSolveAll(b);for(p=0;p<e.constraintIterations;p++)u.solveAll(S,g.timeScale);u.postSolveAll(b);r.preSolveVelocity(m.list);for(p=0;p<e.velocityIterations;p++)r.solveVelocity(m.list,g.timeScale);m.collisionActive.length>0&&l.trigger(e,\"collisionActive\",{pairs:m.collisionActive});m.collisionEnd.length>0&&l.trigger(e,\"collisionEnd\",{pairs:m.collisionEnd});i._bodiesClearForces(b);l.trigger(e,\"afterUpdate\",h);e.timing.lastElapsed=f.now()-d;return e};\n/**\n         * Merges two engines by keeping the configuration of `engineA` but replacing the world with the one from `engineB`.\n         * @method merge\n         * @param {engine} engineA\n         * @param {engine} engineB\n         */i.merge=function(e,t){f.extend(e,t);if(t.world){e.world=t.world;i.clear(e);var n=c.allBodies(e.world);for(var r=0;r<n.length;r++){var a=n[r];o.set(a,false);a.id=f.nextId()}}};\n/**\n         * Clears the engine pairs and detector.\n         * @method clear\n         * @param {engine} engine\n         */i.clear=function(e){s.clear(e.pairs);a.clear(e.detector)};\n/**\n         * Zeroes the `body.force` and `body.torque` force buffers.\n         * @method _bodiesClearForces\n         * @private\n         * @param {body[]} bodies\n         */i._bodiesClearForces=function(e){for(var t=0;t<e.length;t++){var n=e[t];n.force.x=0;n.force.y=0;n.torque=0}};\n/**\n         * Applys a mass dependant force to all given bodies.\n         * @method _bodiesApplyGravity\n         * @private\n         * @param {body[]} bodies\n         * @param {vector} gravity\n         */i._bodiesApplyGravity=function(e,t){var n=\"undefined\"!==typeof t.scale?t.scale:.001;if((0!==t.x||0!==t.y)&&0!==n)for(var i=0;i<e.length;i++){var o=e[i];if(!o.isStatic&&!o.isSleeping){o.force.y+=o.mass*t.y*n;o.force.x+=o.mass*t.x*n}}};\n/**\n         * Applys `Body.update` to all given `bodies`.\n         * @method _bodiesUpdate\n         * @private\n         * @param {body[]} bodies\n         * @param {number} deltaTime \n         * The amount of time elapsed between updates\n         * @param {number} timeScale\n         * @param {number} correction \n         * The Verlet correction factor (deltaTime / lastDeltaTime)\n         * @param {bounds} worldBounds\n         */i._bodiesUpdate=function(e,t,n,i,o){for(var r=0;r<e.length;r++){var a=e[r];a.isStatic||a.isSleeping||d.update(a,t,n,i)}};\n/**\n         * A deprecated alias for `Runner.run`, use `Matter.Runner.run(engine)` instead and see `Matter.Runner` for more information.\n         * @deprecated use Matter.Runner.run(engine) instead\n         * @method run\n         * @param {engine} engine\n         */\n/**\n        * Fired just before an update\n        *\n        * @event beforeUpdate\n        * @param {object} event An event object\n        * @param {number} event.timestamp The engine.timing.timestamp of the event\n        * @param {engine} event.source The source object of the event\n        * @param {string} event.name The name of the event\n        */\n/**\n        * Fired after engine update and all collision events\n        *\n        * @event afterUpdate\n        * @param {object} event An event object\n        * @param {number} event.timestamp The engine.timing.timestamp of the event\n        * @param {engine} event.source The source object of the event\n        * @param {string} event.name The name of the event\n        */\n/**\n        * Fired after engine update, provides a list of all pairs that have started to collide in the current tick (if any)\n        *\n        * @event collisionStart\n        * @param {object} event An event object\n        * @param {pair[]} event.pairs List of affected pairs\n        * @param {number} event.timestamp The engine.timing.timestamp of the event\n        * @param {engine} event.source The source object of the event\n        * @param {string} event.name The name of the event\n        */\n/**\n        * Fired after engine update, provides a list of all pairs that are colliding in the current tick (if any)\n        *\n        * @event collisionActive\n        * @param {object} event An event object\n        * @param {pair[]} event.pairs List of affected pairs\n        * @param {number} event.timestamp The engine.timing.timestamp of the event\n        * @param {engine} event.source The source object of the event\n        * @param {string} event.name The name of the event\n        */\n/**\n        * Fired after engine update, provides a list of all pairs that have ended collision in the current tick (if any)\n        *\n        * @event collisionEnd\n        * @param {object} event An event object\n        * @param {pair[]} event.pairs List of affected pairs\n        * @param {number} event.timestamp The engine.timing.timestamp of the event\n        * @param {engine} event.source The source object of the event\n        * @param {string} event.name The name of the event\n        */\n/**\n         * An integer `Number` that specifies the number of position iterations to perform each update.\n         * The higher the value, the higher quality the simulation will be at the expense of performance.\n         *\n         * @property positionIterations\n         * @type number\n         * @default 6\n         */\n/**\n         * An integer `Number` that specifies the number of velocity iterations to perform each update.\n         * The higher the value, the higher quality the simulation will be at the expense of performance.\n         *\n         * @property velocityIterations\n         * @type number\n         * @default 4\n         */\n/**\n         * An integer `Number` that specifies the number of constraint iterations to perform each update.\n         * The higher the value, the higher quality the simulation will be at the expense of performance.\n         * The default value of `2` is usually very adequate.\n         *\n         * @property constraintIterations\n         * @type number\n         * @default 2\n         */\n/**\n         * A flag that specifies whether the engine should allow sleeping via the `Matter.Sleeping` module.\n         * Sleeping can improve stability and performance, but often at the expense of accuracy.\n         *\n         * @property enableSleeping\n         * @type boolean\n         * @default false\n         */\n/**\n         * An `Object` containing properties regarding the timing systems of the engine. \n         *\n         * @property timing\n         * @type object\n         */\n/**\n         * A `Number` that specifies the global scaling factor of time for all bodies.\n         * A value of `0` freezes the simulation.\n         * A value of `0.1` gives a slow-motion effect.\n         * A value of `1.2` gives a speed-up effect.\n         *\n         * @property timing.timeScale\n         * @type number\n         * @default 1\n         */\n/**\n         * A `Number` that specifies the current simulation-time in milliseconds starting from `0`. \n         * It is incremented on every `Engine.update` by the given `delta` argument. \n         *\n         * @property timing.timestamp\n         * @type number\n         * @default 0\n         */\n/**\n         * A `Number` that represents the total execution time elapsed during the last `Engine.update` in milliseconds.\n         * It is updated by timing from the start of the last `Engine.update` call until it ends.\n         *\n         * This value will also include the total execution time of all event handlers directly or indirectly triggered by the engine update.\n         *\n         * @property timing.lastElapsed\n         * @type number\n         * @default 0\n         */\n/**\n         * A `Number` that represents the `delta` value used in the last engine update.\n         *\n         * @property timing.lastDelta\n         * @type number\n         * @default 0\n         */\n/**\n         * A `Matter.Detector` instance.\n         *\n         * @property detector\n         * @type detector\n         * @default a Matter.Detector instance\n         */\n/**\n         * A `Matter.Grid` instance.\n         *\n         * @deprecated replaced by `engine.detector`\n         * @property grid\n         * @type grid\n         * @default a Matter.Grid instance\n         */\n/**\n         * Replaced by and now alias for `engine.grid`.\n         *\n         * @deprecated replaced by `engine.detector`\n         * @property broadphase\n         * @type grid\n         * @default a Matter.Grid instance\n         */\n/**\n         * The root `Matter.Composite` instance that will contain all bodies, constraints and other composites to be simulated by this engine.\n         *\n         * @property world\n         * @type composite\n         * @default a Matter.Composite instance\n         */\n/**\n         * An object reserved for storing plugin-specific properties.\n         *\n         * @property plugin\n         * @type {}\n         */\n/**\n         * The gravity to apply on all bodies in `engine.world`.\n         *\n         * @property gravity\n         * @type object\n         */\n/**\n         * The gravity x component.\n         *\n         * @property gravity.x\n         * @type object\n         * @default 0\n         */\n/**\n         * The gravity y component.\n         *\n         * @property gravity.y\n         * @type object\n         * @default 1\n         */\n/**\n         * The gravity scale factor.\n         *\n         * @property gravity.scale\n         * @type object\n         * @default 0.001\n         */})()},function(e,t,n){var i={};e.exports=i;var o=n(3);var r=n(1);(function(){i._restingThresh=4;i._restingThreshTangent=6;i._positionDampen=.9;i._positionWarming=.8;i._frictionNormalMultiplier=5;\n/**\n         * Prepare pairs for position solving.\n         * @method preSolvePosition\n         * @param {pair[]} pairs\n         */i.preSolvePosition=function(e){var t,n,i,o=e.length;for(t=0;t<o;t++){n=e[t];if(n.isActive){i=n.activeContacts.length;n.collision.parentA.totalContacts+=i;n.collision.parentB.totalContacts+=i}}};\n/**\n         * Find a solution for pair positions.\n         * @method solvePosition\n         * @param {pair[]} pairs\n         * @param {number} timeScale\n         */i.solvePosition=function(e,t){var n,o,r,a,s,l,c,u,f=i._positionDampen,d=e.length;for(n=0;n<d;n++){o=e[n];if(o.isActive&&!o.isSensor){r=o.collision;a=r.parentA;s=r.parentB;l=r.normal;o.separation=l.x*(s.positionImpulse.x+r.penetration.x-a.positionImpulse.x)+l.y*(s.positionImpulse.y+r.penetration.y-a.positionImpulse.y)}}for(n=0;n<d;n++){o=e[n];if(o.isActive&&!o.isSensor){r=o.collision;a=r.parentA;s=r.parentB;l=r.normal;u=(o.separation-o.slop)*t;(a.isStatic||s.isStatic)&&(u*=2);if(!(a.isStatic||a.isSleeping)){c=f/a.totalContacts;a.positionImpulse.x+=l.x*u*c;a.positionImpulse.y+=l.y*u*c}if(!(s.isStatic||s.isSleeping)){c=f/s.totalContacts;s.positionImpulse.x-=l.x*u*c;s.positionImpulse.y-=l.y*u*c}}}};\n/**\n         * Apply position resolution.\n         * @method postSolvePosition\n         * @param {body[]} bodies\n         */i.postSolvePosition=function(e){var t=i._positionWarming,n=e.length,a=o.translate,s=r.update;for(var l=0;l<n;l++){var c=e[l],u=c.positionImpulse,f=u.x,d=u.y,p=c.velocity;c.totalContacts=0;if(0!==f||0!==d){for(var v=0;v<c.parts.length;v++){var y=c.parts[v];a(y.vertices,u);s(y.bounds,y.vertices,p);y.position.x+=f;y.position.y+=d}c.positionPrev.x+=f;c.positionPrev.y+=d;if(f*p.x+d*p.y<0){u.x=0;u.y=0}else{u.x*=t;u.y*=t}}}};\n/**\n         * Prepare pairs for velocity solving.\n         * @method preSolveVelocity\n         * @param {pair[]} pairs\n         */i.preSolveVelocity=function(e){var t,n,i=e.length;for(t=0;t<i;t++){var o=e[t];if(o.isActive&&!o.isSensor){var r=o.activeContacts,a=r.length,s=o.collision,l=s.parentA,c=s.parentB,u=s.normal,f=s.tangent;for(n=0;n<a;n++){var d=r[n],p=d.vertex,v=d.normalImpulse,y=d.tangentImpulse;if(0!==v||0!==y){var m=u.x*v+f.x*y,g=u.y*v+f.y*y;if(!(l.isStatic||l.isSleeping)){l.positionPrev.x+=m*l.inverseMass;l.positionPrev.y+=g*l.inverseMass;l.anglePrev+=l.inverseInertia*((p.x-l.position.x)*g-(p.y-l.position.y)*m)}if(!(c.isStatic||c.isSleeping)){c.positionPrev.x-=m*c.inverseMass;c.positionPrev.y-=g*c.inverseMass;c.anglePrev-=c.inverseInertia*((p.x-c.position.x)*g-(p.y-c.position.y)*m)}}}}}};\n/**\n         * Find a solution for pair velocities.\n         * @method solveVelocity\n         * @param {pair[]} pairs\n         * @param {number} timeScale\n         */i.solveVelocity=function(e,t){var n,o,r,a,s=t*t,l=i._restingThresh*s,c=i._frictionNormalMultiplier,u=i._restingThreshTangent*s,f=Number.MAX_VALUE,d=e.length;for(r=0;r<d;r++){var p=e[r];if(p.isActive&&!p.isSensor){var v=p.collision,y=v.parentA,m=v.parentB,g=y.velocity,x=m.velocity,h=v.normal.x,b=v.normal.y,S=v.tangent.x,w=v.tangent.y,_=p.activeContacts,A=_.length,P=1/A,C=y.inverseMass+m.inverseMass,k=p.friction*p.frictionStatic*c*s;g.x=y.position.x-y.positionPrev.x;g.y=y.position.y-y.positionPrev.y;x.x=m.position.x-m.positionPrev.x;x.y=m.position.y-m.positionPrev.y;y.angularVelocity=y.angle-y.anglePrev;m.angularVelocity=m.angle-m.anglePrev;for(a=0;a<A;a++){var M=_[a],B=M.vertex;var I=B.x-y.position.x,T=B.y-y.position.y,R=B.x-m.position.x,E=B.y-m.position.y;var V=g.x-T*y.angularVelocity,L=g.y+I*y.angularVelocity,q=x.x-E*m.angularVelocity,O=x.y+R*m.angularVelocity;var D=V-q,F=L-O;var H=h*D+b*F,j=S*D+w*F;var W=p.separation+H;var G=Math.min(W,1);G=W<0?0:G;var N=G*k;if(j>N||-j>N){o=j>0?j:-j;n=p.friction*(j>0?1:-1)*s;n<-o?n=-o:n>o&&(n=o)}else{n=j;o=f}var U=I*b-T*h,z=R*b-E*h,X=P/(C+y.inverseInertia*U*U+m.inverseInertia*z*z);var Q=(1+p.restitution)*H*X;n*=X;if(H*H>l&&H<0)M.normalImpulse=0;else{var Y=M.normalImpulse;M.normalImpulse+=Q;M.normalImpulse=Math.min(M.normalImpulse,0);Q=M.normalImpulse-Y}if(j*j>u)M.tangentImpulse=0;else{var Z=M.tangentImpulse;M.tangentImpulse+=n;M.tangentImpulse<-o&&(M.tangentImpulse=-o);M.tangentImpulse>o&&(M.tangentImpulse=o);n=M.tangentImpulse-Z}var $=h*Q+S*n,J=b*Q+w*n;if(!(y.isStatic||y.isSleeping)){y.positionPrev.x+=$*y.inverseMass;y.positionPrev.y+=J*y.inverseMass;y.anglePrev+=(I*J-T*$)*y.inverseInertia}if(!(m.isStatic||m.isSleeping)){m.positionPrev.x-=$*m.inverseMass;m.positionPrev.y-=J*m.inverseMass;m.anglePrev-=(R*J-E*$)*m.inverseInertia}}}}}})()},function(e,t,n){var i={};e.exports=i;var o=n(9);var r=n(0);(function(){\n/**\n         * Creates a new pairs structure.\n         * @method create\n         * @param {object} options\n         * @return {pairs} A new pairs structure\n         */\ni.create=function(e){return r.extend({table:{},list:[],collisionStart:[],collisionActive:[],collisionEnd:[]},e)};\n/**\n         * Updates pairs given a list of collisions.\n         * @method update\n         * @param {object} pairs\n         * @param {collision[]} collisions\n         * @param {number} timestamp\n         */i.update=function(e,t,n){var i,r,a,s,l=e.list,c=l.length,u=e.table,f=t.length,d=e.collisionStart,p=e.collisionEnd,v=e.collisionActive;d.length=0;p.length=0;v.length=0;for(s=0;s<c;s++)l[s].confirmedActive=false;for(s=0;s<f;s++){i=t[s];a=i.pair;if(a){a.isActive?v.push(a):d.push(a);o.update(a,i,n);a.confirmedActive=true}else{a=o.create(i,n);u[a.id]=a;d.push(a);l.push(a)}}var y=[];c=l.length;for(s=0;s<c;s++){a=l[s];if(!a.confirmedActive){o.setActive(a,false,n);p.push(a);a.collision.bodyA.isSleeping||a.collision.bodyB.isSleeping||y.push(s)}}for(s=0;s<y.length;s++){r=y[s]-s;a=l[r];l.splice(r,1);delete u[a.id]}};\n/**\n         * Clears the given pairs structure.\n         * @method clear\n         * @param {pairs} pairs\n         * @return {pairs} pairs\n         */i.clear=function(e){e.table={};e.list.length=0;e.collisionStart.length=0;e.collisionActive.length=0;e.collisionEnd.length=0;return e}})()},function(e,t,n){var i=e.exports=n(22);i.Axes=n(11);i.Bodies=n(12);i.Body=n(6);i.Bounds=n(1);i.Collision=n(8);i.Common=n(0);i.Composite=n(5);i.Composites=n(23);i.Constraint=n(10);i.Contact=n(17);i.Detector=n(14);i.Engine=n(18);i.Events=n(4);i.Grid=n(24);i.Mouse=n(13);i.MouseConstraint=n(25);i.Pair=n(9);i.Pairs=n(20);i.Plugin=n(15);i.Query=n(26);i.Render=n(16);i.Resolver=n(19);i.Runner=n(27);i.SAT=n(28);i.Sleeping=n(7);i.Svg=n(29);i.Vector=n(2);i.Vertices=n(3);i.World=n(30);i.Engine.run=i.Runner.run;i.Common.deprecated(i.Engine,\"run\",\"Engine.run ➤ use Matter.Runner.run(engine) instead\")},function(e,t,n){var i={};e.exports=i;var o=n(15);var r=n(0);(function(){\n/**\n         * The library name.\n         * @property name\n         * @readOnly\n         * @type {String}\n         */\ni.name=\"matter-js\";\n/**\n         * The library version.\n         * @property version\n         * @readOnly\n         * @type {String}\n         */i.version=\"0.18.0\";\n/**\n         * A list of plugin dependencies to be installed. These are normally set and installed through `Matter.use`.\n         * Alternatively you may set `Matter.uses` manually and install them by calling `Plugin.use(Matter)`.\n         * @property uses\n         * @type {Array}\n         */i.uses=[];\n/**\n         * The plugins that have been installed through `Matter.Plugin.install`. Read only.\n         * @property used\n         * @readOnly\n         * @type {Array}\n         */i.used=[];\n/**\n         * Installs the given plugins on the `Matter` namespace.\n         * This is a short-hand for `Plugin.use`, see it for more information.\n         * Call this function once at the start of your code, with all of the plugins you wish to install as arguments.\n         * Avoid calling this function multiple times unless you intend to manually control installation order.\n         * @method use\n         * @param ...plugin {Function} The plugin(s) to install on `base` (multi-argument).\n         */i.use=function(){o.use(i,Array.prototype.slice.call(arguments))};\n/**\n         * Chains a function to excute before the original function on the given `path` relative to `Matter`.\n         * See also docs for `Common.chain`.\n         * @method before\n         * @param {string} path The path relative to `Matter`\n         * @param {function} func The function to chain before the original\n         * @return {function} The chained function that replaced the original\n         */i.before=function(e,t){e=e.replace(/^Matter./,\"\");return r.chainPathBefore(i,e,t)};\n/**\n         * Chains a function to excute after the original function on the given `path` relative to `Matter`.\n         * See also docs for `Common.chain`.\n         * @method after\n         * @param {string} path The path relative to `Matter`\n         * @param {function} func The function to chain after the original\n         * @return {function} The chained function that replaced the original\n         */i.after=function(e,t){e=e.replace(/^Matter./,\"\");return r.chainPathAfter(i,e,t)}})()},function(e,t,n){var i={};e.exports=i;var o=n(5);var r=n(10);var a=n(0);var s=n(6);var l=n(12);var c=a.deprecated;(function(){\n/**\n         * Create a new composite containing bodies created in the callback in a grid arrangement.\n         * This function uses the body's bounds to prevent overlaps.\n         * @method stack\n         * @param {number} xx\n         * @param {number} yy\n         * @param {number} columns\n         * @param {number} rows\n         * @param {number} columnGap\n         * @param {number} rowGap\n         * @param {function} callback\n         * @return {composite} A new composite containing objects created in the callback\n         */\ni.stack=function(e,t,n,i,r,a,l){var c,u=o.create({label:\"Stack\"}),f=e,d=t,p=0;for(var v=0;v<i;v++){var y=0;for(var m=0;m<n;m++){var g=l(f,d,m,v,c,p);if(g){var x=g.bounds.max.y-g.bounds.min.y,h=g.bounds.max.x-g.bounds.min.x;x>y&&(y=x);s.translate(g,{x:.5*h,y:.5*x});f=g.bounds.max.x+r;o.addBody(u,g);c=g;p+=1}else f+=r}d+=y+a;f=e}return u};\n/**\n         * Chains all bodies in the given composite together using constraints.\n         * @method chain\n         * @param {composite} composite\n         * @param {number} xOffsetA\n         * @param {number} yOffsetA\n         * @param {number} xOffsetB\n         * @param {number} yOffsetB\n         * @param {object} options\n         * @return {composite} A new composite containing objects chained together with constraints\n         */i.chain=function(e,t,n,i,s,l){var c=e.bodies;for(var u=1;u<c.length;u++){var f=c[u-1],d=c[u],p=f.bounds.max.y-f.bounds.min.y,v=f.bounds.max.x-f.bounds.min.x,y=d.bounds.max.y-d.bounds.min.y,m=d.bounds.max.x-d.bounds.min.x;var g={bodyA:f,pointA:{x:v*t,y:p*n},bodyB:d,pointB:{x:m*i,y:y*s}};var x=a.extend(g,l);o.addConstraint(e,r.create(x))}e.label+=\" Chain\";return e};\n/**\n         * Connects bodies in the composite with constraints in a grid pattern, with optional cross braces.\n         * @method mesh\n         * @param {composite} composite\n         * @param {number} columns\n         * @param {number} rows\n         * @param {boolean} crossBrace\n         * @param {object} options\n         * @return {composite} The composite containing objects meshed together with constraints\n         */i.mesh=function(e,t,n,i,s){var l,c,u,f,d,p=e.bodies;for(l=0;l<n;l++){for(c=1;c<t;c++){u=p[c-1+l*t];f=p[c+l*t];o.addConstraint(e,r.create(a.extend({bodyA:u,bodyB:f},s)))}if(l>0)for(c=0;c<t;c++){u=p[c+(l-1)*t];f=p[c+l*t];o.addConstraint(e,r.create(a.extend({bodyA:u,bodyB:f},s)));if(i&&c>0){d=p[c-1+(l-1)*t];o.addConstraint(e,r.create(a.extend({bodyA:d,bodyB:f},s)))}if(i&&c<t-1){d=p[c+1+(l-1)*t];o.addConstraint(e,r.create(a.extend({bodyA:d,bodyB:f},s)))}}}e.label+=\" Mesh\";return e};\n/**\n         * Create a new composite containing bodies created in the callback in a pyramid arrangement.\n         * This function uses the body's bounds to prevent overlaps.\n         * @method pyramid\n         * @param {number} xx\n         * @param {number} yy\n         * @param {number} columns\n         * @param {number} rows\n         * @param {number} columnGap\n         * @param {number} rowGap\n         * @param {function} callback\n         * @return {composite} A new composite containing objects created in the callback\n         */i.pyramid=function(e,t,n,o,r,a,l){return i.stack(e,t,n,o,r,a,(function(t,i,a,c,u,f){var d=Math.min(o,Math.ceil(n/2)),p=u?u.bounds.max.x-u.bounds.min.x:0;if(!(c>d)){c=d-c;var v=c,y=n-1-c;if(!(a<v||a>y)){1===f&&s.translate(u,{x:(a+(n%2===1?1:-1))*p,y:0});var m=u?a*p:0;return l(e+m+a*r,i,a,c,u,f)}}}))};\n/**\n         * This has now moved to the [newtonsCradle example](https://github.com/liabru/matter-js/blob/master/examples/newtonsCradle.js), follow that instead as this function is deprecated here.\n         * @deprecated moved to newtonsCradle example\n         * @method newtonsCradle\n         * @param {number} xx\n         * @param {number} yy\n         * @param {number} number\n         * @param {number} size\n         * @param {number} length\n         * @return {composite} A new composite newtonsCradle body\n         */i.newtonsCradle=function(e,t,n,i,a){var s=o.create({label:\"Newtons Cradle\"});for(var c=0;c<n;c++){var u=1.9,f=l.circle(e+c*(i*u),t+a,i,{inertia:Infinity,restitution:1,friction:0,frictionAir:1e-4,slop:1}),d=r.create({pointA:{x:e+c*(i*u),y:t},bodyB:f});o.addBody(s,f);o.addConstraint(s,d)}return s};c(i,\"newtonsCradle\",\"Composites.newtonsCradle ➤ moved to newtonsCradle example\");\n/**\n         * This has now moved to the [car example](https://github.com/liabru/matter-js/blob/master/examples/car.js), follow that instead as this function is deprecated here.\n         * @deprecated moved to car example\n         * @method car\n         * @param {number} xx\n         * @param {number} yy\n         * @param {number} width\n         * @param {number} height\n         * @param {number} wheelSize\n         * @return {composite} A new composite car body\n         */i.car=function(e,t,n,i,a){var c=s.nextGroup(true),u=20,f=.5*-n+u,d=.5*n-u,p=0;var v=o.create({label:\"Car\"}),y=l.rectangle(e,t,n,i,{collisionFilter:{group:c},chamfer:{radius:.5*i},density:2e-4});var m=l.circle(e+f,t+p,a,{collisionFilter:{group:c},friction:.8});var g=l.circle(e+d,t+p,a,{collisionFilter:{group:c},friction:.8});var x=r.create({bodyB:y,pointB:{x:f,y:p},bodyA:m,stiffness:1,length:0});var h=r.create({bodyB:y,pointB:{x:d,y:p},bodyA:g,stiffness:1,length:0});o.addBody(v,y);o.addBody(v,m);o.addBody(v,g);o.addConstraint(v,x);o.addConstraint(v,h);return v};c(i,\"car\",\"Composites.car ➤ moved to car example\");\n/**\n         * This has now moved to the [softBody example](https://github.com/liabru/matter-js/blob/master/examples/softBody.js)\n         * and the [cloth example](https://github.com/liabru/matter-js/blob/master/examples/cloth.js), follow those instead as this function is deprecated here.\n         * @deprecated moved to softBody and cloth examples\n         * @method softBody\n         * @param {number} xx\n         * @param {number} yy\n         * @param {number} columns\n         * @param {number} rows\n         * @param {number} columnGap\n         * @param {number} rowGap\n         * @param {boolean} crossBrace\n         * @param {number} particleRadius\n         * @param {} particleOptions\n         * @param {} constraintOptions\n         * @return {composite} A new composite softBody\n         */i.softBody=function(e,t,n,o,r,s,c,u,f,d){f=a.extend({inertia:Infinity},f);d=a.extend({stiffness:.2,render:{type:\"line\",anchors:false}},d);var p=i.stack(e,t,n,o,r,s,(function(e,t){return l.circle(e,t,u,f)}));i.mesh(p,n,o,c,d);p.label=\"Soft Body\";return p};c(i,\"softBody\",\"Composites.softBody ➤ moved to softBody and cloth examples\")})()},function(e,t,n){\n/**\n      * This module has now been replaced by `Matter.Detector`.\n      *\n      * All usage should be migrated to `Matter.Detector` or another alternative.\n      * For back-compatibility purposes this module will remain for a short term and then later removed in a future release.\n      *\n      * The `Matter.Grid` module contains methods for creating and manipulating collision broadphase grid structures.\n      *\n      * @class Grid\n      * @deprecated\n      */\nvar i={};e.exports=i;var o=n(9);var r=n(0);var a=r.deprecated;(function(){\n/**\n         * Creates a new grid.\n         * @deprecated replaced by Matter.Detector\n         * @method create\n         * @param {} options\n         * @return {grid} A new grid\n         */\ni.create=function(e){var t={buckets:{},pairs:{},pairsList:[],bucketWidth:48,bucketHeight:48};return r.extend(t,e)};\n/**\n         * The width of a single grid bucket.\n         *\n         * @property bucketWidth\n         * @type number\n         * @default 48\n         */\n/**\n         * The height of a single grid bucket.\n         *\n         * @property bucketHeight\n         * @type number\n         * @default 48\n         */\n/**\n         * Updates the grid.\n         * @deprecated replaced by Matter.Detector\n         * @method update\n         * @param {grid} grid\n         * @param {body[]} bodies\n         * @param {engine} engine\n         * @param {boolean} forceUpdate\n         */i.update=function(e,t,n,o){var r,a,s,l,c,u=n.world,f=e.buckets,d=false;for(r=0;r<t.length;r++){var p=t[r];if((!p.isSleeping||o)&&(!u.bounds||!(p.bounds.max.x<u.bounds.min.x||p.bounds.min.x>u.bounds.max.x||p.bounds.max.y<u.bounds.min.y||p.bounds.min.y>u.bounds.max.y))){var v=i._getRegion(e,p);if(!p.region||v.id!==p.region.id||o){p.region&&!o||(p.region=v);var y=i._regionUnion(v,p.region);for(a=y.startCol;a<=y.endCol;a++)for(s=y.startRow;s<=y.endRow;s++){c=i._getBucketId(a,s);l=f[c];var m=a>=v.startCol&&a<=v.endCol&&s>=v.startRow&&s<=v.endRow;var g=a>=p.region.startCol&&a<=p.region.endCol&&s>=p.region.startRow&&s<=p.region.endRow;!m&&g&&g&&l&&i._bucketRemoveBody(e,l,p);if(p.region===v||m&&!g||o){l||(l=i._createBucket(f,c));i._bucketAddBody(e,l,p)}}p.region=v;d=true}}}d&&(e.pairsList=i._createActivePairsList(e))};a(i,\"update\",\"Grid.update ➤ replaced by Matter.Detector\");\n/**\n         * Clears the grid.\n         * @deprecated replaced by Matter.Detector\n         * @method clear\n         * @param {grid} grid\n         */i.clear=function(e){e.buckets={};e.pairs={};e.pairsList=[]};a(i,\"clear\",\"Grid.clear ➤ replaced by Matter.Detector\");\n/**\n         * Finds the union of two regions.\n         * @method _regionUnion\n         * @deprecated replaced by Matter.Detector\n         * @private\n         * @param {} regionA\n         * @param {} regionB\n         * @return {} region\n         */i._regionUnion=function(e,t){var n=Math.min(e.startCol,t.startCol),o=Math.max(e.endCol,t.endCol),r=Math.min(e.startRow,t.startRow),a=Math.max(e.endRow,t.endRow);return i._createRegion(n,o,r,a)};\n/**\n         * Gets the region a given body falls in for a given grid.\n         * @method _getRegion\n         * @deprecated replaced by Matter.Detector\n         * @private\n         * @param {} grid\n         * @param {} body\n         * @return {} region\n         */i._getRegion=function(e,t){var n=t.bounds,o=Math.floor(n.min.x/e.bucketWidth),r=Math.floor(n.max.x/e.bucketWidth),a=Math.floor(n.min.y/e.bucketHeight),s=Math.floor(n.max.y/e.bucketHeight);return i._createRegion(o,r,a,s)};\n/**\n         * Creates a region.\n         * @method _createRegion\n         * @deprecated replaced by Matter.Detector\n         * @private\n         * @param {} startCol\n         * @param {} endCol\n         * @param {} startRow\n         * @param {} endRow\n         * @return {} region\n         */i._createRegion=function(e,t,n,i){return{id:e+\",\"+t+\",\"+n+\",\"+i,startCol:e,endCol:t,startRow:n,endRow:i}};\n/**\n         * Gets the bucket id at the given position.\n         * @method _getBucketId\n         * @deprecated replaced by Matter.Detector\n         * @private\n         * @param {} column\n         * @param {} row\n         * @return {string} bucket id\n         */i._getBucketId=function(e,t){return\"C\"+e+\"R\"+t};\n/**\n         * Creates a bucket.\n         * @method _createBucket\n         * @deprecated replaced by Matter.Detector\n         * @private\n         * @param {} buckets\n         * @param {} bucketId\n         * @return {} bucket\n         */i._createBucket=function(e,t){var n=e[t]=[];return n};\n/**\n         * Adds a body to a bucket.\n         * @method _bucketAddBody\n         * @deprecated replaced by Matter.Detector\n         * @private\n         * @param {} grid\n         * @param {} bucket\n         * @param {} body\n         */i._bucketAddBody=function(e,t,n){var i,r=e.pairs,a=o.id,s=t.length;for(i=0;i<s;i++){var l=t[i];if(!(n.id===l.id||n.isStatic&&l.isStatic)){var c=a(n,l),u=r[c];u?u[2]+=1:r[c]=[n,l,1]}}t.push(n)};\n/**\n         * Removes a body from a bucket.\n         * @method _bucketRemoveBody\n         * @deprecated replaced by Matter.Detector\n         * @private\n         * @param {} grid\n         * @param {} bucket\n         * @param {} body\n         */i._bucketRemoveBody=function(e,t,n){var i,a=e.pairs,s=o.id;t.splice(r.indexOf(t,n),1);var l=t.length;for(i=0;i<l;i++){var c=a[s(n,t[i])];c&&(c[2]-=1)}};\n/**\n         * Generates a list of the active pairs in the grid.\n         * @method _createActivePairsList\n         * @deprecated replaced by Matter.Detector\n         * @private\n         * @param {} grid\n         * @return [] pairs\n         */i._createActivePairsList=function(e){var t,n,i=e.pairs,o=r.keys(i),a=o.length,s=[];for(n=0;n<a;n++){t=i[o[n]];t[2]>0?s.push(t):delete i[o[n]]}return s}})()},function(e,t,n){var i={};e.exports=i;var o=n(3);var r=n(7);var a=n(13);var s=n(4);var l=n(14);var c=n(10);var u=n(5);var f=n(0);var d=n(1);(function(){\n/**\n         * Creates a new mouse constraint.\n         * All properties have default values, and many are pre-calculated automatically based on other properties.\n         * See the properties section below for detailed information on what you can pass via the `options` object.\n         * @method create\n         * @param {engine} engine\n         * @param {} options\n         * @return {MouseConstraint} A new MouseConstraint\n         */\ni.create=function(e,t){var n=(e?e.mouse:null)||(t?t.mouse:null);if(!n)if(e&&e.render&&e.render.canvas)n=a.create(e.render.canvas);else if(t&&t.element)n=a.create(t.element);else{n=a.create();f.warn(\"MouseConstraint.create: options.mouse was undefined, options.element was undefined, may not function as expected\")}var o=c.create({label:\"Mouse Constraint\",pointA:n.position,pointB:{x:0,y:0},length:.01,stiffness:.1,angularStiffness:1,render:{strokeStyle:\"#90EE90\",lineWidth:3}});var r={type:\"mouseConstraint\",mouse:n,element:null,body:null,constraint:o,collisionFilter:{category:1,mask:4294967295,group:0}};var l=f.extend(r,t);s.on(e,\"beforeUpdate\",(function(){var t=u.allBodies(e.world);i.update(l,t);i._triggerEvents(l)}));return l};\n/**\n         * Updates the given mouse constraint.\n         * @private\n         * @method update\n         * @param {MouseConstraint} mouseConstraint\n         * @param {body[]} bodies\n         */i.update=function(e,t){var n=e.mouse,i=e.constraint,a=e.body;if(0===n.button)if(i.bodyB){r.set(i.bodyB,false);i.pointA=n.position}else for(var c=0;c<t.length;c++){a=t[c];if(d.contains(a.bounds,n.position)&&l.canCollide(a.collisionFilter,e.collisionFilter))for(var u=a.parts.length>1?1:0;u<a.parts.length;u++){var f=a.parts[u];if(o.contains(f.vertices,n.position)){i.pointA=n.position;i.bodyB=e.body=a;i.pointB={x:n.position.x-a.position.x,y:n.position.y-a.position.y};i.angleB=a.angle;r.set(a,false);s.trigger(e,\"startdrag\",{mouse:n,body:a});break}}}else{i.bodyB=e.body=null;i.pointB=null;a&&s.trigger(e,\"enddrag\",{mouse:n,body:a})}};\n/**\n         * Triggers mouse constraint events.\n         * @method _triggerEvents\n         * @private\n         * @param {mouse} mouseConstraint\n         */i._triggerEvents=function(e){var t=e.mouse,n=t.sourceEvents;n.mousemove&&s.trigger(e,\"mousemove\",{mouse:t});n.mousedown&&s.trigger(e,\"mousedown\",{mouse:t});n.mouseup&&s.trigger(e,\"mouseup\",{mouse:t});a.clearSourceEvents(t)};\n/**\n        * Fired when the mouse has moved (or a touch moves) during the last step\n        *\n        * @event mousemove\n        * @param {} event An event object\n        * @param {mouse} event.mouse The engine's mouse instance\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n        * Fired when the mouse is down (or a touch has started) during the last step\n        *\n        * @event mousedown\n        * @param {} event An event object\n        * @param {mouse} event.mouse The engine's mouse instance\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n        * Fired when the mouse is up (or a touch has ended) during the last step\n        *\n        * @event mouseup\n        * @param {} event An event object\n        * @param {mouse} event.mouse The engine's mouse instance\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n        * Fired when the user starts dragging a body\n        *\n        * @event startdrag\n        * @param {} event An event object\n        * @param {mouse} event.mouse The engine's mouse instance\n        * @param {body} event.body The body being dragged\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n        * Fired when the user ends dragging a body\n        *\n        * @event enddrag\n        * @param {} event An event object\n        * @param {mouse} event.mouse The engine's mouse instance\n        * @param {body} event.body The body that has stopped being dragged\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n         * A `String` denoting the type of object.\n         *\n         * @property type\n         * @type string\n         * @default \"constraint\"\n         * @readOnly\n         */\n/**\n         * The `Mouse` instance in use. If not supplied in `MouseConstraint.create`, one will be created.\n         *\n         * @property mouse\n         * @type mouse\n         * @default mouse\n         */\n/**\n         * The `Body` that is currently being moved by the user, or `null` if no body.\n         *\n         * @property body\n         * @type body\n         * @default null\n         */\n/**\n         * The `Constraint` object that is used to move the body during interaction.\n         *\n         * @property constraint\n         * @type constraint\n         */\n/**\n         * An `Object` that specifies the collision filter properties.\n         * The collision filter allows the user to define which types of body this mouse constraint can interact with.\n         * See `body.collisionFilter` for more information.\n         *\n         * @property collisionFilter\n         * @type object\n         */})()},function(e,t,n){var i={};e.exports=i;var o=n(2);var r=n(8);var a=n(1);var s=n(12);var l=n(3);(function(){\n/**\n         * Returns a list of collisions between `body` and `bodies`.\n         * @method collides\n         * @param {body} body\n         * @param {body[]} bodies\n         * @return {collision[]} Collisions\n         */\ni.collides=function(e,t){var n=[],i=t.length,o=e.bounds,s=r.collides,l=a.overlaps;for(var c=0;c<i;c++){var u=t[c],f=u.parts.length,d=1===f?0:1;if(l(u.bounds,o))for(var p=d;p<f;p++){var v=u.parts[p];if(l(v.bounds,o)){var y=s(v,e);if(y){n.push(y);break}}}}return n};\n/**\n         * Casts a ray segment against a set of bodies and returns all collisions, ray width is optional. Intersection points are not provided.\n         * @method ray\n         * @param {body[]} bodies\n         * @param {vector} startPoint\n         * @param {vector} endPoint\n         * @param {number} [rayWidth]\n         * @return {collision[]} Collisions\n         */i.ray=function(e,t,n,r){r=r||1e-100;var a=o.angle(t,n),l=o.magnitude(o.sub(t,n)),c=.5*(n.x+t.x),u=.5*(n.y+t.y),f=s.rectangle(c,u,l,r,{angle:a}),d=i.collides(f,e);for(var p=0;p<d.length;p+=1){var v=d[p];v.body=v.bodyB=v.bodyA}return d};\n/**\n         * Returns all bodies whose bounds are inside (or outside if set) the given set of bounds, from the given set of bodies.\n         * @method region\n         * @param {body[]} bodies\n         * @param {bounds} bounds\n         * @param {bool} [outside=false]\n         * @return {body[]} The bodies matching the query\n         */i.region=function(e,t,n){var i=[];for(var o=0;o<e.length;o++){var r=e[o],s=a.overlaps(r.bounds,t);(s&&!n||!s&&n)&&i.push(r)}return i};\n/**\n         * Returns all bodies whose vertices contain the given point, from the given set of bodies.\n         * @method point\n         * @param {body[]} bodies\n         * @param {vector} point\n         * @return {body[]} The bodies matching the query\n         */i.point=function(e,t){var n=[];for(var i=0;i<e.length;i++){var o=e[i];if(a.contains(o.bounds,t))for(var r=1===o.parts.length?0:1;r<o.parts.length;r++){var s=o.parts[r];if(a.contains(s.bounds,t)&&l.contains(s.vertices,t)){n.push(o);break}}}return n}})()},function(e,t,n){var i={};e.exports=i;var o=n(4);var r=n(18);var a=n(0);(function(){var e,t;if(\"undefined\"!==typeof window){e=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame;t=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame}if(!e){var n;e=function(e){n=setTimeout((function(){e(a.now())}),1e3/60)};t=function(){clearTimeout(n)}}\n/**\n         * Creates a new Runner. The options parameter is an object that specifies any properties you wish to override the defaults.\n         * @method create\n         * @param {} options\n         */i.create=function(e){var t={fps:60,correction:1,deltaSampleSize:60,counterTimestamp:0,frameCounter:0,deltaHistory:[],timePrev:null,timeScalePrev:1,frameRequestId:null,isFixed:false,enabled:true};var n=a.extend(t,e);n.delta=n.delta||1e3/n.fps;n.deltaMin=n.deltaMin||1e3/n.fps;n.deltaMax=n.deltaMax||1e3/(.5*n.fps);n.fps=1e3/n.delta;return n};\n/**\n         * Continuously ticks a `Matter.Engine` by calling `Runner.tick` on the `requestAnimationFrame` event.\n         * @method run\n         * @param {engine} engine\n         */i.run=function(t,n){if(\"undefined\"!==typeof t.positionIterations){n=t;t=i.create()}(function render(o){t.frameRequestId=e(render);o&&t.enabled&&i.tick(t,n,o)})();return t};\n/**\n         * A game loop utility that updates the engine and renderer by one step (a 'tick').\n         * Features delta smoothing, time correction and fixed or dynamic timing.\n         * Consider just `Engine.update(engine, delta)` if you're using your own loop.\n         * @method tick\n         * @param {runner} runner\n         * @param {engine} engine\n         * @param {number} time\n         */i.tick=function(e,t,n){var i,a=t.timing,s=1;var l={timestamp:a.timestamp};o.trigger(e,\"beforeTick\",l);if(e.isFixed)i=e.delta;else{i=n-e.timePrev||e.delta;e.timePrev=n;e.deltaHistory.push(i);e.deltaHistory=e.deltaHistory.slice(-e.deltaSampleSize);i=Math.min.apply(null,e.deltaHistory);i=i<e.deltaMin?e.deltaMin:i;i=i>e.deltaMax?e.deltaMax:i;s=i/e.delta;e.delta=i}0!==e.timeScalePrev&&(s*=a.timeScale/e.timeScalePrev);0===a.timeScale&&(s=0);e.timeScalePrev=a.timeScale;e.correction=s;e.frameCounter+=1;if(n-e.counterTimestamp>=1e3){e.fps=e.frameCounter*((n-e.counterTimestamp)/1e3);e.counterTimestamp=n;e.frameCounter=0}o.trigger(e,\"tick\",l);o.trigger(e,\"beforeUpdate\",l);r.update(t,i,s);o.trigger(e,\"afterUpdate\",l);o.trigger(e,\"afterTick\",l)};\n/**\n         * Ends execution of `Runner.run` on the given `runner`, by canceling the animation frame request event loop.\n         * If you wish to only temporarily pause the engine, see `engine.enabled` instead.\n         * @method stop\n         * @param {runner} runner\n         */i.stop=function(e){t(e.frameRequestId)};\n/**\n         * Alias for `Runner.run`.\n         * @method start\n         * @param {runner} runner\n         * @param {engine} engine\n         */i.start=function(e,t){i.run(e,t)};\n/**\n        * Fired at the start of a tick, before any updates to the engine or timing\n        *\n        * @event beforeTick\n        * @param {} event An event object\n        * @param {number} event.timestamp The engine.timing.timestamp of the event\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n        * Fired after engine timing updated, but just before update\n        *\n        * @event tick\n        * @param {} event An event object\n        * @param {number} event.timestamp The engine.timing.timestamp of the event\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n        * Fired at the end of a tick, after engine update and after rendering\n        *\n        * @event afterTick\n        * @param {} event An event object\n        * @param {number} event.timestamp The engine.timing.timestamp of the event\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n        * Fired before update\n        *\n        * @event beforeUpdate\n        * @param {} event An event object\n        * @param {number} event.timestamp The engine.timing.timestamp of the event\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n        * Fired after update\n        *\n        * @event afterUpdate\n        * @param {} event An event object\n        * @param {number} event.timestamp The engine.timing.timestamp of the event\n        * @param {} event.source The source object of the event\n        * @param {} event.name The name of the event\n        */\n/**\n         * A flag that specifies whether the runner is running or not.\n         *\n         * @property enabled\n         * @type boolean\n         * @default true\n         */\n/**\n         * A `Boolean` that specifies if the runner should use a fixed timestep (otherwise it is variable).\n         * If timing is fixed, then the apparent simulation speed will change depending on the frame rate (but behaviour will be deterministic).\n         * If the timing is variable, then the apparent simulation speed will be constant (approximately, but at the cost of determininism).\n         *\n         * @property isFixed\n         * @type boolean\n         * @default false\n         */\n/**\n         * A `Number` that specifies the time step between updates in milliseconds.\n         * If `engine.timing.isFixed` is set to `true`, then `delta` is fixed.\n         * If it is `false`, then `delta` can dynamically change to maintain the correct apparent simulation speed.\n         *\n         * @property delta\n         * @type number\n         * @default 1000 / 60\n         */})()},function(e,t,n){\n/**\n      * This module has now been replaced by `Matter.Collision`.\n      *\n      * All usage should be migrated to `Matter.Collision`.\n      * For back-compatibility purposes this module will remain for a short term and then later removed in a future release.\n      *\n      * The `Matter.SAT` module contains methods for detecting collisions using the Separating Axis Theorem.\n      *\n      * @class SAT\n      * @deprecated\n      */\nvar i={};e.exports=i;var o=n(8);var r=n(0);var a=r.deprecated;(function(){\n/**\n         * Detect collision between two bodies using the Separating Axis Theorem.\n         * @deprecated replaced by Collision.collides\n         * @method collides\n         * @param {body} bodyA\n         * @param {body} bodyB\n         * @return {collision} collision\n         */\ni.collides=function(e,t){return o.collides(e,t)};a(i,\"collides\",\"SAT.collides ➤ replaced by Collision.collides\")})()},function(e,t,n){var i={};e.exports=i;n(1);var o=n(0);(function(){\n/**\n         * Converts an SVG path into an array of vector points.\n         * If the input path forms a concave shape, you must decompose the result into convex parts before use.\n         * See `Bodies.fromVertices` which provides support for this.\n         * Note that this function is not guaranteed to support complex paths (such as those with holes).\n         * You must load the `pathseg.js` polyfill on newer browsers.\n         * @method pathToVertices\n         * @param {SVGPathElement} path\n         * @param {Number} [sampleLength=15]\n         * @return {Vector[]} points\n         */\ni.pathToVertices=function(e,t){\"undefined\"===typeof window||\"SVGPathSeg\"in window||o.warn(\"Svg.pathToVertices: SVGPathSeg not defined, a polyfill is required.\");var n,r,a,s,l,c,u,f,d,p,v,y,m=[],g=0,x=0,h=0;t=t||15;var addPoint=function(e,t,n){var i=n%2===1&&n>1;if(!d||e!=d.x||t!=d.y){if(d&&i){v=d.x;y=d.y}else{v=0;y=0}var o={x:v+e,y:y+t};!i&&d||(d=o);m.push(o);x=v+e;h=y+t}};var addSegmentPoint=function(e){var t=e.pathSegTypeAsLetter.toUpperCase();if(\"Z\"!==t){switch(t){case\"M\":case\"L\":case\"T\":case\"C\":case\"S\":case\"Q\":x=e.x;h=e.y;break;case\"H\":x=e.x;break;case\"V\":h=e.y;break}addPoint(x,h,e.pathSegType)}};i._svgPathToAbsolute(e);a=e.getTotalLength();c=[];for(n=0;n<e.pathSegList.numberOfItems;n+=1)c.push(e.pathSegList.getItem(n));u=c.concat();while(g<a){p=e.getPathSegAtLength(g);l=c[p];if(l!=f){while(u.length&&u[0]!=l)addSegmentPoint(u.shift());f=l}switch(l.pathSegTypeAsLetter.toUpperCase()){case\"C\":case\"T\":case\"S\":case\"Q\":case\"A\":s=e.getPointAtLength(g);addPoint(s.x,s.y,0);break}g+=t}for(n=0,r=u.length;n<r;++n)addSegmentPoint(u[n]);return m};i._svgPathToAbsolute=function(e){var t,n,i,o,r,a,s=e.pathSegList,l=0,c=0,u=s.numberOfItems;for(var f=0;f<u;++f){var d=s.getItem(f),p=d.pathSegTypeAsLetter;if(/[MLHVCSQTA]/.test(p)){\"x\"in d&&(l=d.x);\"y\"in d&&(c=d.y)}else{\"x1\"in d&&(i=l+d.x1);\"x2\"in d&&(r=l+d.x2);\"y1\"in d&&(o=c+d.y1);\"y2\"in d&&(a=c+d.y2);\"x\"in d&&(l+=d.x);\"y\"in d&&(c+=d.y);switch(p){case\"m\":s.replaceItem(e.createSVGPathSegMovetoAbs(l,c),f);break;case\"l\":s.replaceItem(e.createSVGPathSegLinetoAbs(l,c),f);break;case\"h\":s.replaceItem(e.createSVGPathSegLinetoHorizontalAbs(l),f);break;case\"v\":s.replaceItem(e.createSVGPathSegLinetoVerticalAbs(c),f);break;case\"c\":s.replaceItem(e.createSVGPathSegCurvetoCubicAbs(l,c,i,o,r,a),f);break;case\"s\":s.replaceItem(e.createSVGPathSegCurvetoCubicSmoothAbs(l,c,r,a),f);break;case\"q\":s.replaceItem(e.createSVGPathSegCurvetoQuadraticAbs(l,c,i,o),f);break;case\"t\":s.replaceItem(e.createSVGPathSegCurvetoQuadraticSmoothAbs(l,c),f);break;case\"a\":s.replaceItem(e.createSVGPathSegArcAbs(l,c,d.r1,d.r2,d.angle,d.largeArcFlag,d.sweepFlag),f);break;case\"z\":case\"Z\":l=t;c=n;break}}if(\"M\"==p||\"m\"==p){t=l;n=c}}}})()},function(e,t,n){var i={};e.exports=i;var o=n(5);n(0);(function(){i.create=o.create;i.add=o.add;i.remove=o.remove;i.clear=o.clear;i.addComposite=o.addComposite;i.addBody=o.addBody;i.addConstraint=o.addConstraint})()}])}));var n=t;const i=t.Matter,o=t.__esModule;export{i as Matter,o as __esModule,n as default};\n\n//# sourceMappingURL=matter.js.map","import Matter from\"matter-js\";const opts={isStatic:true,friction:2};export function makeWalls(conainerBounding,engine,wallOptions){var Bodies=Matter.Bodies;let bottom,top,wLeft,wRight;if(wallOptions.bottom){bottom=Bodies.rectangle(conainerBounding.width/2,conainerBounding.height+50,conainerBounding.width+100,100,opts);Matter.World.add(engine,bottom);}if(wallOptions.top){top=Bodies.rectangle(conainerBounding.width/2,-50,conainerBounding.width+100,100,opts);Matter.World.add(engine,top);}if(wallOptions.right){wRight=Bodies.rectangle(conainerBounding.width+50,conainerBounding.height/2,100,conainerBounding.height,opts);Matter.World.add(engine,wRight);}if(wallOptions.bottom){wLeft=Bodies.rectangle(-50,conainerBounding.height/2,100,conainerBounding.height,opts);Matter.World.add(engine,wLeft);}}\nexport const __FramerMetadata__ = {\"exports\":{\"makeWalls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MakeWalls.map","import Matter from\"matter-js\";export function makeBodies(container,world,elements,frictionOpts,densityOpts){const conainerBounding=container.getBoundingClientRect();let stack=Matter.Composites.stack(0,0,elements.length,1,0,0,(xx,yy,i)=>{const{x,y,width,height}=elements[i].getBoundingClientRect();var maxLeft=conainerBounding.width-width;var maxTop=conainerBounding.height-height;// Places the elements at random locations\n// Could be expanded to allow control of body placement from property controls\nvar tLeft=Math.floor(Math.random()*maxLeft),tTop=Math.floor(Math.random()*maxTop);return Matter.Bodies.rectangle(tLeft,tTop,width,height,{isStatic:false,density:densityOpts.enable?densityOpts.density:0,friction:frictionOpts.friction,frictionAir:frictionOpts.frictionAir});});Matter.World.add(world,stack);return stack;}\nexport const __FramerMetadata__ = {\"exports\":{\"makeBodies\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MakeBodies.map","import{jsx as _jsx}from\"react/jsx-runtime\";import React from\"react\";import Matter from\"matter-js\";import{addPropertyControls,ControlType}from\"framer\";import{makeWalls}from\"https://framerusercontent.com/modules/KYVdEKqNHqMXAKLjSKCy/Ok6wam0uM9G4VUuXWgpR/MakeWalls.js\";import{makeBodies}from\"https://framerusercontent.com/modules/6UgWtAa26OCy0CE59gub/LTuIQWugGJr30ZUS1CV9/MakeBodies.js\";/**\n * These annotations control how your component sizes\n * Learn more: https://www.framer.com/docs/guides/auto-sizing\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */ export default function Physics(props){var ref;let engine;React.useEffect(()=>{if(!engine){engine=Matter.Engine.create({enableSleeping:props.sleeping,gravity:{y:props.gravY,x:props.gravX}});const containerBounding=containerRef.current.getBoundingClientRect();makeWalls(containerBounding,engine.world,props.wallOptions);if(props.debug){var render=Matter.Render.create({element:containerRef.current,engine:engine,options:{height:containerBounding.height,width:containerBounding.width,showAngleIndicator:true,showVelocity:true}});Matter.Render.run(render);}let mouseConstraint=null;if(props.mouseOptions.enable){let mouse=Matter.Mouse.create(containerRef.current);mouseConstraint=Matter.MouseConstraint.create(engine,{mouse:mouse,constraint:{angularStiffness:props.mouseOptions.angularStiffness,stiffness:props.mouseOptions.stiffness}});Matter.Composite.add(engine.world,mouseConstraint);// Remove the many event listeners preventing scroll/drag\nmouseConstraint.mouse.element.removeEventListener(\"mousewheel\",mouseConstraint.mouse.mousewheel);mouseConstraint.mouse.element.removeEventListener(\"DOMMouseScroll\",mouseConstraint.mouse.mousewheel);mouseConstraint.mouse.element.removeEventListener(\"touchstart\",mouseConstraint.mouse.mousedown);mouseConstraint.mouse.element.removeEventListener(\"touchmove\",mouseConstraint.mouse.mousemove);mouseConstraint.mouse.element.removeEventListener(\"touchend\",mouseConstraint.mouse.mouseup);mouseConstraint.mouse.element.addEventListener(\"touchstart\",mouseConstraint.mouse.mousedown,{passive:true});mouseConstraint.mouse.element.addEventListener(\"touchmove\",e=>{if(mouseConstraint.body){mouseConstraint.mouse.mousemove(e);}});mouseConstraint.mouse.element.addEventListener(\"touchend\",e=>{if(mouseConstraint.body){mouseConstraint.mouse.mouseup(e);}});containerRef.current.addEventListener(\"mouseleave\",()=>{mouseConstraint.mouse.mouseup(event);});}let stack=makeBodies(containerRef.current,engine.world,containerRef.current.children,props.frictionOptions,props.densityOptions);(function update(){requestAnimationFrame(update);stack.bodies.forEach((block,i)=>{let el=containerRef.current.children[i];let{x,y}=block.vertices[0];el.style.visibility=\"visible\";el.style.top=`${y}px`;el.style.left=`${x}px`;el.style.transform=`\n                          translate(-50%, -50%)\n                          rotate(${block.angle}rad) \n                          translate(50%, 50%)\n                          `;});//\nMatter.Engine.update(engine);})();}},[]);const containerRef=React.useRef(null);return /*#__PURE__*/ _jsx(\"div\",{style:containerStyle,ref:containerRef,draggable:\"false\",onDragStart:e=>{e.preventDefault();},children:((ref=props.children)===null||ref===void 0?void 0:ref.length)>0?props.children.map((el,i)=>{return /*#__PURE__*/ _jsx(\"div\",{style:bodyStyle,id:\"physics-body\",draggable:\"false\",children:el});}):/*#__PURE__*/ _jsx(\"div\",{style:bodyStyle,id:\"physics-body\",draggable:\"false\",children:props.children})});};// Styles are written in object syntax\n// Learn more: https://reactjs.org/docs/dom-elements.html#style\nconst containerStyle={height:\"100%\",width:\"100%\",overflow:\"hidden\"};const bodyStyle={position:\"absolute\",visibility:\"hidden\"};Physics.defaultProps={gravX:0,gravY:1,children:{},wallOptions:{top:true,bottom:true,right:true,left:true},frictionOptions:{friction:.1,frictionAir:.01},mouseOptions:{angularStiffnes:0,stiffness:.2,enable:true},densityOptions:{enable:true,density:.001},sleeping:false};addPropertyControls(Physics,{children:{type:ControlType.Array,control:{type:ControlType.ComponentInstance}},gravY:{type:ControlType.Number,defaultValue:1,max:5,min:-5,step:.25,title:\"Gravity Y\"},gravX:{type:ControlType.Number,defaultValue:0,max:5,min:-5,step:.25,title:\"Gravity X\"},wallOptions:{title:\"Walls\",type:ControlType.Object,controls:{top:{type:ControlType.Boolean,defaultValue:true},bottom:{type:ControlType.Boolean,defaultValue:true},right:{type:ControlType.Boolean,defaultValue:true},left:{type:ControlType.Boolean,defaultValue:true}}},mouseOptions:{title:\"Mouse\",type:ControlType.Object,controls:{enable:{title:\"Enable\",type:ControlType.Boolean,defaultValue:true},angularStiffness:{title:\"Angular stiffness\",description:\"A value of 0 allows objects to swing when held by the mouse\",type:ControlType.Number,defaultValue:0,min:0,max:1,step:.01},stiffness:{title:\"Stiffness\",description:\"Click + drag creates a moving constraint (spring) that follows the mouse. This describes the stiffness of that spring\",type:ControlType.Number,defaultValue:.2,min:.001,max:1,step:.01}}},friction:{type:ControlType.Object,controls:{friction:{title:\"Body friction\",type:ControlType.Number,min:0,max:1,defaultValue:.1,step:.01},frictionAir:{title:\"Air friction\",type:ControlType.Number,min:0,max:1,defaultValue:.01,step:.01}}},densityOptions:{title:\"Density\",type:ControlType.Object,controls:{enable:{type:ControlType.Boolean,defaultValue:true,description:\"Enabling density will cause mass to be calculated based on width and height\"},density:{type:ControlType.Number,defaultValue:.001,min:.001,max:1,step:.01}}},sleeping:{title:\"Sleeping\",description:\"Improves performance at the cost of simulation accuracy\",type:ControlType.Boolean,defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Physics\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Physics.map","import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here — there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map","import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n    return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n    return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n    const isInTarget = useIsInCurrentNavigationTarget();\n    useEffect(()=>{\n        if (enabled && isInTarget === goal) callback();\n    }, [\n        isInTarget\n    ]);\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useOnEnter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnNavigationTargetChange.map","import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map","import { Color } from \"framer\";\nexport function colorFromToken(color) {\n    if (color.startsWith(\"var(--token-\")) return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1];\n    return color;\n}\nexport function colorTokentoValue(color) {\n    return Color(colorFromToken(color)).toValue();\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"colorFromToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./colorFromToken.map","import { MotionValue } from \"framer\";\nexport const isMotionValue = (v)=>v instanceof MotionValue\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isMotionValue.map","import * as React from \"react\";\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\nconst l = ()=>letters[Math.floor(Math.random() * letters.length)]\n;\nexport const randomID = ()=>l() + l() + l() + l() + l() + l() + l() + l() + l()\n;\nfunction createUniqueClass(suffix) {\n    return `framer-${suffix}-${randomID()}`;\n}\nexport function useUniqueClassName(suffix, deps) {\n    const [className, setClassName] = React.useState(createUniqueClass(suffix));\n    React.useEffect(()=>{\n        setClassName(createUniqueClass(suffix));\n    }, [\n        suffix,\n        ...deps\n    ]);\n    return className;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useUniqueClassName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useUniqueClassName.map","import { ControlType } from \"framer\";\n// I realize this only applies to select right now\n// but we can work on it in here\nexport function getVariantControls(Component, variant, additionalControls = {\n}) {\n    return {\n        [`${variant}TextColor`]: {\n            type: ControlType.Color,\n            title: \"Text Color\",\n            defaultValue: Component.defaultProps[`${variant}TextColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}IconColor`]: {\n            type: ControlType.Color,\n            title: \"Icon Color\",\n            defaultValue: Component.defaultProps[`${variant}IconColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BackgroundColor`]: {\n            type: ControlType.Color,\n            title: \"Bg Color\",\n            defaultValue: Component.defaultProps[`${variant}BackgroundColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderColor`]: {\n            type: ControlType.Color,\n            title: \"Border Color\",\n            defaultValue: Component.defaultProps[`${variant}BorderColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderWidth`]: {\n            type: ControlType.Number,\n            title: \" \",\n            min: 0,\n            max: 5,\n            displayStepper: true,\n            defaultValue: Component.defaultProps[`${variant}BorderWidth`],\n            hidden: (props)=>props.variant !== variant\n        },\n        ...additionalControls\n    };\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"getVariantControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./variantUtils.map","import { useMemo } from \"react\";\nexport const isBrowserSafari = ()=>{\n    if (typeof navigator !== `undefined`) {\n        const userAgent = navigator.userAgent.toLowerCase();\n        const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n        return isSafari;\n    } else return false;\n};\nexport const useIsBrowserSafari = ()=>useMemo(()=>isBrowserSafari()\n    , [])\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isBrowser.map","import { useEffect } from \"react\";\n//@ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nexport function useOnChange(value, callback) {\n    useEffect(()=>// @ts-ignore this should be detected as a MV :shrug:\n        isMotionValue(value) ? value.onChange(callback) : undefined\n    );\n}\nexport function useMultiOnChange(values, handler) {\n    useEffect(()=>{\n        const subscriptions = values.map((value)=>value.onChange(handler)\n        );\n        return ()=>subscriptions.forEach((unsubscribe)=>unsubscribe()\n            )\n        ;\n    });\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"Subscriber\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnChange.map","import { useCallback, useEffect, useRef } from \"react\";\nimport { motionValue, animate, RenderTarget } from \"framer\";\n// @ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\n// @ts-ignore\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nexport function useAutoMotionValue(inputValue, options) {\n    var ref;\n    // Put options on a local ref\n    // Might wanna just memo instead but it works for now\n    const optionsRef = useRef(options);\n    const animation = useRef();\n    const didInitialMount = useRef(false);\n    const isOnCanvas = RenderTarget.current() === RenderTarget.canvas;\n    // in-progress - trying to figure out effect hooks\n    const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : [];\n    // Memoize the onChange handler\n    const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [\n        ...onChangeDeps, \n    ]);\n    // Optionally scale the value from props\n    const transformer = useCallback((value)=>((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value\n    , []);\n    // Create new MotionValue from inputValue\n    const value = useConstant(()=>isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue))\n    );\n    // Setting value from prop change\n    useEffect(()=>{\n        if (!isMotionValue(inputValue) && didInitialMount.current) {\n            var ref1, ref2;\n            const newValue = transformer(inputValue);\n            (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop();\n            // Call change callback\n            if (onChange) onChange(newValue, value);\n            // Trigger animation to new value\n            if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) {\n                var ref3;\n                // @ts-ignore\n                animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition);\n            } else {\n                value.set(newValue);\n            }\n        }\n        didInitialMount.current = true;\n    }, [\n        inputValue,\n        ...onChangeDeps\n    ]);\n    return value;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","// @ts-ignore\nimport{fontStore}from\"framer\";import{useEffect}from\"react\";import{fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";const fontWeights={100:\"Thin\",200:\"Extra-light\",300:\"Light\",400:\"Regular\",500:\"Medium\",600:\"Semi-bold\",700:\"Bold\",800:\"Extra-bold\",900:\"Black\"};export function useFontControls(props){const{fontFamily=\"Inter\",fontSize=16,fontWeight=400,font=false}=props;const fontWeightName=fontWeights[fontWeight];const customFontStack=`\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;const fontFamilyStyle=fontFamily?{fontSize,fontWeight,fontFamily:customFontStack}:{fontSize,fontWeight};const fetchCustomFonts=async()=>{await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`,`CUSTOM;${fontFamily} ${fontWeightName}`,`GF;${fontFamily}-${fontWeightName.toLowerCase()}`,]).catch(e=>console.error(e));};useEffect(()=>{if(font)fetchCustomFonts();},[font,fontFamily,fontWeight]);return fontFamilyStyle;}\nexport const __FramerMetadata__ = {\"exports\":{\"useFontControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useFontControls.map","import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\nexport function useIsOnCanvas() {\n    const onCanvas = useMemo(()=>RenderTarget.current() === RenderTarget.canvas\n    , []);\n    return onCanvas;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map","import * as React from \"react\";\nexport function useControlledState(value) {\n    const [controlledValue, setValue] = React.useState(value);\n    React.useEffect(()=>{\n        setValue(value);\n    }, [\n        value\n    ]);\n    return [\n        controlledValue,\n        setValue\n    ];\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useControlledState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useControlledState.map","import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map","import{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget,RenderTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius,useRenderTarget}from\"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\";// https://framer.com/m/framer/default-utils.js@^0.45.0\nimport{memo,useCallback,useEffect,useMemo,useRef,useState}from\"react\";var ObjectFitType;(function(ObjectFitType){ObjectFitType[\"Fill\"]=\"fill\";ObjectFitType[\"Contain\"]=\"contain\";ObjectFitType[\"Cover\"]=\"cover\";ObjectFitType[\"None\"]=\"none\";ObjectFitType[\"ScaleDown\"]=\"scale-down\";})(ObjectFitType||(ObjectFitType={}));var SrcType;(function(SrcType){SrcType[\"Video\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));const defaultVideo=\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\";// Reduce renders\nfunction getProps(props){const{width,height,topLeft,topRight,bottomRight,bottomLeft,id,children,...rest}=props;return rest;}/**\n * VIDEO\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 112\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Video(props){const newProps=getProps(props);return /*#__PURE__*/_jsx(VideoMemo,{...newProps});}function usePlaybackControls(videoRef){const isInCurrentNavigationTarget=useIsInCurrentNavigationTarget();const requestingPlay=useRef(false);const isPlayingRef=useRef(false);const setProgress=useCallback(rawProgress=>{if(!videoRef.current)return;const newProgress=(rawProgress===1?.999:rawProgress)*videoRef.current.duration;const isAlreadySet=Math.abs(videoRef.current.currentTime-newProgress)<.1;if(videoRef.current.duration>0&&!isAlreadySet){videoRef.current.currentTime=newProgress;}},[]);const play=useCallback(()=>{const video=videoRef.current;if(!video)return;video.preload=\"auto\"// makes sure browsers don't throttle: https://html.spec.whatwg.org/multipage/media.html#:~:text=When%20the%20media%20resource%20is%20playing%2C%20hints%20to%20the%20user%20agent%20that%20bandwidth%20is%20to%20be%20considered%20scarce%2C%20e.g.%20suggesting%20throttling%20the%20download%20so%20that%20the%20media%20data%20is%20obtained%20at%20the%20slowest%20possible%20rate%20that%20still%20maintains%20consistent%20playback.\n;const isPlaying=video.currentTime>0&&video.onplaying&&!video.paused&&!video.ended&&video.readyState>=video.HAVE_CURRENT_DATA;if(!isPlaying&&video&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;isPlayingRef.current=true;video.play().catch(e=>{})// It's likely fine, swallow error\n.finally(()=>requestingPlay.current=false);}},[]);const pause=useCallback(()=>{if(!videoRef.current||requestingPlay.current)return;videoRef.current.pause();isPlayingRef.current=false;},[]);return{play,pause,setProgress,isPlaying:isPlayingRef};}function useAutoplayBehavior({playingProp,muted,loop,playsinline,controls}){const[initialPlayingProp]=useState(()=>playingProp);const[hasPlayingPropChanged,setHasPlayingPropChanged]=useState(false);if(playingProp!==initialPlayingProp&&!hasPlayingPropChanged){setHasPlayingPropChanged(true);}const behavesAsGif=// passing `playing === true` on mount indicates that the video should\n// autoplay, like a GIF\ninitialPlayingProp&&muted&&loop&&playsinline&&!controls&&// Some users of the <Video> component use it by wrapping it with\n// another smart component and adding their own controls on top. (The\n// controls use transitions to control the video: e.g., when clicking\n// the play button, the smart component will transition to a state with\n// <Video playing={true} />.) In this case, we don't want the video to\n// behave as a gif, as it will be weird if the video suddenly started\n// acting as such (and auto-pausing when leaving the viewport) as soon\n// as the site visitor mutes it and clicks “Play”.\n!hasPlayingPropChanged;let autoplay;if(behavesAsGif)autoplay=\"on-viewport\";else if(initialPlayingProp)autoplay=\"on-mount\";else autoplay=\"no-autoplay\";return autoplay;}const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{// default props\nsrcType=\"URL\",srcUrl,srcFile=\"\",posterEnabled=false,controls=false,playing=true,loop=true,muted=true,playsinline=true,restartOnEnter=false,objectFit=\"cover\",backgroundColor=\"rgba(0,0,0,0)\",radius=0,volume=25,startTime:startTimeProp=0,poster,playing:playingProp,progress,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const renderTarget=useRenderTarget();const isStaticRenderer=isOnCanvas||renderTarget===RenderTarget.export;const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isStaticRenderer won’t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isStaticRenderer?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isStaticRenderer?true:useInView(videoRef);const isCloseToViewport=isStaticRenderer?false:useInView(videoRef,{margin:\"10%\",once:true});// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress,isPlaying}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isStaticRenderer)return;if(autoplayBehavior===\"on-viewport\")return;if(playingProp)play();else pause();},[autoplayBehavior,playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isStaticRenderer)return;// this also explicitly retries playing for videos that play on-mount, which could fail if they're not muted for example\nif(isInViewport&&playingProp&&autoplayBehavior!==\"no-autoplay\")play();if(autoplayBehavior!==\"on-viewport\")return;pause();},[autoplayBehavior,isInViewport,playingProp]);useEffect(()=>{if(!isOnCanvas||poster||posterEnabled||startTime||!videoRef.current)return;// forces a poster to show up when the video is in an iframe; this is needed when `poster` changes\nvideoRef.current.currentTime=.01;},[posterEnabled,poster,startTime]);/**\n     * The Video component has some effects that sync the video element with props\n     * like `startTime`, `progress`, etc. React calls these effects whenever these\n     * props change. However, it also calls them on the first mount, and this is\n     * troublesome – if we’re doing SSR, and the user changed the video state before\n     * the video was hydrated, the initial `useEffect` call will reset the video\n     * state. To avoid this, we use this flag.\n     */const isMountedAndReadyForProgressChanges=useRef(false);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges.current){isMountedAndReadyForProgressChanges.current=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(progress??0)*.01;setProgress(// When the progress value exists (e.g. <Video startTime={10}\n// progress={50} />), we respect the `progress` value over\n// `startTime`, even if `startTime` changes. That’s because\n// `startTime` == start == changing it shouldn’t affect the current\n// progress\n(rawProgressValue??0)||// Then why fall back to `startTime` when `progress` doesn’t exist,\n// you might ask? Now, that’s for\n// - canvas UX: we want the video progress to change when the user\n//   is scrobbling the “Start Time” in component settings.\n// - backwards compatibility: maybe some users *are* scrobbling\n//   using `startTime` instead of `progress`? We don’t know, and it\n//   always supported it, so let’s not break it\n(startTime??0)/100);},[startTime,srcFile,srcUrl,progress]);// 2) Handle cases when the motion value inside the progress prop changes\nuseEffect(()=>{if(!isMotionValue(progress))return;return progress.on(\"change\",value=>setProgress(value));},[progress]);// (Prototyping) Checking if we need to play on navigation enter\nuseOnEnter(()=>{if(wasPausedOnLeave.current===null)return;if(videoRef.current){// if (restartOnEnter) setProgress(0)\nif(!wasEndedOnLeave&&loop||!wasPausedOnLeave.current)play();}});// (Prototyping) Pausing & saving playing state on navigation exit\nuseOnExit(()=>{if(videoRef.current){wasEndedOnLeave.current=videoRef.current.ended;wasPausedOnLeave.current=videoRef.current.paused;pause();}});const src=useMemo(()=>{let fragment=\"\";// if (\n//     startTime > 0 &&\n//     videoRef.current &&\n//     !isNaN(videoRef.current.duration) &&\n//     !isStaticRenderer\n// ) {\n//     console.log(startTime, videoRef.current.duration)\n//     fragment = `#t=${startTime * videoRef.current.duration}`\n// }\nif(srcType===\"URL\")return srcUrl+fragment;if(srcType===\"Upload\")return srcFile+fragment;},[srcType,srcFile,srcUrl,startTime]);// Autoplay via JS to work in Safari\nuseEffect(()=>{if(isSafari&&videoRef.current&&autoplayBehavior===\"on-mount\"){setTimeout(()=>play(),50);}},[]);// Volume Control\nuseEffect(()=>{if(videoRef.current&&!muted)videoRef.current.volume=(volume??0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{const video=videoRef.current;if(!video)return;if(video.currentTime<.3&&startTime>0)setProgress((startTime??0)*.01);if(// when the component updates (e.g. only srcFile/url changes), and the video was already playing, keep playing\nisPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport)play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked?.(e),onPause:e=>onPause?.(e),onPlay:e=>onPlay?.(e),onEnded:e=>onEnd?.(e),autoPlay:isPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport,preload:isPlaying.current?\"auto\":isStaticRenderer&&!poster?\"metadata\":autoplayBehavior!==\"on-mount\"&&!isCloseToViewport?\"none\":// `autoplay` overrides this too\n\"metadata\",poster:posterEnabled&&!srcFile&&srcUrl===defaultVideo?\"https://framerusercontent.com/images/5ILRvlYXf72kHSVHqpa3snGzjU.jpg\":posterEnabled&&poster?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isStaticRenderer?true:muted,playsInline:playsinline,style:{cursor:!!onClick?\"pointer\":\"auto\",width:\"100%\",height:\"100%\",borderRadius,display:\"block\",objectFit:objectFit,backgroundColor:backgroundColor,objectPosition:\"50% 50%\"}});});Video.displayName=\"Video\";function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu)||[];return groups.map(capitalizeFirstLetter).join(\" \");}const objectFitOptions=[\"cover\",\"fill\",\"contain\",\"scale-down\",\"none\"];addPropertyControls(Video,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",defaultValue:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",hidden(props){return props.srcType===\"Upload\";}},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"mp4\",\"webm\"],hidden(props){return props.srcType===\"URL\";}},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},...borderRadiusControl,posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\"Image\",hidden:({posterEnabled})=>!posterEnabled,description:\"We recommend adding a poster. [Learn more](https://www.framer.com/help/articles/how-are-videos-optimized-in-framer/).\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0,0,0,0)\"},startTime:{title:\"Start Time\",type:ControlType.Number,min:0,max:100,step:.1,unit:\"%\"},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},objectFit:{type:ControlType.Enum,title:\"Fit\",options:objectFitOptions,optionTitles:objectFitOptions.map(titleCase)},// restartOnEnter: {\n//     type: ControlType.Boolean,\n//     title: \"On ReEnter\",\n//     enabledTitle: \"Restart\",\n//     disabledTitle: \"Resume\",\n// },\ncontrols:{type:ControlType.Boolean,title:\"Controls\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted,defaultValue:25},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"112\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 5.25 0 L 9.75 0 L 15 6.786 L 15 12.75 C 15 14.407 13.657 15.75 12 15.75 L 3 15.75 C 1.343 15.75 0 14.407 0 12.75 L 0 6.786 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"15.75px\" id=\"FxgDGq4wf\" transform=\"translate(4.5 4.5)\" width=\"15px\"/><path d=\"M 0 0 L 0 2.25\" fill=\"transparent\" height=\"2.25px\" id=\"X23dt8TCE\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(12 18)\" width=\"1px\"/><path d=\"M 3 0 L 1.5 1.5 L 0 0\" fill=\"transparent\" height=\"1.5px\" id=\"AbQop0fPf\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(10.5 16.5)\" width=\"3px\"/><path d=\"M 0 0 L 4.5 0\" fill=\"transparent\" height=\"1px\" id=\"XNVKKHrlE\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(9.75 4.5)\" width=\"4.5px\"/><path d=\"M 7.5 1.5 L 2.472 0.022 C 2.272 -0.028 2.06 0.007 1.886 0.119 C 1.712 0.23 1.592 0.409 1.554 0.612 L 0.014 8.862 C -0.13 9.634 0.858 10.081 1.342 9.464 Z\" fill=\"transparent\" height=\"9.753553144746252px\" id=\"ehV7CN6Vu\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(2.25 3)\" width=\"7.500197809689679px\"/><path d=\"M 0 1.5 L 5.028 0.022 C 5.228 -0.028 5.441 0.007 5.614 0.119 C 5.788 0.23 5.909 0.409 5.947 0.612 L 7.486 8.862 C 7.63 9.634 6.642 10.081 6.158 9.464 Z\" fill=\"transparent\" height=\"9.753553144746256px\" id=\"PI1q9rpO4\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(14.25 3)\" width=\"7.500197809689695px\"/><path d=\"M 0 1.125 C 0 0.504 0.504 0 1.125 0 C 1.746 0 2.25 0.504 2.25 1.125 C 2.25 1.746 1.746 2.25 1.125 2.25 C 0.504 2.25 0 1.746 0 1.125 Z\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"2.25px\" id=\"MxMeiwPSB\" transform=\"translate(7.5 12)\" width=\"2.25px\"/><path d=\"M 0 1.125 C 0 0.504 0.504 0 1.125 0 C 1.746 0 2.25 0.504 2.25 1.125 C 2.25 1.746 1.746 2.25 1.125 2.25 C 0.504 2.25 0 1.746 0 1.125 Z\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"2.25px\" id=\"NAr3GifmX\" transform=\"translate(14.25 12)\" width=\"2.25px\"/><path d=\"M 15 0 L 15 5.964 C 15 7.621 13.657 8.964 12 8.964 L 3 8.964 C 1.343 8.964 0 7.621 0 5.964 L 0 0\" fill=\"transparent\" height=\"8.964375000000004px\" id=\"iQERDhzO8\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(4.5 11.286)\" width=\"15px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"3252782336\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-Z32qf\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-Z32qf { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Dog\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-Z32qf\");Icon.displayName=\"Dog\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"true\",\"framerIntrinsicHeight\":\"24\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Dog\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerIntrinsicWidth\":\"24\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 18 3 L 13.5 3 L 13.5 0 L 4.5 0 L 4.5 6 L 0 6 L 0 16.5 L 7.5 16.5 L 7.5 12 L 10.5 12 L 10.5 16.5 L 18 16.5 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"16.5px\" id=\"uUX6u4TWZ\" transform=\"translate(3 3.75)\" width=\"18px\"/><path d=\"M 0 0 L 21 0\" fill=\"transparent\" height=\"1px\" id=\"PyVSnQayf\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(1.5 20.25)\" width=\"21px\"/><path d=\"M 18 16.5 L 18 3 L 13.5 3 L 13.5 0 L 4.5 0 L 4.5 6 L 0 6 L 0 16.5\" fill=\"transparent\" height=\"16.5px\" id=\"VwwHABsWT\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3 3.75)\" width=\"18px\"/><path d=\"M 0 0 L 1.5 0\" fill=\"transparent\" height=\"1px\" id=\"CsTLhEXQc\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(11.25 6.75)\" width=\"1.5px\"/><path d=\"M 0 0 L 1.5 0\" fill=\"transparent\" height=\"1px\" id=\"auat3CvId\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(11.25 9.75)\" width=\"1.5px\"/><path d=\"M 0 0 L 1.5 0\" fill=\"transparent\" height=\"1px\" id=\"NzGFMhiJH\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(16.5 9.75)\" width=\"1.5px\"/><path d=\"M 0 0 L 1.5 0\" fill=\"transparent\" height=\"1px\" id=\"u36Ulh0s3\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(6 12.75)\" width=\"1.5px\"/><path d=\"M 0 0 L 1.5 0\" fill=\"transparent\" height=\"1px\" id=\"WnYTecPy_\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(6 15.75)\" width=\"1.5px\"/><path d=\"M 0 0 L 1.5 0\" fill=\"transparent\" height=\"1px\" id=\"UFddR06PL\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(11.25 12.75)\" width=\"1.5px\"/><path d=\"M 0 0 L 1.5 0\" fill=\"transparent\" height=\"1px\" id=\"qfzXtZAog\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(16.5 12.75)\" width=\"1.5px\"/><path d=\"M 0 0 L 1.5 0\" fill=\"transparent\" height=\"1px\" id=\"LY54IbkK2\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(16.5 15.75)\" width=\"1.5px\"/><path d=\"M 0 4.5 L 0 0 L 3 0 L 3 4.5\" fill=\"transparent\" height=\"4.5px\" id=\"zvrcX6DKs\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(10.5 15.75)\" width=\"3px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"1300520673\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-6Q8GB\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-6Q8GB { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Building Apartment\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-6Q8GB\");Icon.displayName=\"Building Apartment\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"true\",\"framerIntrinsicWidth\":\"24\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerVector\":\"{\\\"name\\\":\\\"Building Apartment\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 6.75 5.673 L 3.998 3 C 3.808 2.829 3.718 2.573 3.76 2.32 C 3.802 2.068 3.969 1.854 4.205 1.753 L 4.875 1.5 L 10.268 3.485 L 15.41 0.415 C 16.685 -0.336 18.317 -0.044 19.253 1.101 L 21 3.342 L 7.18 11.592 C 6.034 12.259 4.585 12.094 3.618 11.187 L 0.237 7.875 C 0.052 7.702 -0.033 7.447 0.011 7.198 C 0.055 6.949 0.222 6.738 0.455 6.639 L 0.75 6.494 L 3.73 7.5 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"11.999016919302917px\" id=\"UrpsVK2qr\" transform=\"translate(1.5 5.25)\" width=\"20.99991123745394px\"/><path d=\"M 0 0 L 13.5 0\" fill=\"transparent\" height=\"1px\" id=\"SPJY1s_ru\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(2.25 20.25)\" width=\"13.5px\"/><path d=\"M 6.75 5.673 L 3.998 3 C 3.808 2.829 3.718 2.573 3.76 2.32 C 3.802 2.068 3.969 1.854 4.205 1.753 L 4.875 1.5 L 10.268 3.485 L 15.41 0.415 C 16.685 -0.336 18.317 -0.044 19.253 1.101 L 21 3.342 L 7.18 11.592 C 6.034 12.259 4.585 12.094 3.618 11.187 L 0.237 7.875 C 0.052 7.702 -0.033 7.447 0.011 7.198 C 0.055 6.949 0.222 6.738 0.455 6.639 L 0.75 6.494 L 3.73 7.5 Z\" fill=\"transparent\" height=\"11.999016919302917px\" id=\"tsspz4TXi\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(1.5 5.25)\" width=\"20.99991123745394px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"941805552\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-wwXki\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-wwXki { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Airplane Takeoff\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-wwXki\");Icon.displayName=\"Airplane Takeoff\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerVector\":\"{\\\"name\\\":\\\"Airplane Takeoff\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\",\"framerImmutableVariables\":\"true\",\"framerDisableUnlink\":\"true\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 16.5 L 0 0 L 6 0 L 6 16.5 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"16.5px\" id=\"JJwwQRGmv\" transform=\"translate(3 3.75)\" width=\"6px\"/><path d=\"M 0 12 L 0 0 L 6 0 L 6 12 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"12px\" id=\"F0tkd4jOT\" transform=\"translate(15 8.25)\" width=\"6px\"/><path d=\"M 0 0 L 21 0\" fill=\"transparent\" height=\"1px\" id=\"aNIc9O6xy\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(1.5 20.25)\" width=\"21px\"/><path d=\"M 6 16.5 L 6 0 L 0 0 L 0 16.5\" fill=\"transparent\" height=\"16.5px\" id=\"CdmJ4VAFh\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3 3.75)\" width=\"6px\"/><path d=\"M 6 12 L 6 0 L 0 0 L 0 12\" fill=\"transparent\" height=\"12px\" id=\"DxB8N5Nxm\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(15 8.25)\" width=\"6px\"/><path d=\"M 6 0 L 0 0\" fill=\"transparent\" height=\"1px\" id=\"b0Ob0Y3ek\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(9 12.75)\" width=\"6px\"/><path d=\"M 0 0 L 0 1.5\" fill=\"transparent\" height=\"1.5px\" id=\"vq2mVoJZF\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(6 6.75)\" width=\"1px\"/><path d=\"M 0 0 L 0 1.5\" fill=\"transparent\" height=\"1.5px\" id=\"UXkeYKI9q\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(6 11.25)\" width=\"1px\"/><path d=\"M 0 0 L 0 1.5\" fill=\"transparent\" height=\"1.5px\" id=\"TGSYJeWbW\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(6 15.75)\" width=\"1px\"/><path d=\"M 0 0 L 0 1.5\" fill=\"transparent\" height=\"1.5px\" id=\"ailSWWToG\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(12 15.75)\" width=\"1px\"/><path d=\"M 0 0 L 0 1.5\" fill=\"transparent\" height=\"1.5px\" id=\"mXIFOHL1s\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(18 15.75)\" width=\"1px\"/><path d=\"M 0 0 L 0 1.5\" fill=\"transparent\" height=\"1.5px\" id=\"uJX9Ptu53\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(18 11.25)\" width=\"1px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"3779278125\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-5gliE\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-5gliE { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"City\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-5gliE\");Icon.displayName=\"City\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"City\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerIntrinsicHeight\":\"24\",\"framerDisableUnlink\":\"true\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 0 L 6 4.5 L 0 9 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"9px\" id=\"MKE7nwixI\" transform=\"translate(12 3)\" width=\"6px\"/><path d=\"M 0 0 L 6 4.5 L 0 9 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"9px\" id=\"BCkxZCO6g\" transform=\"translate(12 12)\" width=\"6px\"/><path d=\"M 0 0 L 6 4.5 L 0 9 Z\" fill=\"transparent\" height=\"9px\" id=\"GVynXmdwl\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(12 3)\" width=\"6px\"/><path d=\"M 0 0 L 6 4.5 L 0 9 Z\" fill=\"transparent\" height=\"9px\" id=\"YJTbDrhXR\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(12 12)\" width=\"6px\"/><path d=\"M 0 0 L 6 4.5\" fill=\"transparent\" height=\"4.5px\" id=\"N6ZIyvSE2\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(6 7.5)\" width=\"6px\"/><path d=\"M 0 4.5 L 6 0\" fill=\"transparent\" height=\"4.5px\" id=\"zIxLutCTV\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(6 12)\" width=\"6px\"/><path d=\"M 0 1.125 C 0 0.504 0.504 0 1.125 0 C 1.746 0 2.25 0.504 2.25 1.125 C 2.25 1.746 1.746 2.25 1.125 2.25 C 0.504 2.25 0 1.746 0 1.125 Z\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"2.25px\" id=\"M2Mjq4meM\" transform=\"translate(4.5 10.875)\" width=\"2.25px\"/><path d=\"M 0 1.125 C 0 0.504 0.504 0 1.125 0 C 1.746 0 2.25 0.504 2.25 1.125 C 2.25 1.746 1.746 2.25 1.125 2.25 C 0.504 2.25 0 1.746 0 1.125 Z\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"2.25px\" id=\"SqGUeZqv1\" transform=\"translate(18 10.875)\" width=\"2.25px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"3998869899\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-wyRAv\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-wyRAv { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Bluetooth Connected\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-wyRAv\");Icon.displayName=\"Bluetooth Connected\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerIntrinsicHeight\":\"24\",\"framerVector\":\"{\\\"name\\\":\\\"Bluetooth Connected\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerDisableUnlink\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (dd59b2c)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 7.111 10 L 0 18 M 16 0 L 10.09 6.649 M 0 0 L 13 18 L 18 18 L 5 0 Z\" fill=\"transparent\" height=\"18px\" id=\"I7SuWiIoi\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--1ww558a, 2)\" stroke=\"var(--4rxgx6, black)\" transform=\"translate(3 3)\" width=\"18px\"/></svg>';const getProps=({color,height,id,width,width1,...props})=>{return{...props,CRY1Fpez4:color??props.CRY1Fpez4??\"rgb(0, 0, 0)\",vet7gqNu_:width1??props.vet7gqNu_??2};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,CRY1Fpez4,vet7gqNu_,...restProps}=getProps(props);const href=useSVGTemplate(\"1554250168\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-nCqPx\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1ww558a\":vet7gqNu_,\"--4rxgx6\":CRY1Fpez4,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-nCqPx { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"CRY1Fpez4\":\"color\",\"vet7gqNu_\":\"width1\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"X Twitter\",\"color\":{\"type\":\"variable\",\"value\":\"4rxgx6\"},\"set\":{\"localId\":\"vectorSet/dSZJyzeMx\",\"id\":\"dSZJyzeMx\",\"moduleId\":\"E1vFg1A6wcWAGuFi9Hz1\"}}\n */const Icon=withCSS(Component,css,\"framer-nCqPx\");Icon.displayName=\"X Twitter\";export default Icon;addPropertyControls(Icon,{CRY1Fpez4:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},vet7gqNu_:{defaultValue:2,displayStepper:true,hidden:false,max:4,min:1,title:\"Width\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"X Twitter\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"4rxgx6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/dSZJyzeMx\\\",\\\"id\\\":\\\"dSZJyzeMx\\\",\\\"moduleId\\\":\\\"E1vFg1A6wcWAGuFi9Hz1\\\"}}\",\"framerIntrinsicHeight\":\"24\",\"framerVariables\":\"{\\\"CRY1Fpez4\\\":\\\"color\\\",\\\"vet7gqNu_\\\":\\\"width1\\\"}\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 9 C 0 4.029 4.029 0 9 0 C 13.971 0 18 4.029 18 9 C 18 13.971 13.971 18 9 18 C 4.029 18 0 13.971 0 9 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"18px\" id=\"DI1fEm9Hn\" transform=\"translate(3 3)\" width=\"18px\"/><path d=\"M 0 1.125 C 0 0.504 0.504 0 1.125 0 C 1.746 0 2.25 0.504 2.25 1.125 C 2.25 1.746 1.746 2.25 1.125 2.25 C 0.504 2.25 0 1.746 0 1.125 Z\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"2.25px\" id=\"NdDnQMdHZ\" transform=\"translate(7.5 10.875)\" width=\"2.25px\"/><path d=\"M 0 1.125 C 0 0.504 0.504 0 1.125 0 C 1.746 0 2.25 0.504 2.25 1.125 C 2.25 1.746 1.746 2.25 1.125 2.25 C 0.504 2.25 0 1.746 0 1.125 Z\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"2.25px\" id=\"reQN5iL1M\" transform=\"translate(14.25 10.875)\" width=\"2.25px\"/><path d=\"M 5.25 0 C 3.643 1 1.607 1 0 0\" fill=\"transparent\" height=\"1px\" id=\"kOjTfMMNj\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(9.375 15.75)\" width=\"5.25px\"/><path d=\"M 0 9 C 0 4.029 4.029 0 9 0 C 13.971 0 18 4.029 18 9 C 18 13.971 13.971 18 9 18 C 4.029 18 0 13.971 0 9 Z\" fill=\"transparent\" height=\"18px\" id=\"pV2r5s1yS\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3 3)\" width=\"18px\"/><path d=\"M 1.5 0 C 0 1.875 0 3.75 0 3.75 C 0 4.578 0.672 5.25 1.5 5.25 C 2.328 5.25 3 4.578 3 3.75\" fill=\"transparent\" height=\"5.25px\" id=\"ABp86y3b5\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(10.5 3)\" width=\"3px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"1193444417\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-5Nqev\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-5Nqev { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Baby\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-5Nqev\");Icon.displayName=\"Baby\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerDisableUnlink\":\"true\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerVector\":\"{\\\"name\\\":\\\"Baby\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/*\n * index (framer/default-utils@0.45.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\"\n","import{MotionValue}from\"framer\";// Basic MotionValue check\nexport const isMotionValue=v=>v instanceof MotionValue;\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./isMotionValue.map","import{useCallback,useEffect,useRef}from\"react\";import{motionValue,animate,RenderTarget}from\"framer\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";export function useAutoMotionValue(inputValue,options){// Put options on a local ref\n// Might wanna just memo instead but it works for now\nconst optionsRef=useRef(options);const animation=useRef();const didInitialMount=useRef(false);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;// in-progress - trying to figure out effect hooks\nconst onChangeDeps=(options===null||options===void 0?void 0:options.onChangeDeps)?options.onChangeDeps:[];// Memoize the onChange handler\nconst onChange=useCallback(options===null||options===void 0?void 0:options.onChange,[...onChangeDeps,]);// Optionally scale the value from props\nconst transformer=useCallback(value=>{var ref;return((ref=optionsRef.current)===null||ref===void 0?void 0:ref.transform)?optionsRef.current.transform(value):value;},[]);// Create new MotionValue from inputValue\nconst value1=useConstant(()=>isMotionValue(inputValue)?inputValue:motionValue(transformer(inputValue)));// Setting value from prop change\nuseEffect(()=>{if(!isMotionValue(inputValue)&&didInitialMount.current){var ref,ref1;const newValue=transformer(inputValue);(ref=animation.current)===null||ref===void 0?void 0:ref.stop();// Call change callback\nif(onChange)onChange(newValue,value1);// Trigger animation to new value\nif(((ref1=optionsRef.current)===null||ref1===void 0?void 0:ref1.animate)&&!isOnCanvas){var ref2;// @ts-ignore\nanimation.current=animate(value1,newValue,(ref2=optionsRef.current)===null||ref2===void 0?void 0:ref2.transition);}else{value1.set(newValue);}}didInitialMount.current=true;},[inputValue,...onChangeDeps]);return value1;}\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useAutoMotionValue.map","/*\n * useAutoMotionValue (framer/useAutoMotionValue@0.3.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/V4SPg9g59hF1vFH3ZTF0/useAutoMotionValue.js\"\n","var _global = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : global;\n\nvar exports = {};\ntypeof navigator !== \"undefined\" && function (root, factory) {\n  if (exports) {\n    exports = factory(root);\n  } else {\n    root.lottie = factory(root);\n    root.bodymovin = root.lottie;\n  }\n}(window || {}, function (window) {\n  /* global locationHref:writable, animationManager, subframeEnabled:writable, defaultCurveSegments:writable, roundValues,\r\n  expressionsPlugin:writable, PropertyFactory, ShapePropertyFactory, Matrix */\n\n  /* exported locationHref, subframeEnabled, expressionsPlugin */\n  'use strict';\n  /* exported svgNS, locationHref, initialDefaultFrame */\n\n  var svgNS = \"http://www.w3.org/2000/svg\";\n  var locationHref = \"\";\n  var initialDefaultFrame = -999999;\n  /* global createSizedArray */\n\n  /* exported subframeEnabled, expressionsPlugin, isSafari, cachedColors, bmPow, bmSqrt, bmFloor, bmMax, bmMin, ProjectInterface,\r\n  defaultCurveSegments, degToRads, roundCorner, bmRnd, styleDiv, BMEnterFrameEvent, BMCompleteEvent, BMCompleteLoopEvent,\r\n  BMSegmentStartEvent, BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, BMAnimationConfigErrorEvent, createElementID,\r\n  addSaturationToRGB, addBrightnessToRGB, addHueToRGB, rgbToHex */\n\n  var subframeEnabled = true;\n  var expressionsPlugin;\n  var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n  var cachedColors = {};\n  var bmRnd;\n  var bmPow = Math.pow;\n  var bmSqrt = Math.sqrt;\n  var bmFloor = Math.floor;\n  var bmMax = Math.max;\n  var bmMin = Math.min;\n  var BMMath = {};\n\n  (function () {\n    var propertyNames = [\"abs\", \"acos\", \"acosh\", \"asin\", \"asinh\", \"atan\", \"atanh\", \"atan2\", \"ceil\", \"cbrt\", \"expm1\", \"clz32\", \"cos\", \"cosh\", \"exp\", \"floor\", \"fround\", \"hypot\", \"imul\", \"log\", \"log1p\", \"log2\", \"log10\", \"max\", \"min\", \"pow\", \"random\", \"round\", \"sign\", \"sin\", \"sinh\", \"sqrt\", \"tan\", \"tanh\", \"trunc\", \"E\", \"LN10\", \"LN2\", \"LOG10E\", \"LOG2E\", \"PI\", \"SQRT1_2\", \"SQRT2\"];\n    var i;\n    var len = propertyNames.length;\n\n    for (i = 0; i < len; i += 1) {\n      BMMath[propertyNames[i]] = Math[propertyNames[i]];\n    }\n  })();\n\n  function ProjectInterface() {\n    return {};\n  }\n\n  BMMath.random = Math.random;\n\n  BMMath.abs = function (val) {\n    var tOfVal = typeof val;\n\n    if (tOfVal === \"object\" && val.length) {\n      var absArr = createSizedArray(val.length);\n      var i;\n      var len = val.length;\n\n      for (i = 0; i < len; i += 1) {\n        absArr[i] = Math.abs(val[i]);\n      }\n\n      return absArr;\n    }\n\n    return Math.abs(val);\n  };\n\n  var defaultCurveSegments = 150;\n  var degToRads = Math.PI / 180;\n  var roundCorner = 0.5519;\n\n  function roundValues(flag) {\n    if (flag) {\n      bmRnd = Math.round;\n    } else {\n      bmRnd = function (val) {\n        return val;\n      };\n    }\n  }\n\n  roundValues(false);\n\n  function styleDiv(element) {\n    element.style.position = \"absolute\";\n    element.style.top = 0;\n    element.style.left = 0;\n    element.style.display = \"block\";\n    element.style.transformOrigin = \"0 0\";\n    element.style.webkitTransformOrigin = \"0 0\";\n    element.style.backfaceVisibility = \"visible\";\n    element.style.webkitBackfaceVisibility = \"visible\";\n    element.style.transformStyle = \"preserve-3d\";\n    element.style.webkitTransformStyle = \"preserve-3d\";\n    element.style.mozTransformStyle = \"preserve-3d\";\n  }\n\n  function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).currentTime = currentTime;\n    (this || _global).totalTime = totalTime;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteEvent(type, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).currentLoop = currentLoop;\n    (this || _global).totalLoops = totalLoops;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n    (this || _global).type = type;\n    (this || _global).firstFrame = firstFrame;\n    (this || _global).totalFrames = totalFrames;\n  }\n\n  function BMDestroyEvent(type, target) {\n    (this || _global).type = type;\n    (this || _global).target = target;\n  }\n\n  function BMRenderFrameErrorEvent(nativeError, currentTime) {\n    (this || _global).type = \"renderFrameError\";\n    (this || _global).nativeError = nativeError;\n    (this || _global).currentTime = currentTime;\n  }\n\n  function BMConfigErrorEvent(nativeError) {\n    (this || _global).type = \"configError\";\n    (this || _global).nativeError = nativeError;\n  }\n\n  function BMAnimationConfigErrorEvent(type, nativeError) {\n    (this || _global).type = type;\n    (this || _global).nativeError = nativeError;\n  }\n\n  var createElementID = function () {\n    var _count = 0;\n    return function createID() {\n      _count += 1;\n      return \"__lottie_element_\" + _count;\n    };\n  }();\n\n  function HSVtoRGB(h, s, v) {\n    var r;\n    var g;\n    var b;\n    var i;\n    var f;\n    var p;\n    var q;\n    var t;\n    i = Math.floor(h * 6);\n    f = h * 6 - i;\n    p = v * (1 - s);\n    q = v * (1 - f * s);\n    t = v * (1 - (1 - f) * s);\n\n    switch (i % 6) {\n      case 0:\n        r = v;\n        g = t;\n        b = p;\n        break;\n\n      case 1:\n        r = q;\n        g = v;\n        b = p;\n        break;\n\n      case 2:\n        r = p;\n        g = v;\n        b = t;\n        break;\n\n      case 3:\n        r = p;\n        g = q;\n        b = v;\n        break;\n\n      case 4:\n        r = t;\n        g = p;\n        b = v;\n        break;\n\n      case 5:\n        r = v;\n        g = p;\n        b = q;\n        break;\n\n      default:\n        break;\n    }\n\n    return [r, g, b];\n  }\n\n  function RGBtoHSV(r, g, b) {\n    var max = Math.max(r, g, b);\n    var min = Math.min(r, g, b);\n    var d = max - min;\n    var h;\n    var s = max === 0 ? 0 : d / max;\n    var v = max / 255;\n\n    switch (max) {\n      case min:\n        h = 0;\n        break;\n\n      case r:\n        h = g - b + d * (g < b ? 6 : 0);\n        h /= 6 * d;\n        break;\n\n      case g:\n        h = b - r + d * 2;\n        h /= 6 * d;\n        break;\n\n      case b:\n        h = r - g + d * 4;\n        h /= 6 * d;\n        break;\n\n      default:\n        break;\n    }\n\n    return [h, s, v];\n  }\n\n  function addSaturationToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[1] += offset;\n\n    if (hsv[1] > 1) {\n      hsv[1] = 1;\n    } else if (hsv[1] <= 0) {\n      hsv[1] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addBrightnessToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[2] += offset;\n\n    if (hsv[2] > 1) {\n      hsv[2] = 1;\n    } else if (hsv[2] < 0) {\n      hsv[2] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addHueToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[0] += offset / 360;\n\n    if (hsv[0] > 1) {\n      hsv[0] -= 1;\n    } else if (hsv[0] < 0) {\n      hsv[0] += 1;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  var rgbToHex = function () {\n    var colorMap = [];\n    var i;\n    var hex;\n\n    for (i = 0; i < 256; i += 1) {\n      hex = i.toString(16);\n      colorMap[i] = hex.length === 1 ? \"0\" + hex : hex;\n    }\n\n    return function (r, g, b) {\n      if (r < 0) {\n        r = 0;\n      }\n\n      if (g < 0) {\n        g = 0;\n      }\n\n      if (b < 0) {\n        b = 0;\n      }\n\n      return \"#\" + colorMap[r] + colorMap[g] + colorMap[b];\n    };\n  }();\n\n  function BaseEvent() {}\n\n  BaseEvent.prototype = {\n    triggerEvent: function (eventName, args) {\n      if ((this || _global)._cbs[eventName]) {\n        var len = (this || _global)._cbs[eventName].length;\n\n        for (var i = 0; i < len; i += 1) {\n          (this || _global)._cbs[eventName][i](args);\n        }\n      }\n    },\n    addEventListener: function (eventName, callback) {\n      if (!(this || _global)._cbs[eventName]) {\n        (this || _global)._cbs[eventName] = [];\n      }\n\n      (this || _global)._cbs[eventName].push(callback);\n\n      return function () {\n        this.removeEventListener(eventName, callback);\n      }.bind(this || _global);\n    },\n    removeEventListener: function (eventName, callback) {\n      if (!callback) {\n        (this || _global)._cbs[eventName] = null;\n      } else if ((this || _global)._cbs[eventName]) {\n        var i = 0;\n        var len = (this || _global)._cbs[eventName].length;\n\n        while (i < len) {\n          if ((this || _global)._cbs[eventName][i] === callback) {\n            (this || _global)._cbs[eventName].splice(i, 1);\n\n            i -= 1;\n            len -= 1;\n          }\n\n          i += 1;\n        }\n\n        if (!(this || _global)._cbs[eventName].length) {\n          (this || _global)._cbs[eventName] = null;\n        }\n      }\n    }\n  };\n  /* exported createTypedArray, createSizedArray */\n\n  var createTypedArray = function () {\n    function createRegularArray(type, len) {\n      var i = 0;\n      var arr = [];\n      var value;\n\n      switch (type) {\n        case \"int16\":\n        case \"uint8c\":\n          value = 1;\n          break;\n\n        default:\n          value = 1.1;\n          break;\n      }\n\n      for (i = 0; i < len; i += 1) {\n        arr.push(value);\n      }\n\n      return arr;\n    }\n\n    function createTypedArrayFactory(type, len) {\n      if (type === \"float32\") {\n        return new Float32Array(len);\n      }\n\n      if (type === \"int16\") {\n        return new Int16Array(len);\n      }\n\n      if (type === \"uint8c\") {\n        return new Uint8ClampedArray(len);\n      }\n\n      return createRegularArray(type, len);\n    }\n\n    if (typeof Uint8ClampedArray === \"function\" && typeof Float32Array === \"function\") {\n      return createTypedArrayFactory;\n    }\n\n    return createRegularArray;\n  }();\n\n  function createSizedArray(len) {\n    return Array.apply(null, {\n      length: len\n    });\n  }\n  /* global svgNS */\n\n  /* exported createNS */\n\n\n  function createNS(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElementNS(svgNS, type);\n  }\n  /* exported createTag */\n\n\n  function createTag(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElement(type);\n  }\n\n  function DynamicPropertyContainer() {}\n\n  DynamicPropertyContainer.prototype = {\n    addDynamicProperty: function (prop) {\n      if ((this || _global).dynamicProperties.indexOf(prop) === -1) {\n        (this || _global).dynamicProperties.push(prop);\n\n        (this || _global).container.addDynamicProperty(this || _global);\n\n        (this || _global)._isAnimated = true;\n      }\n    },\n    iterateDynamicProperties: function () {\n      (this || _global)._mdf = false;\n      var i;\n      var len = (this || _global).dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).dynamicProperties[i].getValue();\n\n        if ((this || _global).dynamicProperties[i]._mdf) {\n          (this || _global)._mdf = true;\n        }\n      }\n    },\n    initDynamicPropertyContainer: function (container) {\n      (this || _global).container = container;\n      (this || _global).dynamicProperties = [];\n      (this || _global)._mdf = false;\n      (this || _global)._isAnimated = false;\n    }\n  };\n  /* exported getBlendMode */\n\n  var getBlendMode = function () {\n    var blendModeEnums = {\n      0: \"source-over\",\n      1: \"multiply\",\n      2: \"screen\",\n      3: \"overlay\",\n      4: \"darken\",\n      5: \"lighten\",\n      6: \"color-dodge\",\n      7: \"color-burn\",\n      8: \"hard-light\",\n      9: \"soft-light\",\n      10: \"difference\",\n      11: \"exclusion\",\n      12: \"hue\",\n      13: \"saturation\",\n      14: \"color\",\n      15: \"luminosity\"\n    };\n    return function (mode) {\n      return blendModeEnums[mode] || \"\";\n    };\n  }();\n  /* global createTypedArray */\n\n  /*!\r\n   Transformation Matrix v2.0\r\n   (c) Epistemex 2014-2015\r\n   www.epistemex.com\r\n   By Ken Fyrstenberg\r\n   Contributions by leeoniya.\r\n   License: MIT, header required.\r\n   */\n\n  /**\r\n   * 2D transformation matrix object initialized with identity matrix.\r\n   *\r\n   * The matrix can synchronize a canvas context by supplying the context\r\n   * as an argument, or later apply current absolute transform to an\r\n   * existing context.\r\n   *\r\n   * All values are handled as floating point values.\r\n   *\r\n   * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n   * @prop {number} a - scale x\r\n   * @prop {number} b - shear y\r\n   * @prop {number} c - shear x\r\n   * @prop {number} d - scale y\r\n   * @prop {number} e - translate x\r\n   * @prop {number} f - translate y\r\n   * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n   * @constructor\r\n   */\n\n\n  var Matrix = function () {\n    var _cos = Math.cos;\n    var _sin = Math.sin;\n    var _tan = Math.tan;\n    var _rnd = Math.round;\n\n    function reset() {\n      (this || _global).props[0] = 1;\n      (this || _global).props[1] = 0;\n      (this || _global).props[2] = 0;\n      (this || _global).props[3] = 0;\n      (this || _global).props[4] = 0;\n      (this || _global).props[5] = 1;\n      (this || _global).props[6] = 0;\n      (this || _global).props[7] = 0;\n      (this || _global).props[8] = 0;\n      (this || _global).props[9] = 0;\n      (this || _global).props[10] = 1;\n      (this || _global).props[11] = 0;\n      (this || _global).props[12] = 0;\n      (this || _global).props[13] = 0;\n      (this || _global).props[14] = 0;\n      (this || _global).props[15] = 1;\n      return this || _global;\n    }\n\n    function rotate(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function rotateX(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateY(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateZ(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function shear(sx, sy) {\n      return this._t(1, sy, sx, 1, 0, 0);\n    }\n\n    function skew(ax, ay) {\n      return this.shear(_tan(ax), _tan(ay));\n    }\n\n    function skewFromAxis(ax, angle) {\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n    }\n\n    function scale(sx, sy, sz) {\n      if (!sz && sz !== 0) {\n        sz = 1;\n      }\n\n      if (sx === 1 && sy === 1 && sz === 1) {\n        return this || _global;\n      }\n\n      return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n    }\n\n    function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n      (this || _global).props[0] = a;\n      (this || _global).props[1] = b;\n      (this || _global).props[2] = c;\n      (this || _global).props[3] = d;\n      (this || _global).props[4] = e;\n      (this || _global).props[5] = f;\n      (this || _global).props[6] = g;\n      (this || _global).props[7] = h;\n      (this || _global).props[8] = i;\n      (this || _global).props[9] = j;\n      (this || _global).props[10] = k;\n      (this || _global).props[11] = l;\n      (this || _global).props[12] = m;\n      (this || _global).props[13] = n;\n      (this || _global).props[14] = o;\n      (this || _global).props[15] = p;\n      return this || _global;\n    }\n\n    function translate(tx, ty, tz) {\n      tz = tz || 0;\n\n      if (tx !== 0 || ty !== 0 || tz !== 0) {\n        return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n      }\n\n      return this || _global;\n    }\n\n    function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n      var _p = (this || _global).props;\n\n      if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) {\n        // NOTE: commenting this condition because TurboFan deoptimizes code when present\n        // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n        _p[12] = _p[12] * a2 + _p[15] * m2;\n        _p[13] = _p[13] * f2 + _p[15] * n2;\n        _p[14] = _p[14] * k2 + _p[15] * o2;\n        _p[15] *= p2; // }\n\n        (this || _global)._identityCalculated = false;\n        return this || _global;\n      }\n\n      var a1 = _p[0];\n      var b1 = _p[1];\n      var c1 = _p[2];\n      var d1 = _p[3];\n      var e1 = _p[4];\n      var f1 = _p[5];\n      var g1 = _p[6];\n      var h1 = _p[7];\n      var i1 = _p[8];\n      var j1 = _p[9];\n      var k1 = _p[10];\n      var l1 = _p[11];\n      var m1 = _p[12];\n      var n1 = _p[13];\n      var o1 = _p[14];\n      var p1 = _p[15];\n      /* matrix order (canvas compatible):\r\n           * ace\r\n           * bdf\r\n           * 001\r\n           */\n\n      _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n      _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n      _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n      _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n      _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n      _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n      _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n      _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n      _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n      _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n      _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n      _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n      _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n      _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n      _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n      _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n      (this || _global)._identityCalculated = false;\n      return this || _global;\n    }\n\n    function isIdentity() {\n      if (!(this || _global)._identityCalculated) {\n        (this || _global)._identity = !((this || _global).props[0] !== 1 || (this || _global).props[1] !== 0 || (this || _global).props[2] !== 0 || (this || _global).props[3] !== 0 || (this || _global).props[4] !== 0 || (this || _global).props[5] !== 1 || (this || _global).props[6] !== 0 || (this || _global).props[7] !== 0 || (this || _global).props[8] !== 0 || (this || _global).props[9] !== 0 || (this || _global).props[10] !== 1 || (this || _global).props[11] !== 0 || (this || _global).props[12] !== 0 || (this || _global).props[13] !== 0 || (this || _global).props[14] !== 0 || (this || _global).props[15] !== 1);\n        (this || _global)._identityCalculated = true;\n      }\n\n      return (this || _global)._identity;\n    }\n\n    function equals(matr) {\n      var i = 0;\n\n      while (i < 16) {\n        if (matr.props[i] !== (this || _global).props[i]) {\n          return false;\n        }\n\n        i += 1;\n      }\n\n      return true;\n    }\n\n    function clone(matr) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        matr.props[i] = (this || _global).props[i];\n      }\n\n      return matr;\n    }\n\n    function cloneFromProps(props) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        (this || _global).props[i] = props[i];\n      }\n    }\n\n    function applyToPoint(x, y, z) {\n      return {\n        x: x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12],\n        y: x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13],\n        z: x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14]\n      };\n      /* return {\r\n           x: x * me.a + y * me.c + me.e,\r\n           y: x * me.b + y * me.d + me.f\r\n           }; */\n    }\n\n    function applyToX(x, y, z) {\n      return x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12];\n    }\n\n    function applyToY(x, y, z) {\n      return x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13];\n    }\n\n    function applyToZ(x, y, z) {\n      return x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14];\n    }\n\n    function getInverseMatrix() {\n      var determinant = (this || _global).props[0] * (this || _global).props[5] - (this || _global).props[1] * (this || _global).props[4];\n      var a = (this || _global).props[5] / determinant;\n      var b = -(this || _global).props[1] / determinant;\n      var c = -(this || _global).props[4] / determinant;\n      var d = (this || _global).props[0] / determinant;\n      var e = ((this || _global).props[4] * (this || _global).props[13] - (this || _global).props[5] * (this || _global).props[12]) / determinant;\n      var f = -((this || _global).props[0] * (this || _global).props[13] - (this || _global).props[1] * (this || _global).props[12]) / determinant;\n      var inverseMatrix = new Matrix();\n      inverseMatrix.props[0] = a;\n      inverseMatrix.props[1] = b;\n      inverseMatrix.props[4] = c;\n      inverseMatrix.props[5] = d;\n      inverseMatrix.props[12] = e;\n      inverseMatrix.props[13] = f;\n      return inverseMatrix;\n    }\n\n    function inversePoint(pt) {\n      var inverseMatrix = this.getInverseMatrix();\n      return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n    }\n\n    function inversePoints(pts) {\n      var i;\n      var len = pts.length;\n      var retPts = [];\n\n      for (i = 0; i < len; i += 1) {\n        retPts[i] = inversePoint(pts[i]);\n      }\n\n      return retPts;\n    }\n\n    function applyToTriplePoints(pt1, pt2, pt3) {\n      var arr = createTypedArray(\"float32\", 6);\n\n      if (this.isIdentity()) {\n        arr[0] = pt1[0];\n        arr[1] = pt1[1];\n        arr[2] = pt2[0];\n        arr[3] = pt2[1];\n        arr[4] = pt3[0];\n        arr[5] = pt3[1];\n      } else {\n        var p0 = (this || _global).props[0];\n        var p1 = (this || _global).props[1];\n        var p4 = (this || _global).props[4];\n        var p5 = (this || _global).props[5];\n        var p12 = (this || _global).props[12];\n        var p13 = (this || _global).props[13];\n        arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n        arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n        arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n        arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n        arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n        arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n      }\n\n      return arr;\n    }\n\n    function applyToPointArray(x, y, z) {\n      var arr;\n\n      if (this.isIdentity()) {\n        arr = [x, y, z];\n      } else {\n        arr = [x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12], x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13], x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14]];\n      }\n\n      return arr;\n    }\n\n    function applyToPointStringified(x, y) {\n      if (this.isIdentity()) {\n        return x + \",\" + y;\n      }\n\n      var _p = (this || _global).props;\n      return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + \",\" + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;\n    }\n\n    function toCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var i = 0;\n      var props = (this || _global).props;\n      var cssValue = \"matrix3d(\";\n      var v = 10000;\n\n      while (i < 16) {\n        cssValue += _rnd(props[i] * v) / v;\n        cssValue += i === 15 ? \")\" : \",\";\n        i += 1;\n      }\n\n      return cssValue;\n    }\n\n    function roundMatrixProperty(val) {\n      var v = 10000;\n\n      if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n        return _rnd(val * v) / v;\n      }\n\n      return val;\n    }\n\n    function to2dCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var props = (this || _global).props;\n\n      var _a = roundMatrixProperty(props[0]);\n\n      var _b = roundMatrixProperty(props[1]);\n\n      var _c = roundMatrixProperty(props[4]);\n\n      var _d = roundMatrixProperty(props[5]);\n\n      var _e = roundMatrixProperty(props[12]);\n\n      var _f = roundMatrixProperty(props[13]);\n\n      return \"matrix(\" + _a + \",\" + _b + \",\" + _c + \",\" + _d + \",\" + _e + \",\" + _f + \")\";\n    }\n\n    return function () {\n      (this || _global).reset = reset;\n      (this || _global).rotate = rotate;\n      (this || _global).rotateX = rotateX;\n      (this || _global).rotateY = rotateY;\n      (this || _global).rotateZ = rotateZ;\n      (this || _global).skew = skew;\n      (this || _global).skewFromAxis = skewFromAxis;\n      (this || _global).shear = shear;\n      (this || _global).scale = scale;\n      (this || _global).setTransform = setTransform;\n      (this || _global).translate = translate;\n      (this || _global).transform = transform;\n      (this || _global).applyToPoint = applyToPoint;\n      (this || _global).applyToX = applyToX;\n      (this || _global).applyToY = applyToY;\n      (this || _global).applyToZ = applyToZ;\n      (this || _global).applyToPointArray = applyToPointArray;\n      (this || _global).applyToTriplePoints = applyToTriplePoints;\n      (this || _global).applyToPointStringified = applyToPointStringified;\n      (this || _global).toCSS = toCSS;\n      (this || _global).to2dCSS = to2dCSS;\n      (this || _global).clone = clone;\n      (this || _global).cloneFromProps = cloneFromProps;\n      (this || _global).equals = equals;\n      (this || _global).inversePoints = inversePoints;\n      (this || _global).inversePoint = inversePoint;\n      (this || _global).getInverseMatrix = getInverseMatrix;\n      (this || _global)._t = (this || _global).transform;\n      (this || _global).isIdentity = isIdentity;\n      (this || _global)._identity = true;\n      (this || _global)._identityCalculated = false;\n      (this || _global).props = createTypedArray(\"float32\", 16);\n      this.reset();\n    };\n  }();\n  /* eslint-disable */\n\n  /*\r\n   Copyright 2014 David Bau.\r\n  \r\n   Permission is hereby granted, free of charge, to any person obtaining\r\n   a copy of this software and associated documentation files (the\r\n   \"Software\"), to deal in the Software without restriction, including\r\n   without limitation the rights to use, copy, modify, merge, publish,\r\n   distribute, sublicense, and/or sell copies of the Software, and to\r\n   permit persons to whom the Software is furnished to do so, subject to\r\n   the following conditions:\r\n  \r\n   The above copyright notice and this permission notice shall be\r\n   included in all copies or substantial portions of the Software.\r\n  \r\n   THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n  \r\n   */\n\n\n  (function (pool, math) {\n    //\n    // The following constants are related to IEEE 754 limits.\n    //\n    var global = this || _global,\n        width = 256,\n        // each RC4 output is 0 <= x < 256\n    chunks = 6,\n        // at least six RC4 outputs for each double\n    digits = 52,\n        // there are 52 significant digits in a double\n    rngname = \"random\",\n        // rngname: name for Math.random and Math.seedrandom\n    startdenom = math.pow(width, chunks),\n        significance = math.pow(2, digits),\n        overflow = significance * 2,\n        mask = width - 1,\n        nodecrypto; // node.js crypto module, initialized at the bottom.\n    //\n    // seedrandom()\n    // This is the seedrandom function described above.\n    //\n\n    function seedrandom(seed, options, callback) {\n      var key = [];\n      options = options === true ? {\n        entropy: true\n      } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n      var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n      var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n      // randomness in every bit of the mantissa of the IEEE 754 value.\n\n      var prng = function () {\n        var n = arc4.g(chunks),\n            // Start with a numerator n < 2 ^ 48\n        d = startdenom,\n            //   and denominator d = 2 ^ 48.\n        x = 0; //   and no 'extra last byte'.\n\n        while (n < significance) {\n          // Fill up all significant digits by\n          n = (n + x) * width; //   shifting numerator and\n\n          d *= width; //   denominator and generating a\n\n          x = arc4.g(1); //   new least-significant-byte.\n        }\n\n        while (n >= overflow) {\n          // To avoid rounding up, before adding\n          n /= 2; //   last byte, shift everything\n\n          d /= 2; //   right using integer math until\n\n          x >>>= 1; //   we have exactly the desired bits.\n        }\n\n        return (n + x) / d; // Form the number within [0, 1).\n      };\n\n      prng.int32 = function () {\n        return arc4.g(4) | 0;\n      };\n\n      prng.quick = function () {\n        return arc4.g(4) / 4294967296;\n      };\n\n      prng.double = prng; // Mix the randomness into accumulated entropy.\n\n      mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n      return (options.pass || callback || function (prng, seed, is_math_call, state) {\n        if (state) {\n          // Load the arc4 state from the given state if it has an S array.\n          if (state.S) {\n            copy(state, arc4);\n          } // Only provide the .state method if requested via options.state.\n\n\n          prng.state = function () {\n            return copy(arc4, {});\n          };\n        } // If called as a method of Math (Math.seedrandom()), mutate\n        // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n        if (is_math_call) {\n          math[rngname] = prng;\n          return seed;\n        } // Otherwise, it is a newer calling convention, so return the\n        // prng directly.\n        else return prng;\n      })(prng, shortseed, \"global\" in options ? options.global : (this || _global) == math, options.state);\n    }\n\n    math[\"seed\" + rngname] = seedrandom; //\n    // ARC4\n    //\n    // An ARC4 implementation.  The constructor takes a key in the form of\n    // an array of at most (width) integers that should be 0 <= x < (width).\n    //\n    // The g(count) method returns a pseudorandom integer that concatenates\n    // the next (count) outputs from ARC4.  Its return value is a number x\n    // that is in the range 0 <= x < (width ^ count).\n    //\n\n    function ARC4(key) {\n      var t,\n          keylen = key.length,\n          me = this || _global,\n          i = 0,\n          j = me.i = me.j = 0,\n          s = me.S = []; // The empty key [] is treated as [0].\n\n      if (!keylen) {\n        key = [keylen++];\n      } // Set up S using the standard key scheduling algorithm.\n\n\n      while (i < width) {\n        s[i] = i++;\n      }\n\n      for (i = 0; i < width; i++) {\n        s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n        s[j] = t;\n      } // The \"g\" method returns the next (count) outputs as one number.\n\n\n      me.g = function (count) {\n        // Using instance members instead of closure state nearly doubles speed.\n        var t,\n            r = 0,\n            i = me.i,\n            j = me.j,\n            s = me.S;\n\n        while (count--) {\n          t = s[i = mask & i + 1];\n          r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n        }\n\n        me.i = i;\n        me.j = j;\n        return r; // For robust unpredictability, the function call below automatically\n        // discards an initial batch of values.  This is called RC4-drop[256].\n        // See http://google.com/search?q=rsa+fluhrer+response&btnI\n      };\n    } //\n    // copy()\n    // Copies internal state of ARC4 to or from a plain object.\n    //\n\n\n    function copy(f, t) {\n      t.i = f.i;\n      t.j = f.j;\n      t.S = f.S.slice();\n      return t;\n    } //\n    // flatten()\n    // Converts an object tree to nested arrays of strings.\n    //\n\n\n    function flatten(obj, depth) {\n      var result = [],\n          typ = typeof obj,\n          prop;\n\n      if (depth && typ == \"object\") {\n        for (prop in obj) {\n          try {\n            result.push(flatten(obj[prop], depth - 1));\n          } catch (e) {}\n        }\n      }\n\n      return result.length ? result : typ == \"string\" ? obj : obj + \"\\0\";\n    } //\n    // mixkey()\n    // Mixes a string seed into a key that is an array of integers, and\n    // returns a shortened string seed that is equivalent to the result key.\n    //\n\n\n    function mixkey(seed, key) {\n      var stringseed = seed + \"\",\n          smear,\n          j = 0;\n\n      while (j < stringseed.length) {\n        key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n      }\n\n      return tostring(key);\n    } //\n    // autoseed()\n    // Returns an object for autoseeding, using window.crypto and Node crypto\n    // module if available.\n    //\n\n\n    function autoseed() {\n      try {\n        if (nodecrypto) {\n          return tostring(nodecrypto.randomBytes(width));\n        }\n\n        var out = new Uint8Array(width);\n        (global.crypto || global.msCrypto).getRandomValues(out);\n        return tostring(out);\n      } catch (e) {\n        var browser = global.navigator,\n            plugins = browser && browser.plugins;\n        return [+new Date(), global, plugins, global.screen, tostring(pool)];\n      }\n    } //\n    // tostring()\n    // Converts an array of charcodes to a string\n    //\n\n\n    function tostring(a) {\n      return String.fromCharCode.apply(0, a);\n    } //\n    // When seedrandom.js is loaded, we immediately mix a few bits\n    // from the built-in RNG into the entropy pool.  Because we do\n    // not want to interfere with deterministic PRNG state later,\n    // seedrandom will not call math.random on its own again after\n    // initialization.\n    //\n\n\n    mixkey(math.random(), pool); //\n    // Nodejs and AMD support: export the implementation as a module using\n    // either convention.\n    //\n    // End anonymous scope, and pass initial values.\n  })([], // pool: entropy pool starts empty\n  BMMath // math: package containing random, pow, and seedrandom\n  );\n  /* eslint-disable */\n\n\n  var BezierFactory = function () {\n    /**\r\n       * BezierEasing - use bezier curve for transition easing function\r\n       * by Gaë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       */\n    var ob = {};\n    ob.getBezierEasing = getBezierEasing;\n    var beziers = {};\n\n    function getBezierEasing(a, b, c, d, nm) {\n      var str = nm || (\"bez_\" + a + \"_\" + b + \"_\" + c + \"_\" + d).replace(/\\./g, \"p\");\n\n      if (beziers[str]) {\n        return beziers[str];\n      }\n\n      var bezEasing = new BezierEasing([a, b, c, d]);\n      beziers[str] = bezEasing;\n      return bezEasing;\n    } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n    var NEWTON_ITERATIONS = 4;\n    var NEWTON_MIN_SLOPE = 0.001;\n    var SUBDIVISION_PRECISION = 1e-7;\n    var SUBDIVISION_MAX_ITERATIONS = 10;\n    var kSplineTableSize = 11;\n    var kSampleStepSize = 1 / (kSplineTableSize - 1);\n    var float32ArraySupported = typeof Float32Array === \"function\";\n\n    function A(aA1, aA2) {\n      return 1 - 3 * aA2 + 3 * aA1;\n    }\n\n    function B(aA1, aA2) {\n      return 3 * aA2 - 6 * aA1;\n    }\n\n    function C(aA1) {\n      return 3 * aA1;\n    } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n    function calcBezier(aT, aA1, aA2) {\n      return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n    } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n    function getSlope(aT, aA1, aA2) {\n      return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1);\n    }\n\n    function binarySubdivide(aX, aA, aB, mX1, mX2) {\n      var currentX,\n          currentT,\n          i = 0;\n\n      do {\n        currentT = aA + (aB - aA) / 2;\n        currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n        if (currentX > 0) {\n          aB = currentT;\n        } else {\n          aA = currentT;\n        }\n      } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n      return currentT;\n    }\n\n    function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n      for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n        var currentSlope = getSlope(aGuessT, mX1, mX2);\n        if (currentSlope === 0) return aGuessT;\n        var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n        aGuessT -= currentX / currentSlope;\n      }\n\n      return aGuessT;\n    }\n    /**\r\n       * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n       */\n\n\n    function BezierEasing(points) {\n      (this || _global)._p = points;\n      (this || _global)._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n      (this || _global)._precomputed = false;\n      (this || _global).get = (this || _global).get.bind(this || _global);\n    }\n\n    BezierEasing.prototype = {\n      get: function (x) {\n        var mX1 = (this || _global)._p[0],\n            mY1 = (this || _global)._p[1],\n            mX2 = (this || _global)._p[2],\n            mY2 = (this || _global)._p[3];\n        if (!(this || _global)._precomputed) this._precompute();\n        if (mX1 === mY1 && mX2 === mY2) return x; // linear\n        // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n        if (x === 0) return 0;\n        if (x === 1) return 1;\n        return calcBezier(this._getTForX(x), mY1, mY2);\n      },\n      // Private part\n      _precompute: function () {\n        var mX1 = (this || _global)._p[0],\n            mY1 = (this || _global)._p[1],\n            mX2 = (this || _global)._p[2],\n            mY2 = (this || _global)._p[3];\n        (this || _global)._precomputed = true;\n\n        if (mX1 !== mY1 || mX2 !== mY2) {\n          this._calcSampleValues();\n        }\n      },\n      _calcSampleValues: function () {\n        var mX1 = (this || _global)._p[0],\n            mX2 = (this || _global)._p[2];\n\n        for (var i = 0; i < kSplineTableSize; ++i) {\n          (this || _global)._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n        }\n      },\n\n      /**\r\n           * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n           */\n      _getTForX: function (aX) {\n        var mX1 = (this || _global)._p[0],\n            mX2 = (this || _global)._p[2],\n            mSampleValues = (this || _global)._mSampleValues;\n        var intervalStart = 0;\n        var currentSample = 1;\n        var lastSample = kSplineTableSize - 1;\n\n        for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n          intervalStart += kSampleStepSize;\n        }\n\n        --currentSample; // Interpolate to provide an initial guess for t\n\n        var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n        var guessForT = intervalStart + dist * kSampleStepSize;\n        var initialSlope = getSlope(guessForT, mX1, mX2);\n\n        if (initialSlope >= NEWTON_MIN_SLOPE) {\n          return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n        }\n\n        if (initialSlope === 0) {\n          return guessForT;\n        }\n\n        return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n      }\n    };\n    return ob;\n  }();\n\n  (function () {\n    var lastTime = 0;\n    var vendors = [\"ms\", \"moz\", \"webkit\", \"o\"];\n\n    for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\n      // eslint-disable-line no-plusplus\n      window.requestAnimationFrame = window[vendors[x] + \"RequestAnimationFrame\"];\n      window.cancelAnimationFrame = window[vendors[x] + \"CancelAnimationFrame\"] || window[vendors[x] + \"CancelRequestAnimationFrame\"];\n    }\n\n    if (!window.requestAnimationFrame) {\n      window.requestAnimationFrame = function (callback) {\n        var currTime = new Date().getTime();\n        var timeToCall = Math.max(0, 16 - (currTime - lastTime));\n        var id = setTimeout(function () {\n          callback(currTime + timeToCall);\n        }, timeToCall);\n        lastTime = currTime + timeToCall;\n        return id;\n      };\n    }\n\n    if (!window.cancelAnimationFrame) {\n      window.cancelAnimationFrame = function (id) {\n        clearTimeout(id);\n      };\n    }\n  })();\n  /* exported extendPrototype, getDescriptor, createProxyFunction */\n\n\n  function extendPrototype(sources, destination) {\n    var i;\n    var len = sources.length;\n    var sourcePrototype;\n\n    for (i = 0; i < len; i += 1) {\n      sourcePrototype = sources[i].prototype;\n\n      for (var attr in sourcePrototype) {\n        if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n      }\n    }\n  }\n\n  function getDescriptor(object, prop) {\n    return Object.getOwnPropertyDescriptor(object, prop);\n  }\n\n  function createProxyFunction(prototype) {\n    function ProxyFunction() {}\n\n    ProxyFunction.prototype = prototype;\n    return ProxyFunction;\n  }\n  /* global segmentsLengthPool, defaultCurveSegments, createSizedArray, bmPow, bmSqrt, bmFloor, createTypedArray, bezierLengthPool */\n\n  /* exported bez */\n\n\n  function bezFunction() {\n    var math = Math;\n\n    function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n      var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n      return det1 > -0.001 && det1 < 0.001;\n    }\n\n    function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n      if (z1 === 0 && z2 === 0 && z3 === 0) {\n        return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n      }\n\n      var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n      var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n      var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n      var diffDist;\n\n      if (dist1 > dist2) {\n        if (dist1 > dist3) {\n          diffDist = dist1 - dist2 - dist3;\n        } else {\n          diffDist = dist3 - dist2 - dist1;\n        }\n      } else if (dist3 > dist2) {\n        diffDist = dist3 - dist2 - dist1;\n      } else {\n        diffDist = dist2 - dist1 - dist3;\n      }\n\n      return diffDist > -0.0001 && diffDist < 0.0001;\n    }\n\n    var getBezierLength = function () {\n      return function (pt1, pt2, pt3, pt4) {\n        var curveSegments = defaultCurveSegments;\n        var k;\n        var i;\n        var len;\n        var ptCoord;\n        var perc;\n        var addedLength = 0;\n        var ptDistance;\n        var point = [];\n        var lastPoint = [];\n        var lengthData = bezierLengthPool.newElement();\n        len = pt3.length;\n\n        for (k = 0; k < curveSegments; k += 1) {\n          perc = k / (curveSegments - 1);\n          ptDistance = 0;\n\n          for (i = 0; i < len; i += 1) {\n            ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i];\n            point[i] = ptCoord;\n\n            if (lastPoint[i] !== null) {\n              ptDistance += bmPow(point[i] - lastPoint[i], 2);\n            }\n\n            lastPoint[i] = point[i];\n          }\n\n          if (ptDistance) {\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n          }\n\n          lengthData.percents[k] = perc;\n          lengthData.lengths[k] = addedLength;\n        }\n\n        lengthData.addedLength = addedLength;\n        return lengthData;\n      };\n    }();\n\n    function getSegmentsLength(shapeData) {\n      var segmentsLength = segmentsLengthPool.newElement();\n      var closed = shapeData.c;\n      var pathV = shapeData.v;\n      var pathO = shapeData.o;\n      var pathI = shapeData.i;\n      var i;\n      var len = shapeData._length;\n      var lengths = segmentsLength.lengths;\n      var totalLength = 0;\n\n      for (i = 0; i < len - 1; i += 1) {\n        lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      if (closed && len) {\n        lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      segmentsLength.totalLength = totalLength;\n      return segmentsLength;\n    }\n\n    function BezierData(length) {\n      (this || _global).segmentLength = 0;\n      (this || _global).points = new Array(length);\n    }\n\n    function PointData(partial, point) {\n      (this || _global).partialLength = partial;\n      (this || _global).point = point;\n    }\n\n    var buildBezierData = function () {\n      var storedData = {};\n      return function (pt1, pt2, pt3, pt4) {\n        var bezierName = (pt1[0] + \"_\" + pt1[1] + \"_\" + pt2[0] + \"_\" + pt2[1] + \"_\" + pt3[0] + \"_\" + pt3[1] + \"_\" + pt4[0] + \"_\" + pt4[1]).replace(/\\./g, \"p\");\n\n        if (!storedData[bezierName]) {\n          var curveSegments = defaultCurveSegments;\n          var k;\n          var i;\n          var len;\n          var ptCoord;\n          var perc;\n          var addedLength = 0;\n          var ptDistance;\n          var point;\n          var lastPoint = null;\n\n          if (pt1.length === 2 && (pt1[0] !== pt2[0] || pt1[1] !== pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) {\n            curveSegments = 2;\n          }\n\n          var bezierData = new BezierData(curveSegments);\n          len = pt3.length;\n\n          for (k = 0; k < curveSegments; k += 1) {\n            point = createSizedArray(len);\n            perc = k / (curveSegments - 1);\n            ptDistance = 0;\n\n            for (i = 0; i < len; i += 1) {\n              ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i];\n              point[i] = ptCoord;\n\n              if (lastPoint !== null) {\n                ptDistance += bmPow(point[i] - lastPoint[i], 2);\n              }\n            }\n\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n            bezierData.points[k] = new PointData(ptDistance, point);\n            lastPoint = point;\n          }\n\n          bezierData.segmentLength = addedLength;\n          storedData[bezierName] = bezierData;\n        }\n\n        return storedData[bezierName];\n      };\n    }();\n\n    function getDistancePerc(perc, bezierData) {\n      var percents = bezierData.percents;\n      var lengths = bezierData.lengths;\n      var len = percents.length;\n      var initPos = bmFloor((len - 1) * perc);\n      var lengthPos = perc * bezierData.addedLength;\n      var lPerc = 0;\n\n      if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n        return percents[initPos];\n      }\n\n      var dir = lengths[initPos] > lengthPos ? -1 : 1;\n      var flag = true;\n\n      while (flag) {\n        if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n          lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n          flag = false;\n        } else {\n          initPos += dir;\n        }\n\n        if (initPos < 0 || initPos >= len - 1) {\n          // FIX for TypedArrays that don't store floating point values with enough accuracy\n          if (initPos === len - 1) {\n            return percents[initPos];\n          }\n\n          flag = false;\n        }\n      }\n\n      return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n    }\n\n    function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n      var t1 = getDistancePerc(percent, bezierData);\n      var u1 = 1 - t1;\n      var ptX = math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000;\n      var ptY = math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000;\n      return [ptX, ptY];\n    }\n\n    var bezierSegmentPoints = createTypedArray(\"float32\", 8);\n\n    function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n      if (startPerc < 0) {\n        startPerc = 0;\n      } else if (startPerc > 1) {\n        startPerc = 1;\n      }\n\n      var t0 = getDistancePerc(startPerc, bezierData);\n      endPerc = endPerc > 1 ? 1 : endPerc;\n      var t1 = getDistancePerc(endPerc, bezierData);\n      var i;\n      var len = pt1.length;\n      var u0 = 1 - t0;\n      var u1 = 1 - t1;\n      var u0u0u0 = u0 * u0 * u0;\n      var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0t0 = t0 * t0 * t0; //\n\n      var u0u0u1 = u0 * u0 * u1;\n      var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0t1 = t0 * t0 * t1; //\n\n      var u0u1u1 = u0 * u1 * u1;\n      var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1t1 = t0 * t1 * t1; //\n\n      var u1u1u1 = u1 * u1 * u1;\n      var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1t1 = t1 * t1 * t1;\n\n      for (i = 0; i < len; i += 1) {\n        bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n      }\n\n      return bezierSegmentPoints;\n    }\n\n    return {\n      getSegmentsLength: getSegmentsLength,\n      getNewSegment: getNewSegment,\n      getPointInSegment: getPointInSegment,\n      buildBezierData: buildBezierData,\n      pointOnLine2D: pointOnLine2D,\n      pointOnLine3D: pointOnLine3D\n    };\n  }\n\n  var bez = bezFunction();\n  /* exported dataManager */\n\n  function dataFunctionManager() {\n    // var tCanvasHelper = createTag('canvas').getContext('2d');\n    function completeLayers(layers, comps, fontManager) {\n      var layerData;\n      var i;\n      var len = layers.length;\n      var j;\n      var jLen;\n      var k;\n      var kLen;\n\n      for (i = 0; i < len; i += 1) {\n        layerData = layers[i];\n\n        if (\"ks\" in layerData && !layerData.completed) {\n          layerData.completed = true;\n\n          if (layerData.tt) {\n            layers[i - 1].td = layerData.tt;\n          }\n\n          if (layerData.hasMask) {\n            var maskProps = layerData.masksProperties;\n            jLen = maskProps.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (maskProps[j].pt.k.i) {\n                convertPathsToAbsoluteValues(maskProps[j].pt.k);\n              } else {\n                kLen = maskProps[j].pt.k.length;\n\n                for (k = 0; k < kLen; k += 1) {\n                  if (maskProps[j].pt.k[k].s) {\n                    convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n                  }\n\n                  if (maskProps[j].pt.k[k].e) {\n                    convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n                  }\n                }\n              }\n            }\n          }\n\n          if (layerData.ty === 0) {\n            layerData.layers = findCompLayers(layerData.refId, comps);\n            completeLayers(layerData.layers, comps, fontManager);\n          } else if (layerData.ty === 4) {\n            completeShapes(layerData.shapes);\n          } else if (layerData.ty === 5) {\n            completeText(layerData, fontManager);\n          }\n        }\n      }\n    }\n\n    function findCompLayers(id, comps) {\n      var i = 0;\n      var len = comps.length;\n\n      while (i < len) {\n        if (comps[i].id === id) {\n          if (!comps[i].layers.__used) {\n            comps[i].layers.__used = true;\n            return comps[i].layers;\n          }\n\n          return JSON.parse(JSON.stringify(comps[i].layers));\n        }\n\n        i += 1;\n      }\n\n      return null;\n    }\n\n    function completeShapes(arr) {\n      var i;\n      var len = arr.length;\n      var j;\n      var jLen;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        if (arr[i].ty === \"sh\") {\n          if (arr[i].ks.k.i) {\n            convertPathsToAbsoluteValues(arr[i].ks.k);\n          } else {\n            jLen = arr[i].ks.k.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (arr[i].ks.k[j].s) {\n                convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n              }\n\n              if (arr[i].ks.k[j].e) {\n                convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n              }\n            }\n          }\n        } else if (arr[i].ty === \"gr\") {\n          completeShapes(arr[i].it);\n        }\n      }\n    }\n\n    function convertPathsToAbsoluteValues(path) {\n      var i;\n      var len = path.i.length;\n\n      for (i = 0; i < len; i += 1) {\n        path.i[i][0] += path.v[i][0];\n        path.i[i][1] += path.v[i][1];\n        path.o[i][0] += path.v[i][0];\n        path.o[i][1] += path.v[i][1];\n      }\n    }\n\n    function checkVersion(minimum, animVersionString) {\n      var animVersion = animVersionString ? animVersionString.split(\".\") : [100, 100, 100];\n\n      if (minimum[0] > animVersion[0]) {\n        return true;\n      }\n\n      if (animVersion[0] > minimum[0]) {\n        return false;\n      }\n\n      if (minimum[1] > animVersion[1]) {\n        return true;\n      }\n\n      if (animVersion[1] > minimum[1]) {\n        return false;\n      }\n\n      if (minimum[2] > animVersion[2]) {\n        return true;\n      }\n\n      if (animVersion[2] > minimum[2]) {\n        return false;\n      }\n\n      return null;\n    }\n\n    var checkText = function () {\n      var minimumVersion = [4, 4, 14];\n\n      function updateTextLayer(textLayer) {\n        var documentData = textLayer.t.d;\n        textLayer.t.d = {\n          k: [{\n            s: documentData,\n            t: 0\n          }]\n        };\n      }\n\n      function iterateLayers(layers) {\n        var i;\n        var len = layers.length;\n\n        for (i = 0; i < len; i += 1) {\n          if (layers[i].ty === 5) {\n            updateTextLayer(layers[i]);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkChars = function () {\n      var minimumVersion = [4, 7, 99];\n      return function (animationData) {\n        if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n          var i;\n          var len = animationData.chars.length;\n          var j;\n          var jLen;\n          var pathData;\n          var paths;\n\n          for (i = 0; i < len; i += 1) {\n            if (animationData.chars[i].data && animationData.chars[i].data.shapes) {\n              paths = animationData.chars[i].data.shapes[0].it;\n              jLen = paths.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                pathData = paths[j].ks.k;\n\n                if (!pathData.__converted) {\n                  convertPathsToAbsoluteValues(paths[j].ks.k);\n                  pathData.__converted = true;\n                }\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkColors = function () {\n      var minimumVersion = [4, 1, 9];\n\n      function iterateShapes(shapes) {\n        var i;\n        var len = shapes.length;\n        var j;\n        var jLen;\n\n        for (i = 0; i < len; i += 1) {\n          if (shapes[i].ty === \"gr\") {\n            iterateShapes(shapes[i].it);\n          } else if (shapes[i].ty === \"fl\" || shapes[i].ty === \"st\") {\n            if (shapes[i].c.k && shapes[i].c.k[0].i) {\n              jLen = shapes[i].c.k.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                if (shapes[i].c.k[j].s) {\n                  shapes[i].c.k[j].s[0] /= 255;\n                  shapes[i].c.k[j].s[1] /= 255;\n                  shapes[i].c.k[j].s[2] /= 255;\n                  shapes[i].c.k[j].s[3] /= 255;\n                }\n\n                if (shapes[i].c.k[j].e) {\n                  shapes[i].c.k[j].e[0] /= 255;\n                  shapes[i].c.k[j].e[1] /= 255;\n                  shapes[i].c.k[j].e[2] /= 255;\n                  shapes[i].c.k[j].e[3] /= 255;\n                }\n              }\n            } else {\n              shapes[i].c.k[0] /= 255;\n              shapes[i].c.k[1] /= 255;\n              shapes[i].c.k[2] /= 255;\n              shapes[i].c.k[3] /= 255;\n            }\n          }\n        }\n      }\n\n      function iterateLayers(layers) {\n        var i;\n        var len = layers.length;\n\n        for (i = 0; i < len; i += 1) {\n          if (layers[i].ty === 4) {\n            iterateShapes(layers[i].shapes);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkShapes = function () {\n      var minimumVersion = [4, 4, 18];\n\n      function completeClosingShapes(arr) {\n        var i;\n        var len = arr.length;\n        var j;\n        var jLen;\n\n        for (i = len - 1; i >= 0; i -= 1) {\n          if (arr[i].ty === \"sh\") {\n            if (arr[i].ks.k.i) {\n              arr[i].ks.k.c = arr[i].closed;\n            } else {\n              jLen = arr[i].ks.k.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                if (arr[i].ks.k[j].s) {\n                  arr[i].ks.k[j].s[0].c = arr[i].closed;\n                }\n\n                if (arr[i].ks.k[j].e) {\n                  arr[i].ks.k[j].e[0].c = arr[i].closed;\n                }\n              }\n            }\n          } else if (arr[i].ty === \"gr\") {\n            completeClosingShapes(arr[i].it);\n          }\n        }\n      }\n\n      function iterateLayers(layers) {\n        var layerData;\n        var i;\n        var len = layers.length;\n        var j;\n        var jLen;\n        var k;\n        var kLen;\n\n        for (i = 0; i < len; i += 1) {\n          layerData = layers[i];\n\n          if (layerData.hasMask) {\n            var maskProps = layerData.masksProperties;\n            jLen = maskProps.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (maskProps[j].pt.k.i) {\n                maskProps[j].pt.k.c = maskProps[j].cl;\n              } else {\n                kLen = maskProps[j].pt.k.length;\n\n                for (k = 0; k < kLen; k += 1) {\n                  if (maskProps[j].pt.k[k].s) {\n                    maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n                  }\n\n                  if (maskProps[j].pt.k[k].e) {\n                    maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n                  }\n                }\n              }\n            }\n          }\n\n          if (layerData.ty === 4) {\n            completeClosingShapes(layerData.shapes);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    function completeData(animationData, fontManager) {\n      if (animationData.__complete) {\n        return;\n      }\n\n      checkColors(animationData);\n      checkText(animationData);\n      checkChars(animationData);\n      checkShapes(animationData);\n      completeLayers(animationData.layers, animationData.assets, fontManager);\n      animationData.__complete = true;\n    }\n\n    function completeText(data) {\n      if (data.t.a.length === 0 && !(\"m\" in data.t.p)) {\n        data.singleShape = true;\n      }\n    }\n\n    var moduleOb = {};\n    moduleOb.completeData = completeData;\n    moduleOb.checkColors = checkColors;\n    moduleOb.checkChars = checkChars;\n    moduleOb.checkShapes = checkShapes;\n    moduleOb.completeLayers = completeLayers;\n    return moduleOb;\n  }\n\n  var dataManager = dataFunctionManager();\n  /* exported getFontProperties */\n\n  function getFontProperties(fontData) {\n    var styles = fontData.fStyle ? fontData.fStyle.split(\" \") : [];\n    var fWeight = \"normal\";\n    var fStyle = \"normal\";\n    var len = styles.length;\n    var styleName;\n\n    for (var i = 0; i < len; i += 1) {\n      styleName = styles[i].toLowerCase();\n\n      switch (styleName) {\n        case \"italic\":\n          fStyle = \"italic\";\n          break;\n\n        case \"bold\":\n          fWeight = \"700\";\n          break;\n\n        case \"black\":\n          fWeight = \"900\";\n          break;\n\n        case \"medium\":\n          fWeight = \"500\";\n          break;\n\n        case \"regular\":\n        case \"normal\":\n          fWeight = \"400\";\n          break;\n\n        case \"light\":\n        case \"thin\":\n          fWeight = \"200\";\n          break;\n\n        default:\n          break;\n      }\n    }\n\n    return {\n      style: fStyle,\n      weight: fontData.fWeight || fWeight\n    };\n  }\n  /* global createNS, createTag, getFontProperties */\n\n  /* exported FontManager */\n\n\n  var FontManager = function () {\n    var maxWaitingTime = 5000;\n    var emptyChar = {\n      w: 0,\n      size: 0,\n      shapes: []\n    };\n    var combinedCharacters = []; // Hindi characters\n\n    combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n\n    function trimFontOptions(font) {\n      var familyArray = font.split(\",\");\n      var i;\n      var len = familyArray.length;\n      var enabledFamilies = [];\n\n      for (i = 0; i < len; i += 1) {\n        if (familyArray[i] !== \"sans-serif\" && familyArray[i] !== \"monospace\") {\n          enabledFamilies.push(familyArray[i]);\n        }\n      }\n\n      return enabledFamilies.join(\",\");\n    }\n\n    function setUpNode(font, family) {\n      var parentNode = createTag(\"span\"); // Node is invisible to screen readers.\n\n      parentNode.setAttribute(\"aria-hidden\", true);\n      parentNode.style.fontFamily = family;\n      var node = createTag(\"span\"); // Characters that vary significantly among different fonts\n\n      node.innerText = \"giItT1WQy@!-/#\"; // Visible - so we can measure it - but not on the screen\n\n      parentNode.style.position = \"absolute\";\n      parentNode.style.left = \"-10000px\";\n      parentNode.style.top = \"-10000px\"; // Large font size makes even subtle changes obvious\n\n      parentNode.style.fontSize = \"300px\"; // Reset any font properties\n\n      parentNode.style.fontVariant = \"normal\";\n      parentNode.style.fontStyle = \"normal\";\n      parentNode.style.fontWeight = \"normal\";\n      parentNode.style.letterSpacing = \"0\";\n      parentNode.appendChild(node);\n      document.body.appendChild(parentNode); // Remember width with no applied web font\n\n      var width = node.offsetWidth;\n      node.style.fontFamily = trimFontOptions(font) + \", \" + family;\n      return {\n        node: node,\n        w: width,\n        parent: parentNode\n      };\n    }\n\n    function checkLoadedFonts() {\n      var i;\n      var len = (this || _global).fonts.length;\n      var node;\n      var w;\n      var loadedCount = len;\n\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).fonts[i].loaded) {\n          loadedCount -= 1;\n        } else if ((this || _global).fonts[i].fOrigin === \"n\" || (this || _global).fonts[i].origin === 0) {\n          (this || _global).fonts[i].loaded = true;\n        } else {\n          node = (this || _global).fonts[i].monoCase.node;\n          w = (this || _global).fonts[i].monoCase.w;\n\n          if (node.offsetWidth !== w) {\n            loadedCount -= 1;\n            (this || _global).fonts[i].loaded = true;\n          } else {\n            node = (this || _global).fonts[i].sansCase.node;\n            w = (this || _global).fonts[i].sansCase.w;\n\n            if (node.offsetWidth !== w) {\n              loadedCount -= 1;\n              (this || _global).fonts[i].loaded = true;\n            }\n          }\n\n          if ((this || _global).fonts[i].loaded) {\n            (this || _global).fonts[i].sansCase.parent.parentNode.removeChild((this || _global).fonts[i].sansCase.parent);\n\n            (this || _global).fonts[i].monoCase.parent.parentNode.removeChild((this || _global).fonts[i].monoCase.parent);\n          }\n        }\n      }\n\n      if (loadedCount !== 0 && Date.now() - (this || _global).initTime < maxWaitingTime) {\n        setTimeout((this || _global).checkLoadedFontsBinded, 20);\n      } else {\n        setTimeout((this || _global).setIsLoadedBinded, 10);\n      }\n    }\n\n    function createHelper(def, fontData) {\n      var tHelper = createNS(\"text\");\n      tHelper.style.fontSize = \"100px\"; // tHelper.style.fontFamily = fontData.fFamily;\n\n      var fontProps = getFontProperties(fontData);\n      tHelper.setAttribute(\"font-family\", fontData.fFamily);\n      tHelper.setAttribute(\"font-style\", fontProps.style);\n      tHelper.setAttribute(\"font-weight\", fontProps.weight);\n      tHelper.textContent = \"1\";\n\n      if (fontData.fClass) {\n        tHelper.style.fontFamily = \"inherit\";\n        tHelper.setAttribute(\"class\", fontData.fClass);\n      } else {\n        tHelper.style.fontFamily = fontData.fFamily;\n      }\n\n      def.appendChild(tHelper);\n      var tCanvasHelper = createTag(\"canvas\").getContext(\"2d\");\n      tCanvasHelper.font = fontData.fWeight + \" \" + fontData.fStyle + \" 100px \" + fontData.fFamily; // tCanvasHelper.font = ' 100px '+ fontData.fFamily;\n\n      return tHelper;\n    }\n\n    function addFonts(fontData, defs) {\n      if (!fontData) {\n        (this || _global).isLoaded = true;\n        return;\n      }\n\n      if ((this || _global).chars) {\n        (this || _global).isLoaded = true;\n        (this || _global).fonts = fontData.list;\n        return;\n      }\n\n      var fontArr = fontData.list;\n      var i;\n      var len = fontArr.length;\n      var _pendingFonts = len;\n\n      for (i = 0; i < len; i += 1) {\n        var shouldLoadFont = true;\n        var loadedSelector;\n        var j;\n        fontArr[i].loaded = false;\n        fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, \"monospace\");\n        fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, \"sans-serif\");\n\n        if (!fontArr[i].fPath) {\n          fontArr[i].loaded = true;\n          _pendingFonts -= 1;\n        } else if (fontArr[i].fOrigin === \"p\" || fontArr[i].origin === 3) {\n          loadedSelector = document.querySelectorAll(\"style[f-forigin=\\\"p\\\"][f-family=\\\"\" + fontArr[i].fFamily + \"\\\"], style[f-origin=\\\"3\\\"][f-family=\\\"\" + fontArr[i].fFamily + \"\\\"]\");\n\n          if (loadedSelector.length > 0) {\n            shouldLoadFont = false;\n          }\n\n          if (shouldLoadFont) {\n            var s = createTag(\"style\");\n            s.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            s.setAttribute(\"f-origin\", fontArr[i].origin);\n            s.setAttribute(\"f-family\", fontArr[i].fFamily);\n            s.type = \"text/css\";\n            s.innerText = \"@font-face {font-family: \" + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n            defs.appendChild(s);\n          }\n        } else if (fontArr[i].fOrigin === \"g\" || fontArr[i].origin === 1) {\n          loadedSelector = document.querySelectorAll(\"link[f-forigin=\\\"g\\\"], link[f-origin=\\\"1\\\"]\");\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var l = createTag(\"link\");\n            l.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            l.setAttribute(\"f-origin\", fontArr[i].origin);\n            l.type = \"text/css\";\n            l.rel = \"stylesheet\";\n            l.href = fontArr[i].fPath;\n            document.body.appendChild(l);\n          }\n        } else if (fontArr[i].fOrigin === \"t\" || fontArr[i].origin === 2) {\n          loadedSelector = document.querySelectorAll(\"script[f-forigin=\\\"t\\\"], script[f-origin=\\\"2\\\"]\");\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (fontArr[i].fPath === loadedSelector[j].src) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var sc = createTag(\"link\");\n            sc.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            sc.setAttribute(\"f-origin\", fontArr[i].origin);\n            sc.setAttribute(\"rel\", \"stylesheet\");\n            sc.setAttribute(\"href\", fontArr[i].fPath);\n            defs.appendChild(sc);\n          }\n        }\n\n        fontArr[i].helper = createHelper(defs, fontArr[i]);\n        fontArr[i].cache = {};\n\n        (this || _global).fonts.push(fontArr[i]);\n      }\n\n      if (_pendingFonts === 0) {\n        (this || _global).isLoaded = true;\n      } else {\n        // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n        // Adding this timeout seems to fix it\n        setTimeout((this || _global).checkLoadedFonts.bind(this || _global), 100);\n      }\n    }\n\n    function addChars(chars) {\n      if (!chars) {\n        return;\n      }\n\n      if (!(this || _global).chars) {\n        (this || _global).chars = [];\n      }\n\n      var i;\n      var len = chars.length;\n      var j;\n      var jLen = (this || _global).chars.length;\n      var found;\n\n      for (i = 0; i < len; i += 1) {\n        j = 0;\n        found = false;\n\n        while (j < jLen) {\n          if ((this || _global).chars[j].style === chars[i].style && (this || _global).chars[j].fFamily === chars[i].fFamily && (this || _global).chars[j].ch === chars[i].ch) {\n            found = true;\n          }\n\n          j += 1;\n        }\n\n        if (!found) {\n          (this || _global).chars.push(chars[i]);\n\n          jLen += 1;\n        }\n      }\n    }\n\n    function getCharData(char, style, font) {\n      var i = 0;\n      var len = (this || _global).chars.length;\n\n      while (i < len) {\n        if ((this || _global).chars[i].ch === char && (this || _global).chars[i].style === style && (this || _global).chars[i].fFamily === font) {\n          return (this || _global).chars[i];\n        }\n\n        i += 1;\n      }\n\n      if ((typeof char === \"string\" && char.charCodeAt(0) !== 13 || !char) && console && console.warn // eslint-disable-line no-console\n      && !(this || _global)._warned) {\n        (this || _global)._warned = true;\n        console.warn(\"Missing character from exported characters list: \", char, style, font); // eslint-disable-line no-console\n      }\n\n      return emptyChar;\n    }\n\n    function measureText(char, fontName, size) {\n      var fontData = this.getFontByName(fontName);\n      var index = char.charCodeAt(0);\n\n      if (!fontData.cache[index + 1]) {\n        var tHelper = fontData.helper; // Canvas version\n        // fontData.cache[index] = tHelper.measureText(char).width / 100;\n        // SVG version\n        // console.log(tHelper.getBBox().width)\n\n        if (char === \" \") {\n          tHelper.textContent = \"|\" + char + \"|\";\n          var doubleSize = tHelper.getComputedTextLength();\n          tHelper.textContent = \"||\";\n          var singleSize = tHelper.getComputedTextLength();\n          fontData.cache[index + 1] = (doubleSize - singleSize) / 100;\n        } else {\n          tHelper.textContent = char;\n          fontData.cache[index + 1] = tHelper.getComputedTextLength() / 100;\n        }\n      }\n\n      return fontData.cache[index + 1] * size;\n    }\n\n    function getFontByName(name) {\n      var i = 0;\n      var len = (this || _global).fonts.length;\n\n      while (i < len) {\n        if ((this || _global).fonts[i].fName === name) {\n          return (this || _global).fonts[i];\n        }\n\n        i += 1;\n      }\n\n      return (this || _global).fonts[0];\n    }\n\n    function getCombinedCharacterCodes() {\n      return combinedCharacters;\n    }\n\n    function setIsLoaded() {\n      (this || _global).isLoaded = true;\n    }\n\n    var Font = function () {\n      (this || _global).fonts = [];\n      (this || _global).chars = null;\n      (this || _global).typekitLoaded = 0;\n      (this || _global).isLoaded = false;\n      (this || _global)._warned = false;\n      (this || _global).initTime = Date.now();\n      (this || _global).setIsLoadedBinded = (this || _global).setIsLoaded.bind(this || _global);\n      (this || _global).checkLoadedFontsBinded = (this || _global).checkLoadedFonts.bind(this || _global);\n    }; // TODO: for now I'm adding these methods to the Class and not the prototype. Think of a better way to implement it.\n\n\n    Font.getCombinedCharacterCodes = getCombinedCharacterCodes;\n    var fontPrototype = {\n      addChars: addChars,\n      addFonts: addFonts,\n      getCharData: getCharData,\n      getFontByName: getFontByName,\n      measureText: measureText,\n      checkLoadedFonts: checkLoadedFonts,\n      setIsLoaded: setIsLoaded\n    };\n    Font.prototype = fontPrototype;\n    return Font;\n  }();\n  /* global initialDefaultFrame, BezierFactory, degToRads, bez, createTypedArray */\n\n  /* exported PropertyFactory */\n\n\n  var PropertyFactory = function () {\n    var initFrame = initialDefaultFrame;\n    var mathAbs = Math.abs;\n\n    function interpolateValue(frameNum, caching) {\n      var offsetTime = (this || _global).offsetTime;\n      var newValue;\n\n      if ((this || _global).propType === \"multidimensional\") {\n        newValue = createTypedArray(\"float32\", (this || _global).pv.length);\n      }\n\n      var iterationIndex = caching.lastIndex;\n      var i = iterationIndex;\n      var len = (this || _global).keyframes.length - 1;\n      var flag = true;\n      var keyData;\n      var nextKeyData;\n\n      while (flag) {\n        keyData = (this || _global).keyframes[i];\n        nextKeyData = (this || _global).keyframes[i + 1];\n\n        if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n          if (keyData.h) {\n            keyData = nextKeyData;\n          }\n\n          iterationIndex = 0;\n          break;\n        }\n\n        if (nextKeyData.t - offsetTime > frameNum) {\n          iterationIndex = i;\n          break;\n        }\n\n        if (i < len - 1) {\n          i += 1;\n        } else {\n          iterationIndex = 0;\n          flag = false;\n        }\n      }\n\n      var k;\n      var kLen;\n      var perc;\n      var jLen;\n      var j;\n      var fnc;\n      var nextKeyTime = nextKeyData.t - offsetTime;\n      var keyTime = keyData.t - offsetTime;\n      var endValue;\n\n      if (keyData.to) {\n        if (!keyData.bezierData) {\n          keyData.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n        }\n\n        var bezierData = keyData.bezierData;\n\n        if (frameNum >= nextKeyTime || frameNum < keyTime) {\n          var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n          kLen = bezierData.points[ind].point.length;\n\n          for (k = 0; k < kLen; k += 1) {\n            newValue[k] = bezierData.points[ind].point[k];\n          } // caching._lastKeyframeIndex = -1;\n\n        } else {\n          if (keyData.__fnct) {\n            fnc = keyData.__fnct;\n          } else {\n            fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n            keyData.__fnct = fnc;\n          }\n\n          perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n          var distanceInLine = bezierData.segmentLength * perc;\n          var segmentPerc;\n          var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n          j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n          flag = true;\n          jLen = bezierData.points.length;\n\n          while (flag) {\n            addedLength += bezierData.points[j].partialLength;\n\n            if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n              kLen = bezierData.points[j].point.length;\n\n              for (k = 0; k < kLen; k += 1) {\n                newValue[k] = bezierData.points[j].point[k];\n              }\n\n              break;\n            } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n              segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n              kLen = bezierData.points[j].point.length;\n\n              for (k = 0; k < kLen; k += 1) {\n                newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n              }\n\n              break;\n            }\n\n            if (j < jLen - 1) {\n              j += 1;\n            } else {\n              flag = false;\n            }\n          }\n\n          caching._lastPoint = j;\n          caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n          caching._lastKeyframeIndex = i;\n        }\n      } else {\n        var outX;\n        var outY;\n        var inX;\n        var inY;\n        var keyValue;\n        len = keyData.s.length;\n        endValue = nextKeyData.s || keyData.e;\n\n        if ((this || _global).sh && keyData.h !== 1) {\n          if (frameNum >= nextKeyTime) {\n            newValue[0] = endValue[0];\n            newValue[1] = endValue[1];\n            newValue[2] = endValue[2];\n          } else if (frameNum <= keyTime) {\n            newValue[0] = keyData.s[0];\n            newValue[1] = keyData.s[1];\n            newValue[2] = keyData.s[2];\n          } else {\n            var quatStart = createQuaternion(keyData.s);\n            var quatEnd = createQuaternion(endValue);\n            var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n            quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n          }\n        } else {\n          for (i = 0; i < len; i += 1) {\n            if (keyData.h !== 1) {\n              if (frameNum >= nextKeyTime) {\n                perc = 1;\n              } else if (frameNum < keyTime) {\n                perc = 0;\n              } else {\n                if (keyData.o.x.constructor === Array) {\n                  if (!keyData.__fnct) {\n                    keyData.__fnct = [];\n                  }\n\n                  if (!keyData.__fnct[i]) {\n                    outX = typeof keyData.o.x[i] === \"undefined\" ? keyData.o.x[0] : keyData.o.x[i];\n                    outY = typeof keyData.o.y[i] === \"undefined\" ? keyData.o.y[0] : keyData.o.y[i];\n                    inX = typeof keyData.i.x[i] === \"undefined\" ? keyData.i.x[0] : keyData.i.x[i];\n                    inY = typeof keyData.i.y[i] === \"undefined\" ? keyData.i.y[0] : keyData.i.y[i];\n                    fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                    keyData.__fnct[i] = fnc;\n                  } else {\n                    fnc = keyData.__fnct[i];\n                  }\n                } else if (!keyData.__fnct) {\n                  outX = keyData.o.x;\n                  outY = keyData.o.y;\n                  inX = keyData.i.x;\n                  inY = keyData.i.y;\n                  fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                  keyData.__fnct = fnc;\n                } else {\n                  fnc = keyData.__fnct;\n                }\n\n                perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n              }\n            }\n\n            endValue = nextKeyData.s || keyData.e;\n            keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n            if ((this || _global).propType === \"multidimensional\") {\n              newValue[i] = keyValue;\n            } else {\n              newValue = keyValue;\n            }\n          }\n        }\n      }\n\n      caching.lastIndex = iterationIndex;\n      return newValue;\n    } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n    function slerp(a, b, t) {\n      var out = [];\n      var ax = a[0];\n      var ay = a[1];\n      var az = a[2];\n      var aw = a[3];\n      var bx = b[0];\n      var by = b[1];\n      var bz = b[2];\n      var bw = b[3];\n      var omega;\n      var cosom;\n      var sinom;\n      var scale0;\n      var scale1;\n      cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n      if (cosom < 0) {\n        cosom = -cosom;\n        bx = -bx;\n        by = -by;\n        bz = -bz;\n        bw = -bw;\n      }\n\n      if (1 - cosom > 0.000001) {\n        omega = Math.acos(cosom);\n        sinom = Math.sin(omega);\n        scale0 = Math.sin((1 - t) * omega) / sinom;\n        scale1 = Math.sin(t * omega) / sinom;\n      } else {\n        scale0 = 1 - t;\n        scale1 = t;\n      }\n\n      out[0] = scale0 * ax + scale1 * bx;\n      out[1] = scale0 * ay + scale1 * by;\n      out[2] = scale0 * az + scale1 * bz;\n      out[3] = scale0 * aw + scale1 * bw;\n      return out;\n    }\n\n    function quaternionToEuler(out, quat) {\n      var qx = quat[0];\n      var qy = quat[1];\n      var qz = quat[2];\n      var qw = quat[3];\n      var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n      var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n      var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n      out[0] = heading / degToRads;\n      out[1] = attitude / degToRads;\n      out[2] = bank / degToRads;\n    }\n\n    function createQuaternion(values) {\n      var heading = values[0] * degToRads;\n      var attitude = values[1] * degToRads;\n      var bank = values[2] * degToRads;\n      var c1 = Math.cos(heading / 2);\n      var c2 = Math.cos(attitude / 2);\n      var c3 = Math.cos(bank / 2);\n      var s1 = Math.sin(heading / 2);\n      var s2 = Math.sin(attitude / 2);\n      var s3 = Math.sin(bank / 2);\n      var w = c1 * c2 * c3 - s1 * s2 * s3;\n      var x = s1 * s2 * c3 + c1 * c2 * s3;\n      var y = s1 * c2 * c3 + c1 * s2 * s3;\n      var z = c1 * s2 * c3 - s1 * c2 * s3;\n      return [x, y, z, w];\n    }\n\n    function getValueAtCurrentTime() {\n      var frameNum = (this || _global).comp.renderedFrame - (this || _global).offsetTime;\n      var initTime = (this || _global).keyframes[0].t - (this || _global).offsetTime;\n      var endTime = (this || _global).keyframes[(this || _global).keyframes.length - 1].t - (this || _global).offsetTime;\n\n      if (!(frameNum === (this || _global)._caching.lastFrame || (this || _global)._caching.lastFrame !== initFrame && ((this || _global)._caching.lastFrame >= endTime && frameNum >= endTime || (this || _global)._caching.lastFrame < initTime && frameNum < initTime))) {\n        if ((this || _global)._caching.lastFrame >= frameNum) {\n          (this || _global)._caching._lastKeyframeIndex = -1;\n          (this || _global)._caching.lastIndex = 0;\n        }\n\n        var renderResult = this.interpolateValue(frameNum, (this || _global)._caching);\n        (this || _global).pv = renderResult;\n      }\n\n      (this || _global)._caching.lastFrame = frameNum;\n      return (this || _global).pv;\n    }\n\n    function setVValue(val) {\n      var multipliedValue;\n\n      if ((this || _global).propType === \"unidimensional\") {\n        multipliedValue = val * (this || _global).mult;\n\n        if (mathAbs((this || _global).v - multipliedValue) > 0.00001) {\n          (this || _global).v = multipliedValue;\n          (this || _global)._mdf = true;\n        }\n      } else {\n        var i = 0;\n        var len = (this || _global).v.length;\n\n        while (i < len) {\n          multipliedValue = val[i] * (this || _global).mult;\n\n          if (mathAbs((this || _global).v[i] - multipliedValue) > 0.00001) {\n            (this || _global).v[i] = multipliedValue;\n            (this || _global)._mdf = true;\n          }\n\n          i += 1;\n        }\n      }\n    }\n\n    function processEffectsSequence() {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId || !(this || _global).effectsSequence.length) {\n        return;\n      }\n\n      if ((this || _global).lock) {\n        this.setVValue((this || _global).pv);\n        return;\n      }\n\n      (this || _global).lock = true;\n      (this || _global)._mdf = (this || _global)._isFirstFrame;\n      var i;\n      var len = (this || _global).effectsSequence.length;\n      var finalValue = (this || _global).kf ? (this || _global).pv : (this || _global).data.k;\n\n      for (i = 0; i < len; i += 1) {\n        finalValue = (this || _global).effectsSequence[i](finalValue);\n      }\n\n      this.setVValue(finalValue);\n      (this || _global)._isFirstFrame = false;\n      (this || _global).lock = false;\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function addEffect(effectFunction) {\n      (this || _global).effectsSequence.push(effectFunction);\n\n      (this || _global).container.addDynamicProperty(this || _global);\n    }\n\n    function ValueProperty(elem, data, mult, container) {\n      (this || _global).propType = \"unidimensional\";\n      (this || _global).mult = mult || 1;\n      (this || _global).data = data;\n      (this || _global).v = mult ? data.k * mult : data.k;\n      (this || _global).pv = data.k;\n      (this || _global)._mdf = false;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global).vel = 0;\n      (this || _global).effectsSequence = [];\n      (this || _global)._isFirstFrame = true;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).addEffect = addEffect;\n    }\n\n    function MultiDimensionalProperty(elem, data, mult, container) {\n      (this || _global).propType = \"multidimensional\";\n      (this || _global).mult = mult || 1;\n      (this || _global).data = data;\n      (this || _global)._mdf = false;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global).frameId = -1;\n      var i;\n      var len = data.k.length;\n      (this || _global).v = createTypedArray(\"float32\", len);\n      (this || _global).pv = createTypedArray(\"float32\", len);\n      (this || _global).vel = createTypedArray(\"float32\", len);\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).v[i] = data.k[i] * (this || _global).mult;\n        (this || _global).pv[i] = data.k[i];\n      }\n\n      (this || _global)._isFirstFrame = true;\n      (this || _global).effectsSequence = [];\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).addEffect = addEffect;\n    }\n\n    function KeyframedValueProperty(elem, data, mult, container) {\n      (this || _global).propType = \"unidimensional\";\n      (this || _global).keyframes = data.k;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).frameId = -1;\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0,\n        value: 0,\n        _lastKeyframeIndex: -1\n      };\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      (this || _global).data = data;\n      (this || _global).mult = mult || 1;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).v = initFrame;\n      (this || _global).pv = initFrame;\n      (this || _global)._isFirstFrame = true;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).interpolateValue = interpolateValue;\n      (this || _global).effectsSequence = [getValueAtCurrentTime.bind(this || _global)];\n      (this || _global).addEffect = addEffect;\n    }\n\n    function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n      (this || _global).propType = \"multidimensional\";\n      var i;\n      var len = data.k.length;\n      var s;\n      var e;\n      var to;\n      var ti;\n\n      for (i = 0; i < len - 1; i += 1) {\n        if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n          s = data.k[i].s;\n          e = data.k[i + 1].s;\n          to = data.k[i].to;\n          ti = data.k[i].ti;\n\n          if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) {\n            data.k[i].to = null;\n            data.k[i].ti = null;\n          }\n\n          if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n            if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n              data.k[i].to = null;\n              data.k[i].ti = null;\n            }\n          }\n        }\n      }\n\n      (this || _global).effectsSequence = [getValueAtCurrentTime.bind(this || _global)];\n      (this || _global).data = data;\n      (this || _global).keyframes = data.k;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      (this || _global)._isFirstFrame = true;\n      (this || _global).mult = mult || 1;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).interpolateValue = interpolateValue;\n      (this || _global).frameId = -1;\n      var arrLen = data.k[0].s.length;\n      (this || _global).v = createTypedArray(\"float32\", arrLen);\n      (this || _global).pv = createTypedArray(\"float32\", arrLen);\n\n      for (i = 0; i < arrLen; i += 1) {\n        (this || _global).v[i] = initFrame;\n        (this || _global).pv[i] = initFrame;\n      }\n\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0,\n        value: createTypedArray(\"float32\", arrLen)\n      };\n      (this || _global).addEffect = addEffect;\n    }\n\n    function getProp(elem, data, type, mult, container) {\n      var p;\n\n      if (!data.k.length) {\n        p = new ValueProperty(elem, data, mult, container);\n      } else if (typeof data.k[0] === \"number\") {\n        p = new MultiDimensionalProperty(elem, data, mult, container);\n      } else {\n        switch (type) {\n          case 0:\n            p = new KeyframedValueProperty(elem, data, mult, container);\n            break;\n\n          case 1:\n            p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n            break;\n\n          default:\n            break;\n        }\n      }\n\n      if (p.effectsSequence.length) {\n        container.addDynamicProperty(p);\n      }\n\n      return p;\n    }\n\n    var ob = {\n      getProp: getProp\n    };\n    return ob;\n  }();\n  /* global Matrix, degToRads, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  /* exported TransformPropertyFactory */\n\n\n  var TransformPropertyFactory = function () {\n    var defaultVector = [0, 0];\n\n    function applyToMatrix(mat) {\n      var _mdf = (this || _global)._mdf;\n      this.iterateDynamicProperties();\n      (this || _global)._mdf = (this || _global)._mdf || _mdf;\n\n      if ((this || _global).a) {\n        mat.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n      }\n\n      if ((this || _global).s) {\n        mat.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n      }\n\n      if ((this || _global).sk) {\n        mat.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n      }\n\n      if ((this || _global).r) {\n        mat.rotate(-(this || _global).r.v);\n      } else {\n        mat.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n      }\n\n      if ((this || _global).data.p.s) {\n        if ((this || _global).data.p.z) {\n          mat.translate((this || _global).px.v, (this || _global).py.v, -(this || _global).pz.v);\n        } else {\n          mat.translate((this || _global).px.v, (this || _global).py.v, 0);\n        }\n      } else {\n        mat.translate((this || _global).p.v[0], (this || _global).p.v[1], -(this || _global).p.v[2]);\n      }\n    }\n\n    function processKeys(forceRender) {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n        return;\n      }\n\n      if ((this || _global)._isDirty) {\n        this.precalculateMatrix();\n        (this || _global)._isDirty = false;\n      }\n\n      this.iterateDynamicProperties();\n\n      if ((this || _global)._mdf || forceRender) {\n        var frameRate;\n\n        (this || _global).v.cloneFromProps((this || _global).pre.props);\n\n        if ((this || _global).appliedTransformations < 1) {\n          (this || _global).v.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n        }\n\n        if ((this || _global).appliedTransformations < 2) {\n          (this || _global).v.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n        }\n\n        if ((this || _global).sk && (this || _global).appliedTransformations < 3) {\n          (this || _global).v.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n        }\n\n        if ((this || _global).r && (this || _global).appliedTransformations < 4) {\n          (this || _global).v.rotate(-(this || _global).r.v);\n        } else if (!(this || _global).r && (this || _global).appliedTransformations < 4) {\n          (this || _global).v.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n        }\n\n        if ((this || _global).autoOriented) {\n          var v1;\n          var v2;\n          frameRate = (this || _global).elem.globalData.frameRate;\n\n          if ((this || _global).p && (this || _global).p.keyframes && (this || _global).p.getValueAtTime) {\n            if ((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime <= (this || _global).p.keyframes[0].t) {\n              v1 = (this || _global).p.getValueAtTime(((this || _global).p.keyframes[0].t + 0.01) / frameRate, 0);\n              v2 = (this || _global).p.getValueAtTime((this || _global).p.keyframes[0].t / frameRate, 0);\n            } else if ((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime >= (this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t) {\n              v1 = (this || _global).p.getValueAtTime((this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t / frameRate, 0);\n              v2 = (this || _global).p.getValueAtTime(((this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n            } else {\n              v1 = (this || _global).p.pv;\n              v2 = (this || _global).p.getValueAtTime(((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime - 0.01) / frameRate, (this || _global).p.offsetTime);\n            }\n          } else if ((this || _global).px && (this || _global).px.keyframes && (this || _global).py.keyframes && (this || _global).px.getValueAtTime && (this || _global).py.getValueAtTime) {\n            v1 = [];\n            v2 = [];\n            var px = (this || _global).px;\n            var py = (this || _global).py;\n\n            if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n              v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n              v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n              v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n              v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n            } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n              v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n              v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n              v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n              v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n            } else {\n              v1 = [px.pv, py.pv];\n              v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n              v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n            }\n          } else {\n            v2 = defaultVector;\n            v1 = v2;\n          }\n\n          (this || _global).v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n        }\n\n        if ((this || _global).data.p && (this || _global).data.p.s) {\n          if ((this || _global).data.p.z) {\n            (this || _global).v.translate((this || _global).px.v, (this || _global).py.v, -(this || _global).pz.v);\n          } else {\n            (this || _global).v.translate((this || _global).px.v, (this || _global).py.v, 0);\n          }\n        } else {\n          (this || _global).v.translate((this || _global).p.v[0], (this || _global).p.v[1], -(this || _global).p.v[2]);\n        }\n      }\n\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function precalculateMatrix() {\n      if (!(this || _global).a.k) {\n        (this || _global).pre.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n\n        (this || _global).appliedTransformations = 1;\n      } else {\n        return;\n      }\n\n      if (!(this || _global).s.effectsSequence.length) {\n        (this || _global).pre.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n\n        (this || _global).appliedTransformations = 2;\n      } else {\n        return;\n      }\n\n      if ((this || _global).sk) {\n        if (!(this || _global).sk.effectsSequence.length && !(this || _global).sa.effectsSequence.length) {\n          (this || _global).pre.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n\n          (this || _global).appliedTransformations = 3;\n        } else {\n          return;\n        }\n      }\n\n      if ((this || _global).r) {\n        if (!(this || _global).r.effectsSequence.length) {\n          (this || _global).pre.rotate(-(this || _global).r.v);\n\n          (this || _global).appliedTransformations = 4;\n        }\n      } else if (!(this || _global).rz.effectsSequence.length && !(this || _global).ry.effectsSequence.length && !(this || _global).rx.effectsSequence.length && !(this || _global).or.effectsSequence.length) {\n        (this || _global).pre.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n\n        (this || _global).appliedTransformations = 4;\n      }\n    }\n\n    function autoOrient() {//\n      // var prevP = this.getValueAtTime();\n    }\n\n    function addDynamicProperty(prop) {\n      this._addDynamicProperty(prop);\n\n      (this || _global).elem.addDynamicProperty(prop);\n\n      (this || _global)._isDirty = true;\n    }\n\n    function TransformProperty(elem, data, container) {\n      (this || _global).elem = elem;\n      (this || _global).frameId = -1;\n      (this || _global).propType = \"transform\";\n      (this || _global).data = data;\n      (this || _global).v = new Matrix(); // Precalculated matrix with non animated properties\n\n      (this || _global).pre = new Matrix();\n      (this || _global).appliedTransformations = 0;\n      this.initDynamicPropertyContainer(container || elem);\n\n      if (data.p && data.p.s) {\n        (this || _global).px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this || _global);\n        (this || _global).py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this || _global);\n\n        if (data.p.z) {\n          (this || _global).pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this || _global);\n        }\n      } else {\n        (this || _global).p = PropertyFactory.getProp(elem, data.p || {\n          k: [0, 0, 0]\n        }, 1, 0, this || _global);\n      }\n\n      if (data.rx) {\n        (this || _global).rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this || _global);\n        (this || _global).ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this || _global);\n        (this || _global).rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this || _global);\n\n        if (data.or.k[0].ti) {\n          var i;\n          var len = data.or.k.length;\n\n          for (i = 0; i < len; i += 1) {\n            data.or.k[i].to = null;\n            data.or.k[i].ti = null;\n          }\n        }\n\n        (this || _global).or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this || _global); // sh Indicates it needs to be capped between -180 and 180\n\n        (this || _global).or.sh = true;\n      } else {\n        (this || _global).r = PropertyFactory.getProp(elem, data.r || {\n          k: 0\n        }, 0, degToRads, this || _global);\n      }\n\n      if (data.sk) {\n        (this || _global).sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this || _global);\n        (this || _global).sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this || _global);\n      }\n\n      (this || _global).a = PropertyFactory.getProp(elem, data.a || {\n        k: [0, 0, 0]\n      }, 1, 0, this || _global);\n      (this || _global).s = PropertyFactory.getProp(elem, data.s || {\n        k: [100, 100, 100]\n      }, 1, 0.01, this || _global); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n      if (data.o) {\n        (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n      } else {\n        (this || _global).o = {\n          _mdf: false,\n          v: 1\n        };\n      }\n\n      (this || _global)._isDirty = true;\n\n      if (!(this || _global).dynamicProperties.length) {\n        this.getValue(true);\n      }\n    }\n\n    TransformProperty.prototype = {\n      applyToMatrix: applyToMatrix,\n      getValue: processKeys,\n      precalculateMatrix: precalculateMatrix,\n      autoOrient: autoOrient\n    };\n    extendPrototype([DynamicPropertyContainer], TransformProperty);\n    TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n    TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n    function getTransformProperty(elem, data, container) {\n      return new TransformProperty(elem, data, container);\n    }\n\n    return {\n      getTransformProperty: getTransformProperty\n    };\n  }();\n  /* global createSizedArray, createSizedArray, pointPool */\n\n\n  function ShapePath() {\n    (this || _global).c = false;\n    (this || _global)._length = 0;\n    (this || _global)._maxLength = 8;\n    (this || _global).v = createSizedArray((this || _global)._maxLength);\n    (this || _global).o = createSizedArray((this || _global)._maxLength);\n    (this || _global).i = createSizedArray((this || _global)._maxLength);\n  }\n\n  ShapePath.prototype.setPathData = function (closed, len) {\n    (this || _global).c = closed;\n    this.setLength(len);\n    var i = 0;\n\n    while (i < len) {\n      (this || _global).v[i] = pointPool.newElement();\n      (this || _global).o[i] = pointPool.newElement();\n      (this || _global).i[i] = pointPool.newElement();\n      i += 1;\n    }\n  };\n\n  ShapePath.prototype.setLength = function (len) {\n    while ((this || _global)._maxLength < len) {\n      this.doubleArrayLength();\n    }\n\n    (this || _global)._length = len;\n  };\n\n  ShapePath.prototype.doubleArrayLength = function () {\n    (this || _global).v = (this || _global).v.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global).i = (this || _global).i.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global).o = (this || _global).o.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global)._maxLength *= 2;\n  };\n\n  ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n    var arr;\n    (this || _global)._length = Math.max((this || _global)._length, pos + 1);\n\n    if ((this || _global)._length >= (this || _global)._maxLength) {\n      this.doubleArrayLength();\n    }\n\n    switch (type) {\n      case \"v\":\n        arr = (this || _global).v;\n        break;\n\n      case \"i\":\n        arr = (this || _global).i;\n        break;\n\n      case \"o\":\n        arr = (this || _global).o;\n        break;\n\n      default:\n        arr = [];\n        break;\n    }\n\n    if (!arr[pos] || arr[pos] && !replace) {\n      arr[pos] = pointPool.newElement();\n    }\n\n    arr[pos][0] = x;\n    arr[pos][1] = y;\n  };\n\n  ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n    this.setXYAt(vX, vY, \"v\", pos, replace);\n    this.setXYAt(oX, oY, \"o\", pos, replace);\n    this.setXYAt(iX, iY, \"i\", pos, replace);\n  };\n\n  ShapePath.prototype.reverse = function () {\n    var newPath = new ShapePath();\n    newPath.setPathData((this || _global).c, (this || _global)._length);\n    var vertices = (this || _global).v;\n    var outPoints = (this || _global).o;\n    var inPoints = (this || _global).i;\n    var init = 0;\n\n    if ((this || _global).c) {\n      newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n      init = 1;\n    }\n\n    var cnt = (this || _global)._length - 1;\n    var len = (this || _global)._length;\n    var i;\n\n    for (i = init; i < len; i += 1) {\n      newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n      cnt -= 1;\n    }\n\n    return newPath;\n  };\n  /* global extendPrototype, roundCorner, BezierFactory, shapePool, degToRads,\r\n    shapeCollectionPool, PropertyFactory, bmMin, DynamicPropertyContainer */\n\n  /* exported ShapePropertyFactory */\n\n\n  var ShapePropertyFactory = function () {\n    var initFrame = -999999;\n\n    function interpolateShape(frameNum, previousValue, caching) {\n      var iterationIndex = caching.lastIndex;\n      var keyPropS;\n      var keyPropE;\n      var isHold;\n      var j;\n      var k;\n      var jLen;\n      var kLen;\n      var perc;\n      var vertexValue;\n      var kf = (this || _global).keyframes;\n\n      if (frameNum < kf[0].t - (this || _global).offsetTime) {\n        keyPropS = kf[0].s[0];\n        isHold = true;\n        iterationIndex = 0;\n      } else if (frameNum >= kf[kf.length - 1].t - (this || _global).offsetTime) {\n        keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n        /* if(kf[kf.length - 1].s){\r\n                  keyPropS = kf[kf.length - 1].s[0];\r\n              }else{\r\n                  keyPropS = kf[kf.length - 2].e[0];\r\n              } */\n\n        isHold = true;\n      } else {\n        var i = iterationIndex;\n        var len = kf.length - 1;\n        var flag = true;\n        var keyData;\n        var nextKeyData;\n\n        while (flag) {\n          keyData = kf[i];\n          nextKeyData = kf[i + 1];\n\n          if (nextKeyData.t - (this || _global).offsetTime > frameNum) {\n            break;\n          }\n\n          if (i < len - 1) {\n            i += 1;\n          } else {\n            flag = false;\n          }\n        }\n\n        isHold = keyData.h === 1;\n        iterationIndex = i;\n\n        if (!isHold) {\n          if (frameNum >= nextKeyData.t - (this || _global).offsetTime) {\n            perc = 1;\n          } else if (frameNum < keyData.t - (this || _global).offsetTime) {\n            perc = 0;\n          } else {\n            var fnc;\n\n            if (keyData.__fnct) {\n              fnc = keyData.__fnct;\n            } else {\n              fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n              keyData.__fnct = fnc;\n            }\n\n            perc = fnc((frameNum - (keyData.t - (this || _global).offsetTime)) / (nextKeyData.t - (this || _global).offsetTime - (keyData.t - (this || _global).offsetTime)));\n          }\n\n          keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n        }\n\n        keyPropS = keyData.s[0];\n      }\n\n      jLen = previousValue._length;\n      kLen = keyPropS.i[0].length;\n      caching.lastIndex = iterationIndex;\n\n      for (j = 0; j < jLen; j += 1) {\n        for (k = 0; k < kLen; k += 1) {\n          vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n          previousValue.i[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n          previousValue.o[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n          previousValue.v[j][k] = vertexValue;\n        }\n      }\n    }\n\n    function interpolateShapeCurrentTime() {\n      var frameNum = (this || _global).comp.renderedFrame - (this || _global).offsetTime;\n      var initTime = (this || _global).keyframes[0].t - (this || _global).offsetTime;\n      var endTime = (this || _global).keyframes[(this || _global).keyframes.length - 1].t - (this || _global).offsetTime;\n      var lastFrame = (this || _global)._caching.lastFrame;\n\n      if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n        /// /\n        (this || _global)._caching.lastIndex = lastFrame < frameNum ? (this || _global)._caching.lastIndex : 0;\n        this.interpolateShape(frameNum, (this || _global).pv, (this || _global)._caching); /// /\n      }\n\n      (this || _global)._caching.lastFrame = frameNum;\n      return (this || _global).pv;\n    }\n\n    function resetShape() {\n      (this || _global).paths = (this || _global).localShapeCollection;\n    }\n\n    function shapesEqual(shape1, shape2) {\n      if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n        return false;\n      }\n\n      var i;\n      var len = shape1._length;\n\n      for (i = 0; i < len; i += 1) {\n        if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n\n    function setVValue(newPath) {\n      if (!shapesEqual((this || _global).v, newPath)) {\n        (this || _global).v = shapePool.clone(newPath);\n\n        (this || _global).localShapeCollection.releaseShapes();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global)._mdf = true;\n        (this || _global).paths = (this || _global).localShapeCollection;\n      }\n    }\n\n    function processEffectsSequence() {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n        return;\n      }\n\n      if (!(this || _global).effectsSequence.length) {\n        (this || _global)._mdf = false;\n        return;\n      }\n\n      if ((this || _global).lock) {\n        this.setVValue((this || _global).pv);\n        return;\n      }\n\n      (this || _global).lock = true;\n      (this || _global)._mdf = false;\n      var finalValue;\n\n      if ((this || _global).kf) {\n        finalValue = (this || _global).pv;\n      } else if ((this || _global).data.ks) {\n        finalValue = (this || _global).data.ks.k;\n      } else {\n        finalValue = (this || _global).data.pt.k;\n      }\n\n      var i;\n      var len = (this || _global).effectsSequence.length;\n\n      for (i = 0; i < len; i += 1) {\n        finalValue = (this || _global).effectsSequence[i](finalValue);\n      }\n\n      this.setVValue(finalValue);\n      (this || _global).lock = false;\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function ShapeProperty(elem, data, type) {\n      (this || _global).propType = \"shape\";\n      (this || _global).comp = elem.comp;\n      (this || _global).container = elem;\n      (this || _global).elem = elem;\n      (this || _global).data = data;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global)._mdf = false;\n      var pathData = type === 3 ? data.pt.k : data.ks.k;\n      (this || _global).v = shapePool.clone(pathData);\n      (this || _global).pv = shapePool.clone((this || _global).v);\n      (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n      (this || _global).paths = (this || _global).localShapeCollection;\n\n      (this || _global).paths.addShape((this || _global).v);\n\n      (this || _global).reset = resetShape;\n      (this || _global).effectsSequence = [];\n    }\n\n    function addEffect(effectFunction) {\n      (this || _global).effectsSequence.push(effectFunction);\n\n      (this || _global).container.addDynamicProperty(this || _global);\n    }\n\n    ShapeProperty.prototype.interpolateShape = interpolateShape;\n    ShapeProperty.prototype.getValue = processEffectsSequence;\n    ShapeProperty.prototype.setVValue = setVValue;\n    ShapeProperty.prototype.addEffect = addEffect;\n\n    function KeyframedShapeProperty(elem, data, type) {\n      (this || _global).propType = \"shape\";\n      (this || _global).comp = elem.comp;\n      (this || _global).elem = elem;\n      (this || _global).container = elem;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).keyframes = type === 3 ? data.pt.k : data.ks.k;\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      var len = (this || _global).keyframes[0].s[0].i.length;\n      (this || _global).v = shapePool.newElement();\n\n      (this || _global).v.setPathData((this || _global).keyframes[0].s[0].c, len);\n\n      (this || _global).pv = shapePool.clone((this || _global).v);\n      (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n      (this || _global).paths = (this || _global).localShapeCollection;\n\n      (this || _global).paths.addShape((this || _global).v);\n\n      (this || _global).lastFrame = initFrame;\n      (this || _global).reset = resetShape;\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0\n      };\n      (this || _global).effectsSequence = [interpolateShapeCurrentTime.bind(this || _global)];\n    }\n\n    KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n    KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n    KeyframedShapeProperty.prototype.setVValue = setVValue;\n    KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n    var EllShapeProperty = function () {\n      var cPoint = roundCorner;\n\n      function EllShapePropertyFactory(elem, data) {\n        /* this.v = {\r\n                  v: createSizedArray(4),\r\n                  i: createSizedArray(4),\r\n                  o: createSizedArray(4),\r\n                  c: true\r\n              }; */\n        (this || _global).v = shapePool.newElement();\n\n        (this || _global).v.setPathData(true, 4);\n\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n        (this || _global).paths = (this || _global).localShapeCollection;\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).d = data.d;\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).frameId = -1;\n        this.initDynamicPropertyContainer(elem);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, 0, this || _global);\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertEllToPath();\n        }\n      }\n\n      EllShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertEllToPath();\n          }\n        },\n        convertEllToPath: function () {\n          var p0 = (this || _global).p.v[0];\n          var p1 = (this || _global).p.v[1];\n          var s0 = (this || _global).s.v[0] / 2;\n          var s1 = (this || _global).s.v[1] / 2;\n\n          var _cw = (this || _global).d !== 3;\n\n          var _v = (this || _global).v;\n          _v.v[0][0] = p0;\n          _v.v[0][1] = p1 - s1;\n          _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.v[1][1] = p1;\n          _v.v[2][0] = p0;\n          _v.v[2][1] = p1 + s1;\n          _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.v[3][1] = p1;\n          _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.i[0][1] = p1 - s1;\n          _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.i[1][1] = p1 - s1 * cPoint;\n          _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.i[2][1] = p1 + s1;\n          _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.i[3][1] = p1 + s1 * cPoint;\n          _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.o[0][1] = p1 - s1;\n          _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.o[1][1] = p1 + s1 * cPoint;\n          _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.o[2][1] = p1 + s1;\n          _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.o[3][1] = p1 - s1 * cPoint;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n      return EllShapePropertyFactory;\n    }();\n\n    var StarShapeProperty = function () {\n      function StarShapePropertyFactory(elem, data) {\n        (this || _global).v = shapePool.newElement();\n\n        (this || _global).v.setPathData(true, 0);\n\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).data = data;\n        (this || _global).frameId = -1;\n        (this || _global).d = data.d;\n        this.initDynamicPropertyContainer(elem);\n\n        if (data.sy === 1) {\n          (this || _global).ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this || _global);\n          (this || _global).is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this || _global);\n          (this || _global).convertToPath = (this || _global).convertStarToPath;\n        } else {\n          (this || _global).convertToPath = (this || _global).convertPolygonToPath;\n        }\n\n        (this || _global).pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this || _global);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this || _global);\n        (this || _global).or = PropertyFactory.getProp(elem, data.or, 0, 0, this || _global);\n        (this || _global).os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this || _global);\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).paths = (this || _global).localShapeCollection;\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertToPath();\n        }\n      }\n\n      StarShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertToPath();\n          }\n        },\n        convertStarToPath: function () {\n          var numPts = Math.floor((this || _global).pt.v) * 2;\n          var angle = Math.PI * 2 / numPts;\n          /* this.v.v.length = numPts;\r\n                  this.v.i.length = numPts;\r\n                  this.v.o.length = numPts; */\n\n          var longFlag = true;\n          var longRad = (this || _global).or.v;\n          var shortRad = (this || _global).ir.v;\n          var longRound = (this || _global).os.v;\n          var shortRound = (this || _global).is.v;\n          var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n          var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n          var i;\n          var rad;\n          var roundness;\n          var perimSegment;\n          var currentAng = -Math.PI / 2;\n          currentAng += (this || _global).r.v;\n          var dir = (this || _global).data.d === 3 ? -1 : 1;\n          (this || _global).v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            rad = longFlag ? longRad : shortRad;\n            roundness = longFlag ? longRound : shortRound;\n            perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +(this || _global).p.v[0];\n            y += +(this || _global).p.v[1];\n\n            (this || _global).v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n            /* this.v.v[i] = [x,y];\r\n                      this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n                      this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n                      this.v._length = numPts; */\n\n\n            longFlag = !longFlag;\n            currentAng += angle * dir;\n          }\n        },\n        convertPolygonToPath: function () {\n          var numPts = Math.floor((this || _global).pt.v);\n          var angle = Math.PI * 2 / numPts;\n          var rad = (this || _global).or.v;\n          var roundness = (this || _global).os.v;\n          var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n          var i;\n          var currentAng = -Math.PI * 0.5;\n          var dir = (this || _global).data.d === 3 ? -1 : 1;\n          currentAng += (this || _global).r.v;\n          (this || _global).v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +(this || _global).p.v[0];\n            y += +(this || _global).p.v[1];\n\n            (this || _global).v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n\n            currentAng += angle * dir;\n          }\n\n          (this || _global).paths.length = 0;\n          (this || _global).paths[0] = (this || _global).v;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n      return StarShapePropertyFactory;\n    }();\n\n    var RectShapeProperty = function () {\n      function RectShapePropertyFactory(elem, data) {\n        (this || _global).v = shapePool.newElement();\n        (this || _global).v.c = true;\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).paths = (this || _global).localShapeCollection;\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).frameId = -1;\n        (this || _global).d = data.d;\n        this.initDynamicPropertyContainer(elem);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, 0, this || _global);\n        (this || _global).r = PropertyFactory.getProp(elem, data.r, 0, 0, this || _global);\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertRectToPath();\n        }\n      }\n\n      RectShapePropertyFactory.prototype = {\n        convertRectToPath: function () {\n          var p0 = (this || _global).p.v[0];\n          var p1 = (this || _global).p.v[1];\n          var v0 = (this || _global).s.v[0] / 2;\n          var v1 = (this || _global).s.v[1] / 2;\n          var round = bmMin(v0, v1, (this || _global).r.v);\n          var cPoint = round * (1 - roundCorner);\n          (this || _global).v._length = 0;\n\n          if ((this || _global).d === 2 || (this || _global).d === 1) {\n            (this || _global).v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n\n            (this || _global).v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n            if (round !== 0) {\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n            } else {\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n            }\n          } else {\n            (this || _global).v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n            if (round !== 0) {\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n\n              (this || _global).v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n            } else {\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n            }\n          }\n        },\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertRectToPath();\n          }\n        },\n        reset: resetShape\n      };\n      extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n      return RectShapePropertyFactory;\n    }();\n\n    function getShapeProp(elem, data, type) {\n      var prop;\n\n      if (type === 3 || type === 4) {\n        var dataProp = type === 3 ? data.pt : data.ks;\n        var keys = dataProp.k;\n\n        if (keys.length) {\n          prop = new KeyframedShapeProperty(elem, data, type);\n        } else {\n          prop = new ShapeProperty(elem, data, type);\n        }\n      } else if (type === 5) {\n        prop = new RectShapeProperty(elem, data);\n      } else if (type === 6) {\n        prop = new EllShapeProperty(elem, data);\n      } else if (type === 7) {\n        prop = new StarShapeProperty(elem, data);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    }\n\n    function getConstructorFunction() {\n      return ShapeProperty;\n    }\n\n    function getKeyframedConstructorFunction() {\n      return KeyframedShapeProperty;\n    }\n\n    var ob = {};\n    ob.getShapeProp = getShapeProp;\n    ob.getConstructorFunction = getConstructorFunction;\n    ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n    return ob;\n  }();\n  /* global shapeCollectionPool, initialDefaultFrame, extendPrototype, DynamicPropertyContainer */\n\n  /* exported ShapeModifiers */\n\n\n  var ShapeModifiers = function () {\n    var ob = {};\n    var modifiers = {};\n    ob.registerModifier = registerModifier;\n    ob.getModifier = getModifier;\n\n    function registerModifier(nm, factory) {\n      if (!modifiers[nm]) {\n        modifiers[nm] = factory;\n      }\n    }\n\n    function getModifier(nm, elem, data) {\n      return new modifiers[nm](elem, data);\n    }\n\n    return ob;\n  }();\n\n  function ShapeModifier() {}\n\n  ShapeModifier.prototype.initModifierProperties = function () {};\n\n  ShapeModifier.prototype.addShapeToModifier = function () {};\n\n  ShapeModifier.prototype.addShape = function (data) {\n    if (!(this || _global).closed) {\n      // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n      data.sh.container.addDynamicProperty(data.sh);\n      var shapeData = {\n        shape: data.sh,\n        data: data,\n        localShapeCollection: shapeCollectionPool.newShapeCollection()\n      };\n\n      (this || _global).shapes.push(shapeData);\n\n      this.addShapeToModifier(shapeData);\n\n      if ((this || _global)._isAnimated) {\n        data.setAsAnimated();\n      }\n    }\n  };\n\n  ShapeModifier.prototype.init = function (elem, data) {\n    (this || _global).shapes = [];\n    (this || _global).elem = elem;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, data);\n    (this || _global).frameId = initialDefaultFrame;\n    (this || _global).closed = false;\n    (this || _global).k = false;\n\n    if ((this || _global).dynamicProperties.length) {\n      (this || _global).k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  ShapeModifier.prototype.processKeys = function () {\n    if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n      return;\n    }\n\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  extendPrototype([DynamicPropertyContainer], ShapeModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, segmentsLengthPool, bez, shapePool, ShapeModifiers */\n\n  function TrimModifier() {}\n\n  extendPrototype([ShapeModifier], TrimModifier);\n\n  TrimModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this || _global);\n    (this || _global).e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this || _global);\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0, this || _global);\n    (this || _global).sValue = 0;\n    (this || _global).eValue = 0;\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).m = data.m;\n    (this || _global)._isAnimated = !!(this || _global).s.effectsSequence.length || !!(this || _global).e.effectsSequence.length || !!(this || _global).o.effectsSequence.length;\n  };\n\n  TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n    shapeData.pathsData = [];\n  };\n\n  TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n    var segments = [];\n\n    if (e <= 1) {\n      segments.push({\n        s: s,\n        e: e\n      });\n    } else if (s >= 1) {\n      segments.push({\n        s: s - 1,\n        e: e - 1\n      });\n    } else {\n      segments.push({\n        s: s,\n        e: 1\n      });\n      segments.push({\n        s: 0,\n        e: e - 1\n      });\n    }\n\n    var shapeSegments = [];\n    var i;\n    var len = segments.length;\n    var segmentOb;\n\n    for (i = 0; i < len; i += 1) {\n      segmentOb = segments[i];\n\n      if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n        var shapeS;\n        var shapeE;\n\n        if (segmentOb.s * totalModifierLength <= addedLength) {\n          shapeS = 0;\n        } else {\n          shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n          shapeE = 1;\n        } else {\n          shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        shapeSegments.push([shapeS, shapeE]);\n      }\n    }\n\n    if (!shapeSegments.length) {\n      shapeSegments.push([0, 0]);\n    }\n\n    return shapeSegments;\n  };\n\n  TrimModifier.prototype.releasePathsData = function (pathsData) {\n    var i;\n    var len = pathsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      segmentsLengthPool.release(pathsData[i]);\n    }\n\n    pathsData.length = 0;\n    return pathsData;\n  };\n\n  TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n    var s;\n    var e;\n\n    if ((this || _global)._mdf || _isFirstFrame) {\n      var o = (this || _global).o.v % 360 / 360;\n\n      if (o < 0) {\n        o += 1;\n      }\n\n      if ((this || _global).s.v > 1) {\n        s = 1 + o;\n      } else if ((this || _global).s.v < 0) {\n        s = 0 + o;\n      } else {\n        s = (this || _global).s.v + o;\n      }\n\n      if ((this || _global).e.v > 1) {\n        e = 1 + o;\n      } else if ((this || _global).e.v < 0) {\n        e = 0 + o;\n      } else {\n        e = (this || _global).e.v + o;\n      }\n\n      if (s > e) {\n        var _s = s;\n        s = e;\n        e = _s;\n      }\n\n      s = Math.round(s * 10000) * 0.0001;\n      e = Math.round(e * 10000) * 0.0001;\n      (this || _global).sValue = s;\n      (this || _global).eValue = e;\n    } else {\n      s = (this || _global).sValue;\n      e = (this || _global).eValue;\n    }\n\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var pathsData;\n    var pathData;\n    var totalShapeLength;\n    var totalModifierLength = 0;\n\n    if (e === s) {\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapes[i].localShapeCollection.releaseShapes();\n\n        (this || _global).shapes[i].shape._mdf = true;\n        (this || _global).shapes[i].shape.paths = (this || _global).shapes[i].localShapeCollection;\n\n        if ((this || _global)._mdf) {\n          (this || _global).shapes[i].pathsData.length = 0;\n        }\n      }\n    } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n      var segments = [];\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n        if (!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame && (this || _global).m !== 2) {\n          shapeData.shape.paths = shapeData.localShapeCollection;\n        } else {\n          shapePaths = shapeData.shape.paths;\n          jLen = shapePaths._length;\n          totalShapeLength = 0;\n\n          if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n            totalShapeLength = shapeData.totalShapeLength;\n          } else {\n            pathsData = this.releasePathsData(shapeData.pathsData);\n\n            for (j = 0; j < jLen; j += 1) {\n              pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n              pathsData.push(pathData);\n              totalShapeLength += pathData.totalLength;\n            }\n\n            shapeData.totalShapeLength = totalShapeLength;\n            shapeData.pathsData = pathsData;\n          }\n\n          totalModifierLength += totalShapeLength;\n          shapeData.shape._mdf = true;\n        }\n      }\n\n      var shapeS = s;\n      var shapeE = e;\n      var addedLength = 0;\n      var edges;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shapeData = (this || _global).shapes[i];\n\n        if (shapeData.shape._mdf) {\n          localShapeCollection = shapeData.localShapeCollection;\n          localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n          if ((this || _global).m === 2 && len > 1) {\n            edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n            addedLength += shapeData.totalShapeLength;\n          } else {\n            edges = [[shapeS, shapeE]];\n          }\n\n          jLen = edges.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            shapeS = edges[j][0];\n            shapeE = edges[j][1];\n            segments.length = 0;\n\n            if (shapeE <= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength * shapeE\n              });\n            } else if (shapeS >= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * (shapeS - 1),\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            } else {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength\n              });\n              segments.push({\n                s: 0,\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            }\n\n            var newShapesData = this.addShapes(shapeData, segments[0]);\n\n            if (segments[0].s !== segments[0].e) {\n              if (segments.length > 1) {\n                var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n                if (lastShapeInCollection.c) {\n                  var lastShape = newShapesData.pop();\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n                } else {\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1]);\n                }\n              }\n\n              this.addPaths(newShapesData, localShapeCollection);\n            }\n          }\n\n          shapeData.shape.paths = localShapeCollection;\n        }\n      }\n    } else if ((this || _global)._mdf) {\n      for (i = 0; i < len; i += 1) {\n        // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n        // Don't remove this even if it's losing cached info.\n        (this || _global).shapes[i].pathsData.length = 0;\n        (this || _global).shapes[i].shape._mdf = true;\n      }\n    }\n  };\n\n  TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n    var i;\n    var len = newPaths.length;\n\n    for (i = 0; i < len; i += 1) {\n      localShapeCollection.addShape(newPaths[i]);\n    }\n  };\n\n  TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n    shapePath.setXYAt(pt2[0], pt2[1], \"o\", pos);\n    shapePath.setXYAt(pt3[0], pt3[1], \"i\", pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(pt1[0], pt1[1], \"v\", pos);\n    }\n\n    shapePath.setXYAt(pt4[0], pt4[1], \"v\", pos + 1);\n  };\n\n  TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n    shapePath.setXYAt(points[1], points[5], \"o\", pos);\n    shapePath.setXYAt(points[2], points[6], \"i\", pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(points[0], points[4], \"v\", pos);\n    }\n\n    shapePath.setXYAt(points[3], points[7], \"v\", pos + 1);\n  };\n\n  TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n    var pathsData = shapeData.pathsData;\n    var shapePaths = shapeData.shape.paths.shapes;\n    var i;\n    var len = shapeData.shape.paths._length;\n    var j;\n    var jLen;\n    var addedLength = 0;\n    var currentLengthData;\n    var segmentCount;\n    var lengths;\n    var segment;\n    var shapes = [];\n    var initPos;\n    var newShape = true;\n\n    if (!shapePath) {\n      shapePath = shapePool.newElement();\n      segmentCount = 0;\n      initPos = 0;\n    } else {\n      segmentCount = shapePath._length;\n      initPos = shapePath._length;\n    }\n\n    shapes.push(shapePath);\n\n    for (i = 0; i < len; i += 1) {\n      lengths = pathsData[i].lengths;\n      shapePath.c = shapePaths[i].c;\n      jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n      for (j = 1; j < jLen; j += 1) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n          addedLength += currentLengthData.addedLength;\n          shapePath.c = false;\n        } else if (addedLength > shapeSegment.e) {\n          shapePath.c = false;\n          break;\n        } else {\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n\n          addedLength += currentLengthData.addedLength;\n          segmentCount += 1;\n        }\n      }\n\n      if (shapePaths[i].c && lengths.length) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength <= shapeSegment.e) {\n          var segmentLength = lengths[j - 1].addedLength;\n\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n        } else {\n          shapePath.c = false;\n        }\n\n        addedLength += currentLengthData.addedLength;\n        segmentCount += 1;\n      }\n\n      if (shapePath._length) {\n        shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], \"i\", initPos);\n        shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], \"o\", shapePath._length - 1);\n      }\n\n      if (addedLength > shapeSegment.e) {\n        break;\n      }\n\n      if (i < len - 1) {\n        shapePath = shapePool.newElement();\n        newShape = true;\n        shapes.push(shapePath);\n        segmentCount = 0;\n      }\n    }\n\n    return shapes;\n  };\n\n  ShapeModifiers.registerModifier(\"tm\", TrimModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, roundCorner, ShapeModifiers */\n\n  function RoundCornersModifier() {}\n\n  extendPrototype([ShapeModifier], RoundCornersModifier);\n\n  RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).rd = PropertyFactory.getProp(elem, data.r, 0, null, this || _global);\n    (this || _global)._isAnimated = !!(this || _global).rd.effectsSequence.length;\n  };\n\n  RoundCornersModifier.prototype.processPath = function (path, round) {\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var i;\n    var len = path._length;\n    var currentV;\n    var currentI;\n    var currentO;\n    var closerV;\n    var distance;\n    var newPosPerc;\n    var index = 0;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < len; i += 1) {\n      currentV = path.v[i];\n      currentO = path.o[i];\n      currentI = path.i[i];\n\n      if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n        if ((i === 0 || i === len - 1) && !path.c) {\n          clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n          /* clonedPath.v[index] = currentV;\r\n                  clonedPath.o[index] = currentO;\r\n                  clonedPath.i[index] = currentI; */\n\n          index += 1;\n        } else {\n          if (i === 0) {\n            closerV = path.v[len - 1];\n          } else {\n            closerV = path.v[i - 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = iX;\n          iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n          vY = iY;\n          oX = vX - (vX - currentV[0]) * roundCorner;\n          oY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n\n          if (i === len - 1) {\n            closerV = path.v[0];\n          } else {\n            closerV = path.v[i + 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = oX;\n          oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n          vY = oY;\n          iX = vX - (vX - currentV[0]) * roundCorner;\n          iY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n        }\n      } else {\n        clonedPath.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index);\n        index += 1;\n      }\n    }\n\n    return clonedPath;\n  };\n\n  RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var rd = (this || _global).rd.v;\n\n    if (rd !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!(this || _global).dynamicProperties.length) {\n      (this || _global)._mdf = false;\n    }\n  };\n\n  ShapeModifiers.registerModifier(\"rd\", RoundCornersModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, ShapeModifiers */\n\n  function PuckerAndBloatModifier() {}\n\n  extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n  PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).amount = PropertyFactory.getProp(elem, data.a, 0, null, this || _global);\n    (this || _global)._isAnimated = !!(this || _global).amount.effectsSequence.length;\n  };\n\n  PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n    var percent = amount / 100;\n    var centerPoint = [0, 0];\n    var pathLength = path._length;\n    var i = 0;\n\n    for (i = 0; i < pathLength; i += 1) {\n      centerPoint[0] += path.v[i][0];\n      centerPoint[1] += path.v[i][1];\n    }\n\n    centerPoint[0] /= pathLength;\n    centerPoint[1] /= pathLength;\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < pathLength; i += 1) {\n      vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n      vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n      oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n      oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n      iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n      iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n      clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n    }\n\n    return clonedPath;\n  };\n\n  PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var amount = (this || _global).amount.v;\n\n    if (amount !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!(this || _global).dynamicProperties.length) {\n      (this || _global)._mdf = false;\n    }\n  };\n\n  ShapeModifiers.registerModifier(\"pb\", PuckerAndBloatModifier);\n  /* global extendPrototype, ShapeModifier, TransformPropertyFactory, PropertyFactory, Matrix, ShapeModifiers */\n\n  function RepeaterModifier() {}\n\n  extendPrototype([ShapeModifier], RepeaterModifier);\n\n  RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 0, null, this || _global);\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, null, this || _global);\n    (this || _global).tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this || _global);\n    (this || _global).so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this || _global);\n    (this || _global).eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this || _global);\n    (this || _global).data = data;\n\n    if (!(this || _global).dynamicProperties.length) {\n      this.getValue(true);\n    }\n\n    (this || _global)._isAnimated = !!(this || _global).dynamicProperties.length;\n    (this || _global).pMatrix = new Matrix();\n    (this || _global).rMatrix = new Matrix();\n    (this || _global).sMatrix = new Matrix();\n    (this || _global).tMatrix = new Matrix();\n    (this || _global).matrix = new Matrix();\n  };\n\n  RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n    var dir = inv ? -1 : 1;\n    var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n    var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n    pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n    rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    rMatrix.rotate(-transform.r.v * dir * perc);\n    rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n    sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n    sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n  };\n\n  RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n    (this || _global).elem = elem;\n    (this || _global).arr = arr;\n    (this || _global).pos = pos;\n    (this || _global).elemsData = elemsData;\n    (this || _global)._currentCopies = 0;\n    (this || _global)._elements = [];\n    (this || _global)._groups = [];\n    (this || _global).frameId = -1;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, arr[pos]);\n\n    while (pos > 0) {\n      pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n      (this || _global)._elements.unshift(arr[pos]);\n    }\n\n    if ((this || _global).dynamicProperties.length) {\n      (this || _global).k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  RepeaterModifier.prototype.resetElements = function (elements) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._processed = false;\n\n      if (elements[i].ty === \"gr\") {\n        this.resetElements(elements[i].it);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.cloneElements = function (elements) {\n    var newElements = JSON.parse(JSON.stringify(elements));\n    this.resetElements(newElements);\n    return newElements;\n  };\n\n  RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._render = renderFlag;\n\n      if (elements[i].ty === \"gr\") {\n        this.changeGroupRender(elements[i].it, renderFlag);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n    var items;\n    var itemsTransform;\n    var i;\n    var dir;\n    var cont;\n    var hasReloaded = false;\n\n    if ((this || _global)._mdf || _isFirstFrame) {\n      var copies = Math.ceil((this || _global).c.v);\n\n      if ((this || _global)._groups.length < copies) {\n        while ((this || _global)._groups.length < copies) {\n          var group = {\n            it: this.cloneElements((this || _global)._elements),\n            ty: \"gr\"\n          };\n          group.it.push({\n            a: {\n              a: 0,\n              ix: 1,\n              k: [0, 0]\n            },\n            nm: \"Transform\",\n            o: {\n              a: 0,\n              ix: 7,\n              k: 100\n            },\n            p: {\n              a: 0,\n              ix: 2,\n              k: [0, 0]\n            },\n            r: {\n              a: 1,\n              ix: 6,\n              k: [{\n                s: 0,\n                e: 0,\n                t: 0\n              }, {\n                s: 0,\n                e: 0,\n                t: 1\n              }]\n            },\n            s: {\n              a: 0,\n              ix: 3,\n              k: [100, 100]\n            },\n            sa: {\n              a: 0,\n              ix: 5,\n              k: 0\n            },\n            sk: {\n              a: 0,\n              ix: 4,\n              k: 0\n            },\n            ty: \"tr\"\n          });\n\n          (this || _global).arr.splice(0, 0, group);\n\n          (this || _global)._groups.splice(0, 0, group);\n\n          (this || _global)._currentCopies += 1;\n        }\n\n        (this || _global).elem.reloadShapes();\n\n        hasReloaded = true;\n      }\n\n      cont = 0;\n      var renderFlag;\n\n      for (i = 0; i <= (this || _global)._groups.length - 1; i += 1) {\n        renderFlag = cont < copies;\n        (this || _global)._groups[i]._render = renderFlag;\n        this.changeGroupRender((this || _global)._groups[i].it, renderFlag);\n\n        if (!renderFlag) {\n          var elems = (this || _global).elemsData[i].it;\n          var transformData = elems[elems.length - 1];\n\n          if (transformData.transform.op.v !== 0) {\n            transformData.transform.op._mdf = true;\n            transformData.transform.op.v = 0;\n          } else {\n            transformData.transform.op._mdf = false;\n          }\n        }\n\n        cont += 1;\n      }\n\n      (this || _global)._currentCopies = copies; /// /\n\n      var offset = (this || _global).o.v;\n      var offsetModulo = offset % 1;\n      var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n      var pProps = (this || _global).pMatrix.props;\n      var rProps = (this || _global).rMatrix.props;\n      var sProps = (this || _global).sMatrix.props;\n\n      (this || _global).pMatrix.reset();\n\n      (this || _global).rMatrix.reset();\n\n      (this || _global).sMatrix.reset();\n\n      (this || _global).tMatrix.reset();\n\n      (this || _global).matrix.reset();\n\n      var iteration = 0;\n\n      if (offset > 0) {\n        while (iteration < roundOffset) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, false);\n          iteration += 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, offsetModulo, false);\n          iteration += offsetModulo;\n        }\n      } else if (offset < 0) {\n        while (iteration > roundOffset) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, true);\n          iteration -= 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, -offsetModulo, true);\n          iteration -= offsetModulo;\n        }\n      }\n\n      i = (this || _global).data.m === 1 ? 0 : (this || _global)._currentCopies - 1;\n      dir = (this || _global).data.m === 1 ? 1 : -1;\n      cont = (this || _global)._currentCopies;\n      var j;\n      var jLen;\n\n      while (cont) {\n        items = (this || _global).elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        jLen = itemsTransform.length;\n        items[items.length - 1].transform.mProps._mdf = true;\n        items[items.length - 1].transform.op._mdf = true;\n        items[items.length - 1].transform.op.v = (this || _global)._currentCopies === 1 ? (this || _global).so.v : (this || _global).so.v + ((this || _global).eo.v - (this || _global).so.v) * (i / ((this || _global)._currentCopies - 1));\n\n        if (iteration !== 0) {\n          if (i !== 0 && dir === 1 || i !== (this || _global)._currentCopies - 1 && dir === -1) {\n            this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, false);\n          }\n\n          (this || _global).matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]);\n\n          (this || _global).matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n\n          (this || _global).matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = (this || _global).matrix.props[j];\n          }\n\n          (this || _global).matrix.reset();\n        } else {\n          (this || _global).matrix.reset();\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = (this || _global).matrix.props[j];\n          }\n        }\n\n        iteration += 1;\n        cont -= 1;\n        i += dir;\n      }\n    } else {\n      cont = (this || _global)._currentCopies;\n      i = 0;\n      dir = 1;\n\n      while (cont) {\n        items = (this || _global).elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        items[items.length - 1].transform.mProps._mdf = false;\n        items[items.length - 1].transform.op._mdf = false;\n        cont -= 1;\n        i += dir;\n      }\n    }\n\n    return hasReloaded;\n  };\n\n  RepeaterModifier.prototype.addShape = function () {};\n\n  ShapeModifiers.registerModifier(\"rp\", RepeaterModifier);\n  /* global createSizedArray, shapePool */\n\n  function ShapeCollection() {\n    (this || _global)._length = 0;\n    (this || _global)._maxLength = 4;\n    (this || _global).shapes = createSizedArray((this || _global)._maxLength);\n  }\n\n  ShapeCollection.prototype.addShape = function (shapeData) {\n    if ((this || _global)._length === (this || _global)._maxLength) {\n      (this || _global).shapes = (this || _global).shapes.concat(createSizedArray((this || _global)._maxLength));\n      (this || _global)._maxLength *= 2;\n    }\n\n    (this || _global).shapes[(this || _global)._length] = shapeData;\n    (this || _global)._length += 1;\n  };\n\n  ShapeCollection.prototype.releaseShapes = function () {\n    var i;\n\n    for (i = 0; i < (this || _global)._length; i += 1) {\n      shapePool.release((this || _global).shapes[i]);\n    }\n\n    (this || _global)._length = 0;\n  };\n  /* global createSizedArray, createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n\n  function DashProperty(elem, data, renderer, container) {\n    (this || _global).elem = elem;\n    (this || _global).frameId = -1;\n    (this || _global).dataProps = createSizedArray(data.length);\n    (this || _global).renderer = renderer;\n    (this || _global).k = false;\n    (this || _global).dashStr = \"\";\n    (this || _global).dashArray = createTypedArray(\"float32\", data.length ? data.length - 1 : 0);\n    (this || _global).dashoffset = createTypedArray(\"float32\", 1);\n    this.initDynamicPropertyContainer(container);\n    var i;\n    var len = data.length || 0;\n    var prop;\n\n    for (i = 0; i < len; i += 1) {\n      prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this || _global);\n      (this || _global).k = prop.k || (this || _global).k;\n      (this || _global).dataProps[i] = {\n        n: data[i].n,\n        p: prop\n      };\n    }\n\n    if (!(this || _global).k) {\n      this.getValue(true);\n    }\n\n    (this || _global)._isAnimated = (this || _global).k;\n  }\n\n  DashProperty.prototype.getValue = function (forceRender) {\n    if ((this || _global).elem.globalData.frameId === (this || _global).frameId && !forceRender) {\n      return;\n    }\n\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    this.iterateDynamicProperties();\n    (this || _global)._mdf = (this || _global)._mdf || forceRender;\n\n    if ((this || _global)._mdf) {\n      var i = 0;\n      var len = (this || _global).dataProps.length;\n\n      if ((this || _global).renderer === \"svg\") {\n        (this || _global).dashStr = \"\";\n      }\n\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).dataProps[i].n !== \"o\") {\n          if ((this || _global).renderer === \"svg\") {\n            (this || _global).dashStr += \" \" + (this || _global).dataProps[i].p.v;\n          } else {\n            (this || _global).dashArray[i] = (this || _global).dataProps[i].p.v;\n          }\n        } else {\n          (this || _global).dashoffset[0] = (this || _global).dataProps[i].p.v;\n        }\n      }\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], DashProperty);\n  /* global createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  function GradientProperty(elem, data, container) {\n    (this || _global).data = data;\n    (this || _global).c = createTypedArray(\"uint8c\", data.p * 4);\n    var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n    (this || _global).o = createTypedArray(\"float32\", cLength);\n    (this || _global)._cmdf = false;\n    (this || _global)._omdf = false;\n    (this || _global)._collapsable = this.checkCollapsable();\n    (this || _global)._hasOpacity = cLength;\n    this.initDynamicPropertyContainer(container);\n    (this || _global).prop = PropertyFactory.getProp(elem, data.k, 1, null, this || _global);\n    (this || _global).k = (this || _global).prop.k;\n    this.getValue(true);\n  }\n\n  GradientProperty.prototype.comparePoints = function (values, points) {\n    var i = 0;\n    var len = (this || _global).o.length / 2;\n    var diff;\n\n    while (i < len) {\n      diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n      if (diff > 0.01) {\n        return false;\n      }\n\n      i += 1;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.checkCollapsable = function () {\n    if ((this || _global).o.length / 2 !== (this || _global).c.length / 4) {\n      return false;\n    }\n\n    if ((this || _global).data.k.k[0].s) {\n      var i = 0;\n      var len = (this || _global).data.k.k.length;\n\n      while (i < len) {\n        if (!this.comparePoints((this || _global).data.k.k[i].s, (this || _global).data.p)) {\n          return false;\n        }\n\n        i += 1;\n      }\n    } else if (!this.comparePoints((this || _global).data.k.k, (this || _global).data.p)) {\n      return false;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.getValue = function (forceRender) {\n    (this || _global).prop.getValue();\n\n    (this || _global)._mdf = false;\n    (this || _global)._cmdf = false;\n    (this || _global)._omdf = false;\n\n    if ((this || _global).prop._mdf || forceRender) {\n      var i;\n      var len = (this || _global).data.p * 4;\n      var mult;\n      var val;\n\n      for (i = 0; i < len; i += 1) {\n        mult = i % 4 === 0 ? 100 : 255;\n        val = Math.round((this || _global).prop.v[i] * mult);\n\n        if ((this || _global).c[i] !== val) {\n          (this || _global).c[i] = val;\n          (this || _global)._cmdf = !forceRender;\n        }\n      }\n\n      if ((this || _global).o.length) {\n        len = (this || _global).prop.v.length;\n\n        for (i = (this || _global).data.p * 4; i < len; i += 1) {\n          mult = i % 2 === 0 ? 100 : 1;\n          val = i % 2 === 0 ? Math.round((this || _global).prop.v[i] * 100) : (this || _global).prop.v[i];\n\n          if ((this || _global).o[i - (this || _global).data.p * 4] !== val) {\n            (this || _global).o[i - (this || _global).data.p * 4] = val;\n            (this || _global)._omdf = !forceRender;\n          }\n        }\n      }\n\n      (this || _global)._mdf = !forceRender;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], GradientProperty);\n  /* exported buildShapeString */\n\n  var buildShapeString = function (pathNodes, length, closed, mat) {\n    if (length === 0) {\n      return \"\";\n    }\n\n    var _o = pathNodes.o;\n    var _i = pathNodes.i;\n    var _v = pathNodes.v;\n    var i;\n    var shapeString = \" M\" + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n    for (i = 1; i < length; i += 1) {\n      shapeString += \" C\" + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + \" \" + mat.applyToPointStringified(_i[i][0], _i[i][1]) + \" \" + mat.applyToPointStringified(_v[i][0], _v[i][1]);\n    }\n\n    if (closed && length) {\n      shapeString += \" C\" + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + \" \" + mat.applyToPointStringified(_i[0][0], _i[0][1]) + \" \" + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n      shapeString += \"z\";\n    }\n\n    return shapeString;\n  };\n  /* global Howl */\n\n  /* exported audioControllerFactory */\n\n\n  var audioControllerFactory = function () {\n    function AudioController(audioFactory) {\n      (this || _global).audios = [];\n      (this || _global).audioFactory = audioFactory;\n      (this || _global)._volume = 1;\n      (this || _global)._isMuted = false;\n    }\n\n    AudioController.prototype = {\n      addAudio: function (audio) {\n        (this || _global).audios.push(audio);\n      },\n      pause: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].pause();\n        }\n      },\n      resume: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].resume();\n        }\n      },\n      setRate: function (rateValue) {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].setRate(rateValue);\n        }\n      },\n      createAudio: function (assetPath) {\n        if ((this || _global).audioFactory) {\n          return this.audioFactory(assetPath);\n        }\n\n        if (Howl) {\n          return new Howl({\n            src: [assetPath]\n          });\n        }\n\n        return {\n          isPlaying: false,\n          play: function () {\n            (this || _global).isPlaying = true;\n          },\n          seek: function () {\n            (this || _global).isPlaying = false;\n          },\n          playing: function () {},\n          rate: function () {},\n          setVolume: function () {}\n        };\n      },\n      setAudioFactory: function (audioFactory) {\n        (this || _global).audioFactory = audioFactory;\n      },\n      setVolume: function (value) {\n        (this || _global)._volume = value;\n\n        this._updateVolume();\n      },\n      mute: function () {\n        (this || _global)._isMuted = true;\n\n        this._updateVolume();\n      },\n      unmute: function () {\n        (this || _global)._isMuted = false;\n\n        this._updateVolume();\n      },\n      getVolume: function () {\n        return (this || _global)._volume;\n      },\n      _updateVolume: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].volume((this || _global)._volume * ((this || _global)._isMuted ? 0 : 1));\n        }\n      }\n    };\n    return function () {\n      return new AudioController();\n    };\n  }();\n  /* global createTag, createNS, isSafari, assetLoader */\n\n  /* exported ImagePreloader */\n\n\n  var ImagePreloader = function () {\n    var proxyImage = function () {\n      var canvas = createTag(\"canvas\");\n      canvas.width = 1;\n      canvas.height = 1;\n      var ctx = canvas.getContext(\"2d\");\n      ctx.fillStyle = \"rgba(0,0,0,0)\";\n      ctx.fillRect(0, 0, 1, 1);\n      return canvas;\n    }();\n\n    function imageLoaded() {\n      (this || _global).loadedAssets += 1;\n\n      if ((this || _global).loadedAssets === (this || _global).totalImages && (this || _global).loadedFootagesCount === (this || _global).totalFootages) {\n        if ((this || _global).imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function footageLoaded() {\n      (this || _global).loadedFootagesCount += 1;\n\n      if ((this || _global).loadedAssets === (this || _global).totalImages && (this || _global).loadedFootagesCount === (this || _global).totalFootages) {\n        if ((this || _global).imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function getAssetsPath(assetData, assetsPath, originalPath) {\n      var path = \"\";\n\n      if (assetData.e) {\n        path = assetData.p;\n      } else if (assetsPath) {\n        var imagePath = assetData.p;\n\n        if (imagePath.indexOf(\"images/\") !== -1) {\n          imagePath = imagePath.split(\"/\")[1];\n        }\n\n        path = assetsPath + imagePath;\n      } else {\n        path = originalPath;\n        path += assetData.u ? assetData.u : \"\";\n        path += assetData.p;\n      }\n\n      return path;\n    }\n\n    function testImageLoaded(img) {\n      var _count = 0;\n      var intervalId = setInterval(function () {\n        var box = img.getBBox();\n\n        if (box.width || _count > 500) {\n          this._imageLoaded();\n\n          clearInterval(intervalId);\n        }\n\n        _count += 1;\n      }.bind(this || _global), 50);\n    }\n\n    function createImageData(assetData) {\n      var path = getAssetsPath(assetData, (this || _global).assetsPath, (this || _global).path);\n      var img = createNS(\"image\");\n\n      if (isSafari) {\n        this.testImageLoaded(img);\n      } else {\n        img.addEventListener(\"load\", (this || _global)._imageLoaded, false);\n      }\n\n      img.addEventListener(\"error\", function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this || _global), false);\n      img.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", path);\n\n      if ((this || _global)._elementHelper.append) {\n        (this || _global)._elementHelper.append(img);\n      } else {\n        (this || _global)._elementHelper.appendChild(img);\n      }\n\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createImgData(assetData) {\n      var path = getAssetsPath(assetData, (this || _global).assetsPath, (this || _global).path);\n      var img = createTag(\"img\");\n      img.crossOrigin = \"anonymous\";\n      img.addEventListener(\"load\", (this || _global)._imageLoaded, false);\n      img.addEventListener(\"error\", function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this || _global), false);\n      img.src = path;\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createFootageData(data) {\n      var ob = {\n        assetData: data\n      };\n      var path = getAssetsPath(data, (this || _global).assetsPath, (this || _global).path);\n      assetLoader.load(path, function (footageData) {\n        ob.img = footageData;\n\n        this._footageLoaded();\n      }.bind(this || _global), function () {\n        ob.img = {};\n\n        this._footageLoaded();\n      }.bind(this || _global));\n      return ob;\n    }\n\n    function loadAssets(assets, cb) {\n      (this || _global).imagesLoadedCb = cb;\n      var i;\n      var len = assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (!assets[i].layers) {\n          if (!assets[i].t) {\n            (this || _global).totalImages += 1;\n\n            (this || _global).images.push(this._createImageData(assets[i]));\n          } else if (assets[i].t === 3) {\n            (this || _global).totalFootages += 1;\n\n            (this || _global).images.push(this.createFootageData(assets[i]));\n          }\n        }\n      }\n    }\n\n    function setPath(path) {\n      (this || _global).path = path || \"\";\n    }\n\n    function setAssetsPath(path) {\n      (this || _global).assetsPath = path || \"\";\n    }\n\n    function getAsset(assetData) {\n      var i = 0;\n      var len = (this || _global).images.length;\n\n      while (i < len) {\n        if ((this || _global).images[i].assetData === assetData) {\n          return (this || _global).images[i].img;\n        }\n\n        i += 1;\n      }\n\n      return null;\n    }\n\n    function destroy() {\n      (this || _global).imagesLoadedCb = null;\n      (this || _global).images.length = 0;\n    }\n\n    function loadedImages() {\n      return (this || _global).totalImages === (this || _global).loadedAssets;\n    }\n\n    function loadedFootages() {\n      return (this || _global).totalFootages === (this || _global).loadedFootagesCount;\n    }\n\n    function setCacheType(type, elementHelper) {\n      if (type === \"svg\") {\n        (this || _global)._elementHelper = elementHelper;\n        (this || _global)._createImageData = (this || _global).createImageData.bind(this || _global);\n      } else {\n        (this || _global)._createImageData = (this || _global).createImgData.bind(this || _global);\n      }\n    }\n\n    function ImagePreloaderFactory() {\n      (this || _global)._imageLoaded = imageLoaded.bind(this || _global);\n      (this || _global)._footageLoaded = footageLoaded.bind(this || _global);\n      (this || _global).testImageLoaded = testImageLoaded.bind(this || _global);\n      (this || _global).createFootageData = createFootageData.bind(this || _global);\n      (this || _global).assetsPath = \"\";\n      (this || _global).path = \"\";\n      (this || _global).totalImages = 0;\n      (this || _global).totalFootages = 0;\n      (this || _global).loadedAssets = 0;\n      (this || _global).loadedFootagesCount = 0;\n      (this || _global).imagesLoadedCb = null;\n      (this || _global).images = [];\n    }\n\n    ImagePreloaderFactory.prototype = {\n      loadAssets: loadAssets,\n      setAssetsPath: setAssetsPath,\n      setPath: setPath,\n      loadedImages: loadedImages,\n      loadedFootages: loadedFootages,\n      destroy: destroy,\n      getAsset: getAsset,\n      createImgData: createImgData,\n      createImageData: createImageData,\n      imageLoaded: imageLoaded,\n      footageLoaded: footageLoaded,\n      setCacheType: setCacheType\n    };\n    return ImagePreloaderFactory;\n  }();\n  /* exported featureSupport */\n\n\n  var featureSupport = function () {\n    var ob = {\n      maskType: true\n    };\n\n    if (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) {\n      ob.maskType = false;\n    }\n\n    return ob;\n  }();\n  /* global createNS */\n\n  /* exported filtersFactory */\n\n\n  var filtersFactory = function () {\n    var ob = {};\n    ob.createFilter = createFilter;\n    ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n    function createFilter(filId, skipCoordinates) {\n      var fil = createNS(\"filter\");\n      fil.setAttribute(\"id\", filId);\n\n      if (skipCoordinates !== true) {\n        fil.setAttribute(\"filterUnits\", \"objectBoundingBox\");\n        fil.setAttribute(\"x\", \"0%\");\n        fil.setAttribute(\"y\", \"0%\");\n        fil.setAttribute(\"width\", \"100%\");\n        fil.setAttribute(\"height\", \"100%\");\n      }\n\n      return fil;\n    }\n\n    function createAlphaToLuminanceFilter() {\n      var feColorMatrix = createNS(\"feColorMatrix\");\n      feColorMatrix.setAttribute(\"type\", \"matrix\");\n      feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      feColorMatrix.setAttribute(\"values\", \"0 0 0 1 0  0 0 0 1 0  0 0 0 1 0  0 0 0 1 1\");\n      return feColorMatrix;\n    }\n\n    return ob;\n  }();\n  /* exported assetLoader */\n\n\n  var assetLoader = function () {\n    function formatResponse(xhr) {\n      if (xhr.response && typeof xhr.response === \"object\") {\n        return xhr.response;\n      }\n\n      if (xhr.response && typeof xhr.response === \"string\") {\n        return JSON.parse(xhr.response);\n      }\n\n      if (xhr.responseText) {\n        return JSON.parse(xhr.responseText);\n      }\n\n      return null;\n    }\n\n    function loadAsset(path, callback, errorCallback) {\n      var response;\n      var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n      try {\n        // This crashes on Android WebView prior to KitKat\n        xhr.responseType = \"json\";\n      } catch (err) {} // eslint-disable-line no-empty\n\n\n      xhr.onreadystatechange = function () {\n        if (xhr.readyState === 4) {\n          if (xhr.status === 200) {\n            response = formatResponse(xhr);\n            callback(response);\n          } else {\n            try {\n              response = formatResponse(xhr);\n              callback(response);\n            } catch (err) {\n              if (errorCallback) {\n                errorCallback(err);\n              }\n            }\n          }\n        }\n      };\n\n      xhr.open(\"GET\", path, true);\n      xhr.send();\n    }\n\n    return {\n      load: loadAsset\n    };\n  }();\n  /* global createSizedArray, PropertyFactory, TextAnimatorDataProperty, bez, addHueToRGB,\r\n    addSaturationToRGB, addBrightnessToRGB, LetterProps, Matrix, extendPrototype, DynamicPropertyContainer */\n\n\n  function TextAnimatorProperty(textData, renderType, elem) {\n    (this || _global)._isFirstFrame = true;\n    (this || _global)._hasMaskedPath = false;\n    (this || _global)._frameId = -1;\n    (this || _global)._textData = textData;\n    (this || _global)._renderType = renderType;\n    (this || _global)._elem = elem;\n    (this || _global)._animatorsData = createSizedArray((this || _global)._textData.a.length);\n    (this || _global)._pathData = {};\n    (this || _global)._moreOptions = {\n      alignment: {}\n    };\n    (this || _global).renderedLetters = [];\n    (this || _global).lettersChangedFlag = false;\n    this.initDynamicPropertyContainer(elem);\n  }\n\n  TextAnimatorProperty.prototype.searchProperties = function () {\n    var i;\n    var len = (this || _global)._textData.a.length;\n    var animatorProps;\n    var getProp = PropertyFactory.getProp;\n\n    for (i = 0; i < len; i += 1) {\n      animatorProps = (this || _global)._textData.a[i];\n      (this || _global)._animatorsData[i] = new TextAnimatorDataProperty((this || _global)._elem, animatorProps, this || _global);\n    }\n\n    if ((this || _global)._textData.p && \"m\" in (this || _global)._textData.p) {\n      (this || _global)._pathData = {\n        f: getProp((this || _global)._elem, (this || _global)._textData.p.f, 0, 0, this || _global),\n        l: getProp((this || _global)._elem, (this || _global)._textData.p.l, 0, 0, this || _global),\n        r: (this || _global)._textData.p.r,\n        m: (this || _global)._elem.maskManager.getMaskProperty((this || _global)._textData.p.m)\n      };\n      (this || _global)._hasMaskedPath = true;\n    } else {\n      (this || _global)._hasMaskedPath = false;\n    }\n\n    (this || _global)._moreOptions.alignment = getProp((this || _global)._elem, (this || _global)._textData.m.a, 1, 0, this || _global);\n  };\n\n  TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n    (this || _global).lettersChangedFlag = lettersChangedFlag;\n\n    if (!(this || _global)._mdf && !(this || _global)._isFirstFrame && !lettersChangedFlag && (!(this || _global)._hasMaskedPath || !(this || _global)._pathData.m._mdf)) {\n      return;\n    }\n\n    (this || _global)._isFirstFrame = false;\n    var alignment = (this || _global)._moreOptions.alignment.v;\n    var animators = (this || _global)._animatorsData;\n    var textData = (this || _global)._textData;\n    var matrixHelper = (this || _global).mHelper;\n    var renderType = (this || _global)._renderType;\n    var renderedLettersCount = (this || _global).renderedLetters.length;\n    var xPos;\n    var yPos;\n    var i;\n    var len;\n    var letters = documentData.l;\n    var pathInfo;\n    var currentLength;\n    var currentPoint;\n    var segmentLength;\n    var flag;\n    var pointInd;\n    var segmentInd;\n    var prevPoint;\n    var points;\n    var segments;\n    var partialLength;\n    var totalLength;\n    var perc;\n    var tanAngle;\n    var mask;\n\n    if ((this || _global)._hasMaskedPath) {\n      mask = (this || _global)._pathData.m;\n\n      if (!(this || _global)._pathData.n || (this || _global)._pathData._mdf) {\n        var paths = mask.v;\n\n        if ((this || _global)._pathData.r) {\n          paths = paths.reverse();\n        } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n        pathInfo = {\n          tLength: 0,\n          segments: []\n        };\n        len = paths._length - 1;\n        var bezierData;\n        totalLength = 0;\n\n        for (i = 0; i < len; i += 1) {\n          bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        i = len;\n\n        if (mask.v.c) {\n          bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        (this || _global)._pathData.pi = pathInfo;\n      }\n\n      pathInfo = (this || _global)._pathData.pi;\n      currentLength = (this || _global)._pathData.f.v;\n      segmentInd = 0;\n      pointInd = 1;\n      segmentLength = 0;\n      flag = true;\n      segments = pathInfo.segments;\n\n      if (currentLength < 0 && mask.v.c) {\n        if (pathInfo.tLength < Math.abs(currentLength)) {\n          currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n        }\n\n        segmentInd = segments.length - 1;\n        points = segments[segmentInd].points;\n        pointInd = points.length - 1;\n\n        while (currentLength < 0) {\n          currentLength += points[pointInd].partialLength;\n          pointInd -= 1;\n\n          if (pointInd < 0) {\n            segmentInd -= 1;\n            points = segments[segmentInd].points;\n            pointInd = points.length - 1;\n          }\n        }\n      }\n\n      points = segments[segmentInd].points;\n      prevPoint = points[pointInd - 1];\n      currentPoint = points[pointInd];\n      partialLength = currentPoint.partialLength;\n    }\n\n    len = letters.length;\n    xPos = 0;\n    yPos = 0;\n    var yOff = documentData.finalSize * 1.2 * 0.714;\n    var firstLine = true;\n    var animatorProps;\n    var animatorSelector;\n    var j;\n    var jLen;\n    var letterValue;\n    jLen = animators.length;\n    var mult;\n    var ind = -1;\n    var offf;\n    var xPathPos;\n    var yPathPos;\n    var initPathPos = currentLength;\n    var initSegmentInd = segmentInd;\n    var initPointInd = pointInd;\n    var currentLine = -1;\n    var elemOpacity;\n    var sc;\n    var sw;\n    var fc;\n    var k;\n    var letterSw;\n    var letterSc;\n    var letterFc;\n    var letterM = \"\";\n    var letterP = (this || _global).defaultPropsArray;\n    var letterO; //\n\n    if (documentData.j === 2 || documentData.j === 1) {\n      var animatorJustifyOffset = 0;\n      var animatorFirstCharOffset = 0;\n      var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n      var lastIndex = 0;\n      var isNewLine = true;\n\n      for (i = 0; i < len; i += 1) {\n        if (letters[i].n) {\n          if (animatorJustifyOffset) {\n            animatorJustifyOffset += animatorFirstCharOffset;\n          }\n\n          while (lastIndex < i) {\n            letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n            lastIndex += 1;\n          }\n\n          animatorJustifyOffset = 0;\n          isNewLine = true;\n        } else {\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.t.propType) {\n              if (isNewLine && documentData.j === 2) {\n                animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n              }\n\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n              } else {\n                animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n              }\n            }\n          }\n\n          isNewLine = false;\n        }\n      }\n\n      if (animatorJustifyOffset) {\n        animatorJustifyOffset += animatorFirstCharOffset;\n      }\n\n      while (lastIndex < i) {\n        letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n        lastIndex += 1;\n      }\n    } //\n\n\n    for (i = 0; i < len; i += 1) {\n      matrixHelper.reset();\n      elemOpacity = 1;\n\n      if (letters[i].n) {\n        xPos = 0;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        currentLength = initPathPos;\n        firstLine = false;\n\n        if ((this || _global)._hasMaskedPath) {\n          segmentInd = initSegmentInd;\n          pointInd = initPointInd;\n          points = segments[segmentInd].points;\n          prevPoint = points[pointInd - 1];\n          currentPoint = points[pointInd];\n          partialLength = currentPoint.partialLength;\n          segmentLength = 0;\n        }\n\n        letterM = \"\";\n        letterFc = \"\";\n        letterSw = \"\";\n        letterO = \"\";\n        letterP = (this || _global).defaultPropsArray;\n      } else {\n        if ((this || _global)._hasMaskedPath) {\n          if (currentLine !== letters[i].line) {\n            switch (documentData.j) {\n              case 1:\n                currentLength += totalLength - documentData.lineWidths[letters[i].line];\n                break;\n\n              case 2:\n                currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n                break;\n\n              default:\n                break;\n            }\n\n            currentLine = letters[i].line;\n          }\n\n          if (ind !== letters[i].ind) {\n            if (letters[ind]) {\n              currentLength += letters[ind].extra;\n            }\n\n            currentLength += letters[i].an / 2;\n            ind = letters[i].ind;\n          }\n\n          currentLength += alignment[0] * letters[i].an * 0.005;\n          var animatorOffset = 0;\n\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.p.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.p.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.p.v[0] * mult;\n              }\n            }\n\n            if (animatorProps.a.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.a.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.a.v[0] * mult;\n              }\n            }\n          }\n\n          flag = true;\n\n          while (flag) {\n            if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n              perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n              xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n              yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n              matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n              flag = false;\n            } else if (points) {\n              segmentLength += currentPoint.partialLength;\n              pointInd += 1;\n\n              if (pointInd >= points.length) {\n                pointInd = 0;\n                segmentInd += 1;\n\n                if (!segments[segmentInd]) {\n                  if (mask.v.c) {\n                    pointInd = 0;\n                    segmentInd = 0;\n                    points = segments[segmentInd].points;\n                  } else {\n                    segmentLength -= currentPoint.partialLength;\n                    points = null;\n                  }\n                } else {\n                  points = segments[segmentInd].points;\n                }\n              }\n\n              if (points) {\n                prevPoint = currentPoint;\n                currentPoint = points[pointInd];\n                partialLength = currentPoint.partialLength;\n              }\n            }\n          }\n\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0);\n        } else {\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n          matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.t.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n            if (xPos !== 0 || documentData.j !== 0) {\n              if ((this || _global)._hasMaskedPath) {\n                if (mult.length) {\n                  currentLength += animatorProps.t.v * mult[0];\n                } else {\n                  currentLength += animatorProps.t.v * mult;\n                }\n              } else if (mult.length) {\n                xPos += animatorProps.t.v * mult[0];\n              } else {\n                xPos += animatorProps.t.v * mult;\n              }\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          sw = documentData.sw || 0;\n        }\n\n        if (documentData.strokeColorAnim) {\n          if (documentData.sc) {\n            sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n          } else {\n            sc = [0, 0, 0];\n          }\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.a.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.s.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n            } else {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n          animatorSelector = animators[j].s;\n          mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n          if (animatorProps.sk.propType) {\n            if (mult.length) {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n            } else {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n            }\n          }\n\n          if (animatorProps.r.propType) {\n            if (mult.length) {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n            } else {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult);\n            }\n          }\n\n          if (animatorProps.ry.propType) {\n            if (mult.length) {\n              matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n            } else {\n              matrixHelper.rotateY(animatorProps.ry.v * mult);\n            }\n          }\n\n          if (animatorProps.rx.propType) {\n            if (mult.length) {\n              matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n            } else {\n              matrixHelper.rotateX(animatorProps.rx.v * mult);\n            }\n          }\n\n          if (animatorProps.o.propType) {\n            if (mult.length) {\n              elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n            } else {\n              elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n            }\n          }\n\n          if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n            if (mult.length) {\n              sw += animatorProps.sw.v * mult[0];\n            } else {\n              sw += animatorProps.sw.v * mult;\n            }\n          }\n\n          if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n            for (k = 0; k < 3; k += 1) {\n              if (mult.length) {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n              } else {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n              }\n            }\n          }\n\n          if (documentData.fillColorAnim && documentData.fc) {\n            if (animatorProps.fc.propType) {\n              for (k = 0; k < 3; k += 1) {\n                if (mult.length) {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n                } else {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n                }\n              }\n            }\n\n            if (animatorProps.fh.propType) {\n              if (mult.length) {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n              } else {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n              }\n            }\n\n            if (animatorProps.fs.propType) {\n              if (mult.length) {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n              } else {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n              }\n            }\n\n            if (animatorProps.fb.propType) {\n              if (mult.length) {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n              } else {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n              }\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.p.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if ((this || _global)._hasMaskedPath) {\n              if (mult.length) {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n              } else {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n              }\n            } else if (mult.length) {\n              matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          letterSw = sw < 0 ? 0 : sw;\n        }\n\n        if (documentData.strokeColorAnim) {\n          letterSc = \"rgb(\" + Math.round(sc[0] * 255) + \",\" + Math.round(sc[1] * 255) + \",\" + Math.round(sc[2] * 255) + \")\";\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          letterFc = \"rgb(\" + Math.round(fc[0] * 255) + \",\" + Math.round(fc[1] * 255) + \",\" + Math.round(fc[2] * 255) + \")\";\n        }\n\n        if ((this || _global)._hasMaskedPath) {\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n          if (textData.p.p) {\n            tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n            var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n            if (currentPoint.point[0] < prevPoint.point[0]) {\n              rot += 180;\n            }\n\n            matrixHelper.rotate(-rot * Math.PI / 180);\n          }\n\n          matrixHelper.translate(xPathPos, yPathPos, 0);\n          currentLength -= alignment[0] * letters[i].an * 0.005;\n\n          if (letters[i + 1] && ind !== letters[i + 1].ind) {\n            currentLength += letters[i].an / 2;\n            currentLength += documentData.tr * 0.001 * documentData.finalSize;\n          }\n        } else {\n          matrixHelper.translate(xPos, yPos, 0);\n\n          if (documentData.ps) {\n            // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n            matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n          }\n\n          switch (documentData.j) {\n            case 1:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n              break;\n\n            case 2:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n              break;\n\n            default:\n              break;\n          }\n\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(offf, 0, 0);\n          matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n          xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n        }\n\n        if (renderType === \"html\") {\n          letterM = matrixHelper.toCSS();\n        } else if (renderType === \"svg\") {\n          letterM = matrixHelper.to2dCSS();\n        } else {\n          letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]];\n        }\n\n        letterO = elemOpacity;\n      }\n\n      if (renderedLettersCount <= i) {\n        letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n\n        (this || _global).renderedLetters.push(letterValue);\n\n        renderedLettersCount += 1;\n        (this || _global).lettersChangedFlag = true;\n      } else {\n        letterValue = (this || _global).renderedLetters[i];\n        (this || _global).lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || (this || _global).lettersChangedFlag;\n      }\n    }\n  };\n\n  TextAnimatorProperty.prototype.getValue = function () {\n    if ((this || _global)._elem.globalData.frameId === (this || _global)._frameId) {\n      return;\n    }\n\n    (this || _global)._frameId = (this || _global)._elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  TextAnimatorProperty.prototype.mHelper = new Matrix();\n  TextAnimatorProperty.prototype.defaultPropsArray = [];\n  extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n  /* global PropertyFactory, degToRads, TextSelectorProp */\n\n  /* exported TextAnimatorDataProperty */\n\n  function TextAnimatorDataProperty(elem, animatorProps, container) {\n    var defaultData = {\n      propType: false\n    };\n    var getProp = PropertyFactory.getProp;\n    var textAnimatorAnimatables = animatorProps.a;\n    (this || _global).a = {\n      r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n      rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n      ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n      sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n      sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n      s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n      a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n      o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n      p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n      sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n      sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n      fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n      fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n      fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n      fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n      t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n    };\n    (this || _global).s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n    (this || _global).s.t = animatorProps.s.t;\n  }\n\n  function LetterProps(o, sw, sc, fc, m, p) {\n    (this || _global).o = o;\n    (this || _global).sw = sw;\n    (this || _global).sc = sc;\n    (this || _global).fc = fc;\n    (this || _global).m = m;\n    (this || _global).p = p;\n    (this || _global)._mdf = {\n      o: true,\n      sw: !!sw,\n      sc: !!sc,\n      fc: !!fc,\n      m: true,\n      p: true\n    };\n  }\n\n  LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n    (this || _global)._mdf.o = false;\n    (this || _global)._mdf.sw = false;\n    (this || _global)._mdf.sc = false;\n    (this || _global)._mdf.fc = false;\n    (this || _global)._mdf.m = false;\n    (this || _global)._mdf.p = false;\n    var updated = false;\n\n    if ((this || _global).o !== o) {\n      (this || _global).o = o;\n      (this || _global)._mdf.o = true;\n      updated = true;\n    }\n\n    if ((this || _global).sw !== sw) {\n      (this || _global).sw = sw;\n      (this || _global)._mdf.sw = true;\n      updated = true;\n    }\n\n    if ((this || _global).sc !== sc) {\n      (this || _global).sc = sc;\n      (this || _global)._mdf.sc = true;\n      updated = true;\n    }\n\n    if ((this || _global).fc !== fc) {\n      (this || _global).fc = fc;\n      (this || _global)._mdf.fc = true;\n      updated = true;\n    }\n\n    if ((this || _global).m !== m) {\n      (this || _global).m = m;\n      (this || _global)._mdf.m = true;\n      updated = true;\n    }\n\n    if (p.length && ((this || _global).p[0] !== p[0] || (this || _global).p[1] !== p[1] || (this || _global).p[4] !== p[4] || (this || _global).p[5] !== p[5] || (this || _global).p[12] !== p[12] || (this || _global).p[13] !== p[13])) {\n      (this || _global).p = p;\n      (this || _global)._mdf.p = true;\n      updated = true;\n    }\n\n    return updated;\n  };\n  /* global FontManager, initialDefaultFrame, getFontProperties */\n\n  /* exported TextProperty */\n\n\n  function TextProperty(elem, data) {\n    (this || _global)._frameId = initialDefaultFrame;\n    (this || _global).pv = \"\";\n    (this || _global).v = \"\";\n    (this || _global).kf = false;\n    (this || _global)._isFirstFrame = true;\n    (this || _global)._mdf = false;\n    (this || _global).data = data;\n    (this || _global).elem = elem;\n    (this || _global).comp = (this || _global).elem.comp;\n    (this || _global).keysIndex = 0;\n    (this || _global).canResize = false;\n    (this || _global).minimumFontSize = 1;\n    (this || _global).effectsSequence = [];\n    (this || _global).currentData = {\n      ascent: 0,\n      boxWidth: (this || _global).defaultBoxWidth,\n      f: \"\",\n      fStyle: \"\",\n      fWeight: \"\",\n      fc: \"\",\n      j: \"\",\n      justifyOffset: \"\",\n      l: [],\n      lh: 0,\n      lineWidths: [],\n      ls: \"\",\n      of: \"\",\n      s: \"\",\n      sc: \"\",\n      sw: 0,\n      t: 0,\n      tr: 0,\n      sz: 0,\n      ps: null,\n      fillColorAnim: false,\n      strokeColorAnim: false,\n      strokeWidthAnim: false,\n      yOffset: 0,\n      finalSize: 0,\n      finalText: [],\n      finalLineHeight: 0,\n      __complete: false\n    };\n    this.copyData((this || _global).currentData, (this || _global).data.d.k[0].s);\n\n    if (!this.searchProperty()) {\n      this.completeTextData((this || _global).currentData);\n    }\n  }\n\n  TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n  TextProperty.prototype.copyData = function (obj, data) {\n    for (var s in data) {\n      if (Object.prototype.hasOwnProperty.call(data, s)) {\n        obj[s] = data[s];\n      }\n    }\n\n    return obj;\n  };\n\n  TextProperty.prototype.setCurrentData = function (data) {\n    if (!data.__complete) {\n      this.completeTextData(data);\n    }\n\n    (this || _global).currentData = data;\n    (this || _global).currentData.boxWidth = (this || _global).currentData.boxWidth || (this || _global).defaultBoxWidth;\n    (this || _global)._mdf = true;\n  };\n\n  TextProperty.prototype.searchProperty = function () {\n    return this.searchKeyframes();\n  };\n\n  TextProperty.prototype.searchKeyframes = function () {\n    (this || _global).kf = (this || _global).data.d.k.length > 1;\n\n    if ((this || _global).kf) {\n      this.addEffect((this || _global).getKeyframeValue.bind(this || _global));\n    }\n\n    return (this || _global).kf;\n  };\n\n  TextProperty.prototype.addEffect = function (effectFunction) {\n    (this || _global).effectsSequence.push(effectFunction);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.getValue = function (_finalValue) {\n    if (((this || _global).elem.globalData.frameId === (this || _global).frameId || !(this || _global).effectsSequence.length) && !_finalValue) {\n      return;\n    }\n\n    (this || _global).currentData.t = (this || _global).data.d.k[(this || _global).keysIndex].s.t;\n    var currentValue = (this || _global).currentData;\n    var currentIndex = (this || _global).keysIndex;\n\n    if ((this || _global).lock) {\n      this.setCurrentData((this || _global).currentData);\n      return;\n    }\n\n    (this || _global).lock = true;\n    (this || _global)._mdf = false;\n    var i;\n    var len = (this || _global).effectsSequence.length;\n    var finalValue = _finalValue || (this || _global).data.d.k[(this || _global).keysIndex].s;\n\n    for (i = 0; i < len; i += 1) {\n      // Checking if index changed to prevent creating a new object every time the expression updates.\n      if (currentIndex !== (this || _global).keysIndex) {\n        finalValue = (this || _global).effectsSequence[i](finalValue, finalValue.t);\n      } else {\n        finalValue = (this || _global).effectsSequence[i]((this || _global).currentData, finalValue.t);\n      }\n    }\n\n    if (currentValue !== finalValue) {\n      this.setCurrentData(finalValue);\n    }\n\n    (this || _global).v = (this || _global).currentData;\n    (this || _global).pv = (this || _global).v;\n    (this || _global).lock = false;\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n  };\n\n  TextProperty.prototype.getKeyframeValue = function () {\n    var textKeys = (this || _global).data.d.k;\n    var frameNum = (this || _global).elem.comp.renderedFrame;\n    var i = 0;\n    var len = textKeys.length;\n\n    while (i <= len - 1) {\n      if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    if ((this || _global).keysIndex !== i) {\n      (this || _global).keysIndex = i;\n    }\n\n    return (this || _global).data.d.k[(this || _global).keysIndex].s;\n  };\n\n  TextProperty.prototype.buildFinalText = function (text) {\n    var combinedCharacters = FontManager.getCombinedCharacterCodes();\n    var charactersArray = [];\n    var i = 0;\n    var len = text.length;\n    var charCode;\n\n    while (i < len) {\n      charCode = text.charCodeAt(i);\n\n      if (combinedCharacters.indexOf(charCode) !== -1) {\n        charactersArray[charactersArray.length - 1] += text.charAt(i);\n      } else if (charCode >= 55296 && charCode <= 56319) {\n        charCode = text.charCodeAt(i + 1);\n\n        if (charCode >= 56320 && charCode <= 57343) {\n          charactersArray.push(text.substr(i, 2));\n          i += 1;\n        } else {\n          charactersArray.push(text.charAt(i));\n        }\n      } else {\n        charactersArray.push(text.charAt(i));\n      }\n\n      i += 1;\n    }\n\n    return charactersArray;\n  };\n\n  TextProperty.prototype.completeTextData = function (documentData) {\n    documentData.__complete = true;\n    var fontManager = (this || _global).elem.globalData.fontManager;\n    var data = (this || _global).data;\n    var letters = [];\n    var i;\n    var len;\n    var newLineFlag;\n    var index = 0;\n    var val;\n    var anchorGrouping = data.m.g;\n    var currentSize = 0;\n    var currentPos = 0;\n    var currentLine = 0;\n    var lineWidths = [];\n    var lineWidth = 0;\n    var maxLineWidth = 0;\n    var j;\n    var jLen;\n    var fontData = fontManager.getFontByName(documentData.f);\n    var charData;\n    var cLength = 0;\n    var fontProps = getFontProperties(fontData);\n    documentData.fWeight = fontProps.weight;\n    documentData.fStyle = fontProps.style;\n    documentData.finalSize = documentData.s;\n    documentData.finalText = this.buildFinalText(documentData.t);\n    len = documentData.finalText.length;\n    documentData.finalLineHeight = documentData.lh;\n    var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n    var charCode;\n\n    if (documentData.sz) {\n      var flag = true;\n      var boxWidth = documentData.sz[0];\n      var boxHeight = documentData.sz[1];\n      var currentHeight;\n      var finalText;\n\n      while (flag) {\n        finalText = this.buildFinalText(documentData.t);\n        currentHeight = 0;\n        lineWidth = 0;\n        len = finalText.length;\n        trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n        var lastSpaceIndex = -1;\n\n        for (i = 0; i < len; i += 1) {\n          charCode = finalText[i].charCodeAt(0);\n          newLineFlag = false;\n\n          if (finalText[i] === \" \") {\n            lastSpaceIndex = i;\n          } else if (charCode === 13 || charCode === 3) {\n            lineWidth = 0;\n            newLineFlag = true;\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n          }\n\n          if (fontManager.chars) {\n            charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n            cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n          } else {\n            // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n            cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n          }\n\n          if (lineWidth + cLength > boxWidth && finalText[i] !== \" \") {\n            if (lastSpaceIndex === -1) {\n              len += 1;\n            } else {\n              i = lastSpaceIndex;\n            }\n\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n            finalText.splice(i, lastSpaceIndex === i ? 1 : 0, \"\\r\"); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n            lastSpaceIndex = -1;\n            lineWidth = 0;\n          } else {\n            lineWidth += cLength;\n            lineWidth += trackingOffset;\n          }\n        }\n\n        currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n        if ((this || _global).canResize && documentData.finalSize > (this || _global).minimumFontSize && boxHeight < currentHeight) {\n          documentData.finalSize -= 1;\n          documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n        } else {\n          documentData.finalText = finalText;\n          len = documentData.finalText.length;\n          flag = false;\n        }\n      }\n    }\n\n    lineWidth = -trackingOffset;\n    cLength = 0;\n    var uncollapsedSpaces = 0;\n    var currentChar;\n\n    for (i = 0; i < len; i += 1) {\n      newLineFlag = false;\n      currentChar = documentData.finalText[i];\n      charCode = currentChar.charCodeAt(0);\n\n      if (charCode === 13 || charCode === 3) {\n        uncollapsedSpaces = 0;\n        lineWidths.push(lineWidth);\n        maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n        lineWidth = -2 * trackingOffset;\n        val = \"\";\n        newLineFlag = true;\n        currentLine += 1;\n      } else {\n        val = currentChar;\n      }\n\n      if (fontManager.chars) {\n        charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n        cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n      } else {\n        // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n        // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n        cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n      } //\n\n\n      if (currentChar === \" \") {\n        uncollapsedSpaces += cLength + trackingOffset;\n      } else {\n        lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n        uncollapsedSpaces = 0;\n      }\n\n      letters.push({\n        l: cLength,\n        an: cLength,\n        add: currentSize,\n        n: newLineFlag,\n        anIndexes: [],\n        val: val,\n        line: currentLine,\n        animatorJustifyOffset: 0\n      });\n\n      if (anchorGrouping == 2) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === \"\" || val === \" \" || i === len - 1) {\n          if (val === \"\" || val === \" \") {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          index += 1;\n          currentSize = 0;\n        }\n      } else if (anchorGrouping == 3) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === \"\" || i === len - 1) {\n          if (val === \"\") {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          currentSize = 0;\n          index += 1;\n        }\n      } else {\n        letters[index].ind = index;\n        letters[index].extra = 0;\n        index += 1;\n      }\n    }\n\n    documentData.l = letters;\n    maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n    lineWidths.push(lineWidth);\n\n    if (documentData.sz) {\n      documentData.boxWidth = documentData.sz[0];\n      documentData.justifyOffset = 0;\n    } else {\n      documentData.boxWidth = maxLineWidth;\n\n      switch (documentData.j) {\n        case 1:\n          documentData.justifyOffset = -documentData.boxWidth;\n          break;\n\n        case 2:\n          documentData.justifyOffset = -documentData.boxWidth / 2;\n          break;\n\n        default:\n          documentData.justifyOffset = 0;\n      }\n    }\n\n    documentData.lineWidths = lineWidths;\n    var animators = data.a;\n    var animatorData;\n    var letterData;\n    jLen = animators.length;\n    var based;\n    var ind;\n    var indexes = [];\n\n    for (j = 0; j < jLen; j += 1) {\n      animatorData = animators[j];\n\n      if (animatorData.a.sc) {\n        documentData.strokeColorAnim = true;\n      }\n\n      if (animatorData.a.sw) {\n        documentData.strokeWidthAnim = true;\n      }\n\n      if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n        documentData.fillColorAnim = true;\n      }\n\n      ind = 0;\n      based = animatorData.s.b;\n\n      for (i = 0; i < len; i += 1) {\n        letterData = letters[i];\n        letterData.anIndexes[j] = ind;\n\n        if (based == 1 && letterData.val !== \"\" || based == 2 && letterData.val !== \"\" && letterData.val !== \" \" || based == 3 && (letterData.n || letterData.val == \" \" || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n          // eslint-disable-line eqeqeq\n          if (animatorData.s.rn === 1) {\n            indexes.push(ind);\n          }\n\n          ind += 1;\n        }\n      }\n\n      data.a[j].s.totalChars = ind;\n      var currentInd = -1;\n      var newInd;\n\n      if (animatorData.s.rn === 1) {\n        for (i = 0; i < len; i += 1) {\n          letterData = letters[i];\n\n          if (currentInd != letterData.anIndexes[j]) {\n            // eslint-disable-line eqeqeq\n            currentInd = letterData.anIndexes[j];\n            newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n          }\n\n          letterData.anIndexes[j] = newInd;\n        }\n      }\n    }\n\n    documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n    documentData.ls = documentData.ls || 0;\n    documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n  };\n\n  TextProperty.prototype.updateDocumentData = function (newData, index) {\n    index = index === undefined ? (this || _global).keysIndex : index;\n    var dData = this.copyData({}, (this || _global).data.d.k[index].s);\n    dData = this.copyData(dData, newData);\n    (this || _global).data.d.k[index].s = dData;\n    this.recalculate(index);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.recalculate = function (index) {\n    var dData = (this || _global).data.d.k[index].s;\n    dData.__complete = false;\n    (this || _global).keysIndex = 0;\n    (this || _global)._isFirstFrame = true;\n    this.getValue(dData);\n  };\n\n  TextProperty.prototype.canResizeFont = function (_canResize) {\n    (this || _global).canResize = _canResize;\n    this.recalculate((this || _global).keysIndex);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n    (this || _global).minimumFontSize = Math.floor(_fontValue) || 1;\n    this.recalculate((this || _global).keysIndex);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n  /* global extendPrototype, BezierFactory, PropertyFactory, DynamicPropertyContainer */\n\n  /* exported TextSelectorProp */\n\n\n  var TextSelectorProp = function () {\n    var max = Math.max;\n    var min = Math.min;\n    var floor = Math.floor;\n\n    function TextSelectorPropFactory(elem, data) {\n      (this || _global)._currentTextLength = -1;\n      (this || _global).k = false;\n      (this || _global).data = data;\n      (this || _global).elem = elem;\n      (this || _global).comp = elem.comp;\n      (this || _global).finalS = 0;\n      (this || _global).finalE = 0;\n      this.initDynamicPropertyContainer(elem);\n      (this || _global).s = PropertyFactory.getProp(elem, data.s || {\n        k: 0\n      }, 0, 0, this || _global);\n\n      if (\"e\" in data) {\n        (this || _global).e = PropertyFactory.getProp(elem, data.e, 0, 0, this || _global);\n      } else {\n        (this || _global).e = {\n          v: 100\n        };\n      }\n\n      (this || _global).o = PropertyFactory.getProp(elem, data.o || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).xe = PropertyFactory.getProp(elem, data.xe || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).ne = PropertyFactory.getProp(elem, data.ne || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this || _global);\n\n      if (!(this || _global).dynamicProperties.length) {\n        this.getValue();\n      }\n    }\n\n    TextSelectorPropFactory.prototype = {\n      getMult: function (ind) {\n        if ((this || _global)._currentTextLength !== (this || _global).elem.textProperty.currentData.l.length) {\n          this.getValue();\n        } // var easer = bez.getEasingCurve(this.ne.v/100,0,1-this.xe.v/100,1);\n\n\n        var x1 = 0;\n        var y1 = 0;\n        var x2 = 1;\n        var y2 = 1;\n\n        if ((this || _global).ne.v > 0) {\n          x1 = (this || _global).ne.v / 100;\n        } else {\n          y1 = -(this || _global).ne.v / 100;\n        }\n\n        if ((this || _global).xe.v > 0) {\n          x2 = 1 - (this || _global).xe.v / 100;\n        } else {\n          y2 = 1 + (this || _global).xe.v / 100;\n        }\n\n        var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n        var mult = 0;\n        var s = (this || _global).finalS;\n        var e = (this || _global).finalE;\n        var type = (this || _global).data.sh;\n\n        if (type === 2) {\n          if (e === s) {\n            mult = ind >= e ? 1 : 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 3) {\n          if (e === s) {\n            mult = ind >= e ? 0 : 1;\n          } else {\n            mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 4) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n            if (mult < 0.5) {\n              mult *= 2;\n            } else {\n              mult = 1 - 2 * (mult - 0.5);\n            }\n          }\n\n          mult = easer(mult);\n        } else if (type === 5) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            var tot = e - s;\n            /* ind += 0.5;\r\n                      mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            var x = -tot / 2 + ind;\n            var a = tot / 2;\n            mult = Math.sqrt(1 - x * x / (a * a));\n          }\n\n          mult = easer(mult);\n        } else if (type === 6) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n          }\n\n          mult = easer(mult);\n        } else {\n          if (ind >= floor(s)) {\n            if (ind - s < 0) {\n              mult = max(0, min(min(e, 1) - (s - ind), 1));\n            } else {\n              mult = max(0, min(e - ind, 1));\n            }\n          }\n\n          mult = easer(mult);\n        }\n\n        return mult * (this || _global).a.v;\n      },\n      getValue: function (newCharsFlag) {\n        this.iterateDynamicProperties();\n        (this || _global)._mdf = newCharsFlag || (this || _global)._mdf;\n        (this || _global)._currentTextLength = (this || _global).elem.textProperty.currentData.l.length || 0;\n\n        if (newCharsFlag && (this || _global).data.r === 2) {\n          (this || _global).e.v = (this || _global)._currentTextLength;\n        }\n\n        var divisor = (this || _global).data.r === 2 ? 1 : 100 / (this || _global).data.totalChars;\n        var o = (this || _global).o.v / divisor;\n        var s = (this || _global).s.v / divisor + o;\n        var e = (this || _global).e.v / divisor + o;\n\n        if (s > e) {\n          var _s = s;\n          s = e;\n          e = _s;\n        }\n\n        (this || _global).finalS = s;\n        (this || _global).finalE = e;\n      }\n    };\n    extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n    function getTextSelectorProp(elem, data, arr) {\n      return new TextSelectorPropFactory(elem, data, arr);\n    }\n\n    return {\n      getTextSelectorProp: getTextSelectorProp\n    };\n  }();\n  /* global createSizedArray, pooling */\n\n  /* exported poolFactory */\n\n\n  var poolFactory = function () {\n    return function (initialLength, _create, _release) {\n      var _length = 0;\n      var _maxLength = initialLength;\n      var pool = createSizedArray(_maxLength);\n      var ob = {\n        newElement: newElement,\n        release: release\n      };\n\n      function newElement() {\n        var element;\n\n        if (_length) {\n          _length -= 1;\n          element = pool[_length];\n        } else {\n          element = _create();\n        }\n\n        return element;\n      }\n\n      function release(element) {\n        if (_length === _maxLength) {\n          pool = pooling.double(pool);\n          _maxLength *= 2;\n        }\n\n        if (_release) {\n          _release(element);\n        }\n\n        pool[_length] = element;\n        _length += 1;\n      }\n\n      return ob;\n    };\n  }();\n  /* global createSizedArray */\n\n  /* exported pooling */\n\n\n  var pooling = function () {\n    function double(arr) {\n      return arr.concat(createSizedArray(arr.length));\n    }\n\n    return {\n      double: double\n    };\n  }();\n  /* global createTypedArray, poolFactory */\n\n  /* exported pointPool */\n\n\n  var pointPool = function () {\n    function create() {\n      return createTypedArray(\"float32\", 2);\n    }\n\n    return poolFactory(8, create);\n  }();\n  /* global ShapePath, pointPool, poolFactory */\n\n  /* exported shapePool */\n\n\n  var shapePool = function () {\n    function create() {\n      return new ShapePath();\n    }\n\n    function release(shapePath) {\n      var len = shapePath._length;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        pointPool.release(shapePath.v[i]);\n        pointPool.release(shapePath.i[i]);\n        pointPool.release(shapePath.o[i]);\n        shapePath.v[i] = null;\n        shapePath.i[i] = null;\n        shapePath.o[i] = null;\n      }\n\n      shapePath._length = 0;\n      shapePath.c = false;\n    }\n\n    function clone(shape) {\n      var cloned = factory.newElement();\n      var i;\n      var len = shape._length === undefined ? shape.v.length : shape._length;\n      cloned.setLength(len);\n      cloned.c = shape.c;\n\n      for (i = 0; i < len; i += 1) {\n        cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);\n      }\n\n      return cloned;\n    }\n\n    var factory = poolFactory(4, create, release);\n    factory.clone = clone;\n    return factory;\n  }();\n  /* global createSizedArray, ShapeCollection, shapePool, pooling */\n\n  /* exported shapeCollectionPool */\n\n\n  var shapeCollectionPool = function () {\n    var ob = {\n      newShapeCollection: newShapeCollection,\n      release: release\n    };\n    var _length = 0;\n    var _maxLength = 4;\n    var pool = createSizedArray(_maxLength);\n\n    function newShapeCollection() {\n      var shapeCollection;\n\n      if (_length) {\n        _length -= 1;\n        shapeCollection = pool[_length];\n      } else {\n        shapeCollection = new ShapeCollection();\n      }\n\n      return shapeCollection;\n    }\n\n    function release(shapeCollection) {\n      var i;\n      var len = shapeCollection._length;\n\n      for (i = 0; i < len; i += 1) {\n        shapePool.release(shapeCollection.shapes[i]);\n      }\n\n      shapeCollection._length = 0;\n\n      if (_length === _maxLength) {\n        pool = pooling.double(pool);\n        _maxLength *= 2;\n      }\n\n      pool[_length] = shapeCollection;\n      _length += 1;\n    }\n\n    return ob;\n  }();\n  /* global poolFactory, bezierLengthPool */\n\n  /* exported segmentsLengthPool */\n\n\n  var segmentsLengthPool = function () {\n    function create() {\n      return {\n        lengths: [],\n        totalLength: 0\n      };\n    }\n\n    function release(element) {\n      var i;\n      var len = element.lengths.length;\n\n      for (i = 0; i < len; i += 1) {\n        bezierLengthPool.release(element.lengths[i]);\n      }\n\n      element.lengths.length = 0;\n    }\n\n    return poolFactory(8, create, release);\n  }();\n  /* global createTypedArray, defaultCurveSegments, poolFactory */\n\n  /* exported bezierLengthPool */\n\n\n  var bezierLengthPool = function () {\n    function create() {\n      return {\n        addedLength: 0,\n        percents: createTypedArray(\"float32\", defaultCurveSegments),\n        lengths: createTypedArray(\"float32\", defaultCurveSegments)\n      };\n    }\n\n    return poolFactory(8, create);\n  }();\n  /* exported markerParser */\n\n\n  var markerParser = function () {\n    function parsePayloadLines(payload) {\n      var lines = payload.split(\"\\r\\n\");\n      var keys = {};\n      var line;\n      var keysCount = 0;\n\n      for (var i = 0; i < lines.length; i += 1) {\n        line = lines[i].split(\":\");\n\n        if (line.length === 2) {\n          keys[line[0]] = line[1].trim();\n          keysCount += 1;\n        }\n      }\n\n      if (keysCount === 0) {\n        throw new Error();\n      }\n\n      return keys;\n    }\n\n    return function (_markers) {\n      var markers = [];\n\n      for (var i = 0; i < _markers.length; i += 1) {\n        var _marker = _markers[i];\n        var markerData = {\n          time: _marker.tm,\n          duration: _marker.dr\n        };\n\n        try {\n          markerData.payload = JSON.parse(_markers[i].cm);\n        } catch (_) {\n          try {\n            markerData.payload = parsePayloadLines(_markers[i].cm);\n          } catch (__) {\n            markerData.payload = {\n              name: _markers[i]\n            };\n          }\n        }\n\n        markers.push(markerData);\n      }\n\n      return markers;\n    };\n  }();\n  /* global AudioElement, FootageElement, FontManager */\n\n\n  function BaseRenderer() {}\n\n  BaseRenderer.prototype.checkLayers = function (num) {\n    var i;\n    var len = (this || _global).layers.length;\n    var data;\n    (this || _global).completeLayers = true;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if (!(this || _global).elements[i]) {\n        data = (this || _global).layers[i];\n\n        if (data.ip - data.st <= num - (this || _global).layers[i].st && data.op - data.st > num - (this || _global).layers[i].st) {\n          this.buildItem(i);\n        }\n      }\n\n      (this || _global).completeLayers = (this || _global).elements[i] ? (this || _global).completeLayers : false;\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.createItem = function (layer) {\n    switch (layer.ty) {\n      case 2:\n        return this.createImage(layer);\n\n      case 0:\n        return this.createComp(layer);\n\n      case 1:\n        return this.createSolid(layer);\n\n      case 3:\n        return this.createNull(layer);\n\n      case 4:\n        return this.createShape(layer);\n\n      case 5:\n        return this.createText(layer);\n\n      case 6:\n        return this.createAudio(layer);\n\n      case 13:\n        return this.createCamera(layer);\n\n      case 15:\n        return this.createFootage(layer);\n\n      default:\n        return this.createNull(layer);\n    }\n  };\n\n  BaseRenderer.prototype.createCamera = function () {\n    throw new Error(\"You're using a 3d camera. Try the html renderer.\");\n  };\n\n  BaseRenderer.prototype.createAudio = function (data) {\n    return new AudioElement(data, (this || _global).globalData, this || _global);\n  };\n\n  BaseRenderer.prototype.createFootage = function (data) {\n    return new FootageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  BaseRenderer.prototype.buildAllItems = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      this.buildItem(i);\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.includeLayers = function (newLayers) {\n    (this || _global).completeLayers = false;\n    var i;\n    var len = newLayers.length;\n    var j;\n    var jLen = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      j = 0;\n\n      while (j < jLen) {\n        if ((this || _global).layers[j].id === newLayers[i].id) {\n          (this || _global).layers[j] = newLayers[i];\n          break;\n        }\n\n        j += 1;\n      }\n    }\n  };\n\n  BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n    (this || _global).globalData.projectInterface = pInterface;\n  };\n\n  BaseRenderer.prototype.initItems = function () {\n    if (!(this || _global).globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n  };\n\n  BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n    var elements = (this || _global).elements;\n    var layers = (this || _global).layers;\n    var i = 0;\n    var len = layers.length;\n\n    while (i < len) {\n      if (layers[i].ind == parentName) {\n        // eslint-disable-line eqeqeq\n        if (!elements[i] || elements[i] === true) {\n          this.buildItem(i);\n          this.addPendingElement(element);\n        } else {\n          hierarchy.push(elements[i]);\n          elements[i].setAsParent();\n\n          if (layers[i].parent !== undefined) {\n            this.buildElementParenting(element, layers[i].parent, hierarchy);\n          } else {\n            element.setHierarchy(hierarchy);\n          }\n        }\n      }\n\n      i += 1;\n    }\n  };\n\n  BaseRenderer.prototype.addPendingElement = function (element) {\n    (this || _global).pendingElements.push(element);\n  };\n\n  BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i]);\n        comp.initExpressions();\n\n        (this || _global).globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n\n  BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n    (this || _global).globalData.fontManager = new FontManager();\n\n    (this || _global).globalData.fontManager.addChars(animData.chars);\n\n    (this || _global).globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n\n    (this || _global).globalData.getAssetData = (this || _global).animationItem.getAssetData.bind((this || _global).animationItem);\n    (this || _global).globalData.getAssetsPath = (this || _global).animationItem.getAssetsPath.bind((this || _global).animationItem);\n    (this || _global).globalData.imageLoader = (this || _global).animationItem.imagePreloader;\n    (this || _global).globalData.audioController = (this || _global).animationItem.audioController;\n    (this || _global).globalData.frameId = 0;\n    (this || _global).globalData.frameRate = animData.fr;\n    (this || _global).globalData.nm = animData.nm;\n    (this || _global).globalData.compSize = {\n      w: animData.w,\n      h: animData.h\n    };\n  };\n  /* global createElementID, extendPrototype, BaseRenderer, NullElement, SVGShapeElement, SVGTextLottieElement,\r\n  IImageElement, SVGCompElement, ISolidElement, createNS, locationHref, createSizedArray, expressionsPlugin */\n\n\n  function SVGRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).layers = null;\n    (this || _global).renderedFrame = -1;\n    (this || _global).svgElement = createNS(\"svg\");\n    var ariaLabel = \"\";\n\n    if (config && config.title) {\n      var titleElement = createNS(\"title\");\n      var titleId = createElementID();\n      titleElement.setAttribute(\"id\", titleId);\n      titleElement.textContent = config.title;\n\n      (this || _global).svgElement.appendChild(titleElement);\n\n      ariaLabel += titleId;\n    }\n\n    if (config && config.description) {\n      var descElement = createNS(\"desc\");\n      var descId = createElementID();\n      descElement.setAttribute(\"id\", descId);\n      descElement.textContent = config.description;\n\n      (this || _global).svgElement.appendChild(descElement);\n\n      ariaLabel += \" \" + descId;\n    }\n\n    if (ariaLabel) {\n      (this || _global).svgElement.setAttribute(\"aria-labelledby\", ariaLabel);\n    }\n\n    var defs = createNS(\"defs\");\n\n    (this || _global).svgElement.appendChild(defs);\n\n    var maskElement = createNS(\"g\");\n\n    (this || _global).svgElement.appendChild(maskElement);\n\n    (this || _global).layerElement = maskElement;\n    (this || _global).renderConfig = {\n      preserveAspectRatio: config && config.preserveAspectRatio || \"xMidYMid meet\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      progressiveLoad: config && config.progressiveLoad || false,\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      viewBoxOnly: config && config.viewBoxOnly || false,\n      viewBoxSize: config && config.viewBoxSize || false,\n      className: config && config.className || \"\",\n      id: config && config.id || \"\",\n      focusable: config && config.focusable,\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || \"100%\",\n        height: config && config.filterSize && config.filterSize.height || \"100%\",\n        x: config && config.filterSize && config.filterSize.x || \"0%\",\n        y: config && config.filterSize && config.filterSize.y || \"0%\"\n      }\n    };\n    (this || _global).globalData = {\n      _mdf: false,\n      frameNum: -1,\n      defs: defs,\n      renderConfig: (this || _global).renderConfig\n    };\n    (this || _global).elements = [];\n    (this || _global).pendingElements = [];\n    (this || _global).destroyed = false;\n    (this || _global).rendererType = \"svg\";\n  }\n\n  extendPrototype([BaseRenderer], SVGRenderer);\n\n  SVGRenderer.prototype.createNull = function (data) {\n    return new NullElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createShape = function (data) {\n    return new SVGShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createText = function (data) {\n    return new SVGTextLottieElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createImage = function (data) {\n    return new IImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createComp = function (data) {\n    return new SVGCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createSolid = function (data) {\n    return new ISolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.configAnimation = function (animData) {\n    (this || _global).svgElement.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\");\n\n    if ((this || _global).renderConfig.viewBoxSize) {\n      (this || _global).svgElement.setAttribute(\"viewBox\", (this || _global).renderConfig.viewBoxSize);\n    } else {\n      (this || _global).svgElement.setAttribute(\"viewBox\", \"0 0 \" + animData.w + \" \" + animData.h);\n    }\n\n    if (!(this || _global).renderConfig.viewBoxOnly) {\n      (this || _global).svgElement.setAttribute(\"width\", animData.w);\n\n      (this || _global).svgElement.setAttribute(\"height\", animData.h);\n\n      (this || _global).svgElement.style.width = \"100%\";\n      (this || _global).svgElement.style.height = \"100%\";\n      (this || _global).svgElement.style.transform = \"translate3d(0,0,0)\";\n    }\n\n    if ((this || _global).renderConfig.className) {\n      (this || _global).svgElement.setAttribute(\"class\", (this || _global).renderConfig.className);\n    }\n\n    if ((this || _global).renderConfig.id) {\n      (this || _global).svgElement.setAttribute(\"id\", (this || _global).renderConfig.id);\n    }\n\n    if ((this || _global).renderConfig.focusable !== undefined) {\n      (this || _global).svgElement.setAttribute(\"focusable\", (this || _global).renderConfig.focusable);\n    }\n\n    (this || _global).svgElement.setAttribute(\"preserveAspectRatio\", (this || _global).renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n    // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n\n    (this || _global).animationItem.wrapper.appendChild((this || _global).svgElement); // Mask animation\n\n\n    var defs = (this || _global).globalData.defs;\n    this.setupGlobalData(animData, defs);\n    (this || _global).globalData.progressiveLoad = (this || _global).renderConfig.progressiveLoad;\n    (this || _global).data = animData;\n    var maskElement = createNS(\"clipPath\");\n    var rect = createNS(\"rect\");\n    rect.setAttribute(\"width\", animData.w);\n    rect.setAttribute(\"height\", animData.h);\n    rect.setAttribute(\"x\", 0);\n    rect.setAttribute(\"y\", 0);\n    var maskId = createElementID();\n    maskElement.setAttribute(\"id\", maskId);\n    maskElement.appendChild(rect);\n\n    (this || _global).layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + maskId + \")\");\n\n    defs.appendChild(maskElement);\n    (this || _global).layers = animData.layers;\n    (this || _global).elements = createSizedArray(animData.layers.length);\n  };\n\n  SVGRenderer.prototype.destroy = function () {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    (this || _global).layerElement = null;\n    (this || _global).globalData.defs = null;\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).destroyed = true;\n    (this || _global).animationItem = null;\n  };\n\n  SVGRenderer.prototype.updateContainerSize = function () {};\n\n  SVGRenderer.prototype.buildItem = function (pos) {\n    var elements = (this || _global).elements;\n\n    if (elements[pos] || (this || _global).layers[pos].ty === 99) {\n      return;\n    }\n\n    elements[pos] = true;\n    var element = this.createItem((this || _global).layers[pos]);\n    elements[pos] = element;\n\n    if (expressionsPlugin) {\n      if ((this || _global).layers[pos].ty === 0) {\n        (this || _global).globalData.projectInterface.registerComposition(element);\n      }\n\n      element.initExpressions();\n    }\n\n    this.appendElementInPos(element, pos);\n\n    if ((this || _global).layers[pos].tt) {\n      if (!(this || _global).elements[pos - 1] || (this || _global).elements[pos - 1] === true) {\n        this.buildItem(pos - 1);\n        this.addPendingElement(element);\n      } else {\n        element.setMatte(elements[pos - 1].layerId);\n      }\n    }\n  };\n\n  SVGRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n\n      if (element.data.tt) {\n        var i = 0;\n        var len = (this || _global).elements.length;\n\n        while (i < len) {\n          if ((this || _global).elements[i] === element) {\n            element.setMatte((this || _global).elements[i - 1].layerId);\n            break;\n          }\n\n          i += 1;\n        }\n      }\n    }\n  };\n\n  SVGRenderer.prototype.renderFrame = function (num) {\n    if ((this || _global).renderedFrame === num || (this || _global).destroyed) {\n      return;\n    }\n\n    if (num === null) {\n      num = (this || _global).renderedFrame;\n    } else {\n      (this || _global).renderedFrame = num;\n    } // console.log('-------');\n    // console.log('FRAME ',num);\n\n\n    (this || _global).globalData.frameNum = num;\n    (this || _global).globalData.frameId += 1;\n    (this || _global).globalData.projectInterface.currentFrame = num;\n    (this || _global).globalData._mdf = false;\n    var i;\n    var len = (this || _global).layers.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame(num - (this || _global).layers[i].st);\n      }\n    }\n\n    if ((this || _global).globalData._mdf) {\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).completeLayers || (this || _global).elements[i]) {\n          (this || _global).elements[i].renderFrame();\n        }\n      }\n    }\n  };\n\n  SVGRenderer.prototype.appendElementInPos = function (element, pos) {\n    var newElement = element.getBaseElement();\n\n    if (!newElement) {\n      return;\n    }\n\n    var i = 0;\n    var nextElement;\n\n    while (i < pos) {\n      if ((this || _global).elements[i] && (this || _global).elements[i] !== true && (this || _global).elements[i].getBaseElement()) {\n        nextElement = (this || _global).elements[i].getBaseElement();\n      }\n\n      i += 1;\n    }\n\n    if (nextElement) {\n      (this || _global).layerElement.insertBefore(newElement, nextElement);\n    } else {\n      (this || _global).layerElement.appendChild(newElement);\n    }\n  };\n\n  SVGRenderer.prototype.hide = function () {\n    (this || _global).layerElement.style.display = \"none\";\n  };\n\n  SVGRenderer.prototype.show = function () {\n    (this || _global).layerElement.style.display = \"block\";\n  };\n  /* global CVContextData, Matrix, extendPrototype, BaseRenderer, CVShapeElement, CVTextElement,\r\n  CVImageElement, CVCompElement, CVSolidElement, SVGRenderer, createTag, createSizedArray */\n\n\n  function CanvasRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).renderConfig = {\n      clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n      context: config && config.context || null,\n      progressiveLoad: config && config.progressiveLoad || false,\n      preserveAspectRatio: config && config.preserveAspectRatio || \"xMidYMid meet\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      className: config && config.className || \"\",\n      id: config && config.id || \"\"\n    };\n    (this || _global).renderConfig.dpr = config && config.dpr || 1;\n\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n    }\n\n    (this || _global).renderedFrame = -1;\n    (this || _global).globalData = {\n      frameNum: -1,\n      _mdf: false,\n      renderConfig: (this || _global).renderConfig,\n      currentGlobalAlpha: -1\n    };\n    (this || _global).contextData = new CVContextData();\n    (this || _global).elements = [];\n    (this || _global).pendingElements = [];\n    (this || _global).transformMat = new Matrix();\n    (this || _global).completeLayers = false;\n    (this || _global).rendererType = \"canvas\";\n  }\n\n  extendPrototype([BaseRenderer], CanvasRenderer);\n\n  CanvasRenderer.prototype.createShape = function (data) {\n    return new CVShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createText = function (data) {\n    return new CVTextElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createImage = function (data) {\n    return new CVImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createComp = function (data) {\n    return new CVCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createSolid = function (data) {\n    return new CVSolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  CanvasRenderer.prototype.ctxTransform = function (props) {\n    if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n      return;\n    }\n\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n\n      return;\n    }\n\n    (this || _global).transformMat.cloneFromProps(props);\n\n    var cProps = (this || _global).contextData.cTr.props;\n\n    (this || _global).transformMat.transform(cProps[0], cProps[1], cProps[2], cProps[3], cProps[4], cProps[5], cProps[6], cProps[7], cProps[8], cProps[9], cProps[10], cProps[11], cProps[12], cProps[13], cProps[14], cProps[15]); // this.contextData.cTr.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);\n\n\n    (this || _global).contextData.cTr.cloneFromProps((this || _global).transformMat.props);\n\n    var trProps = (this || _global).contextData.cTr.props;\n\n    (this || _global).canvasContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n  };\n\n  CanvasRenderer.prototype.ctxOpacity = function (op) {\n    /* if(op === 1){\r\n          return;\r\n      } */\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.globalAlpha *= op < 0 ? 0 : op;\n      (this || _global).globalData.currentGlobalAlpha = (this || _global).contextData.cO;\n      return;\n    }\n\n    (this || _global).contextData.cO *= op < 0 ? 0 : op;\n\n    if ((this || _global).globalData.currentGlobalAlpha !== (this || _global).contextData.cO) {\n      (this || _global).canvasContext.globalAlpha = (this || _global).contextData.cO;\n      (this || _global).globalData.currentGlobalAlpha = (this || _global).contextData.cO;\n    }\n  };\n\n  CanvasRenderer.prototype.reset = function () {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.restore();\n\n      return;\n    }\n\n    (this || _global).contextData.reset();\n  };\n\n  CanvasRenderer.prototype.save = function (actionFlag) {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.save();\n\n      return;\n    }\n\n    if (actionFlag) {\n      (this || _global).canvasContext.save();\n    }\n\n    var props = (this || _global).contextData.cTr.props;\n\n    if ((this || _global).contextData._length <= (this || _global).contextData.cArrPos) {\n      (this || _global).contextData.duplicate();\n    }\n\n    var i;\n    var arr = (this || _global).contextData.saved[(this || _global).contextData.cArrPos];\n\n    for (i = 0; i < 16; i += 1) {\n      arr[i] = props[i];\n    }\n\n    (this || _global).contextData.savedOp[(this || _global).contextData.cArrPos] = (this || _global).contextData.cO;\n    (this || _global).contextData.cArrPos += 1;\n  };\n\n  CanvasRenderer.prototype.restore = function (actionFlag) {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.restore();\n\n      return;\n    }\n\n    if (actionFlag) {\n      (this || _global).canvasContext.restore();\n\n      (this || _global).globalData.blendMode = \"source-over\";\n    }\n\n    (this || _global).contextData.cArrPos -= 1;\n    var popped = (this || _global).contextData.saved[(this || _global).contextData.cArrPos];\n    var i;\n    var arr = (this || _global).contextData.cTr.props;\n\n    for (i = 0; i < 16; i += 1) {\n      arr[i] = popped[i];\n    }\n\n    (this || _global).canvasContext.setTransform(popped[0], popped[1], popped[4], popped[5], popped[12], popped[13]);\n\n    popped = (this || _global).contextData.savedOp[(this || _global).contextData.cArrPos];\n    (this || _global).contextData.cO = popped;\n\n    if ((this || _global).globalData.currentGlobalAlpha !== popped) {\n      (this || _global).canvasContext.globalAlpha = popped;\n      (this || _global).globalData.currentGlobalAlpha = popped;\n    }\n  };\n\n  CanvasRenderer.prototype.configAnimation = function (animData) {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.container = createTag(\"canvas\");\n      var containerStyle = (this || _global).animationItem.container.style;\n      containerStyle.width = \"100%\";\n      containerStyle.height = \"100%\";\n      var origin = \"0px 0px 0px\";\n      containerStyle.transformOrigin = origin;\n      containerStyle.mozTransformOrigin = origin;\n      containerStyle.webkitTransformOrigin = origin;\n      containerStyle[\"-webkit-transform\"] = origin;\n\n      (this || _global).animationItem.wrapper.appendChild((this || _global).animationItem.container);\n\n      (this || _global).canvasContext = (this || _global).animationItem.container.getContext(\"2d\");\n\n      if ((this || _global).renderConfig.className) {\n        (this || _global).animationItem.container.setAttribute(\"class\", (this || _global).renderConfig.className);\n      }\n\n      if ((this || _global).renderConfig.id) {\n        (this || _global).animationItem.container.setAttribute(\"id\", (this || _global).renderConfig.id);\n      }\n    } else {\n      (this || _global).canvasContext = (this || _global).renderConfig.context;\n    }\n\n    (this || _global).data = animData;\n    (this || _global).layers = animData.layers;\n    (this || _global).transformCanvas = {\n      w: animData.w,\n      h: animData.h,\n      sx: 0,\n      sy: 0,\n      tx: 0,\n      ty: 0\n    };\n    this.setupGlobalData(animData, document.body);\n    (this || _global).globalData.canvasContext = (this || _global).canvasContext;\n    (this || _global).globalData.renderer = this || _global;\n    (this || _global).globalData.isDashed = false;\n    (this || _global).globalData.progressiveLoad = (this || _global).renderConfig.progressiveLoad;\n    (this || _global).globalData.transformCanvas = (this || _global).transformCanvas;\n    (this || _global).elements = createSizedArray(animData.layers.length);\n    this.updateContainerSize();\n  };\n\n  CanvasRenderer.prototype.updateContainerSize = function () {\n    this.reset();\n    var elementWidth;\n    var elementHeight;\n\n    if ((this || _global).animationItem.wrapper && (this || _global).animationItem.container) {\n      elementWidth = (this || _global).animationItem.wrapper.offsetWidth;\n      elementHeight = (this || _global).animationItem.wrapper.offsetHeight;\n\n      (this || _global).animationItem.container.setAttribute(\"width\", elementWidth * (this || _global).renderConfig.dpr);\n\n      (this || _global).animationItem.container.setAttribute(\"height\", elementHeight * (this || _global).renderConfig.dpr);\n    } else {\n      elementWidth = (this || _global).canvasContext.canvas.width * (this || _global).renderConfig.dpr;\n      elementHeight = (this || _global).canvasContext.canvas.height * (this || _global).renderConfig.dpr;\n    }\n\n    var elementRel;\n    var animationRel;\n\n    if ((this || _global).renderConfig.preserveAspectRatio.indexOf(\"meet\") !== -1 || (this || _global).renderConfig.preserveAspectRatio.indexOf(\"slice\") !== -1) {\n      var par = (this || _global).renderConfig.preserveAspectRatio.split(\" \");\n\n      var fillType = par[1] || \"meet\";\n      var pos = par[0] || \"xMidYMid\";\n      var xPos = pos.substr(0, 4);\n      var yPos = pos.substr(4);\n      elementRel = elementWidth / elementHeight;\n      animationRel = (this || _global).transformCanvas.w / (this || _global).transformCanvas.h;\n\n      if (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\") {\n        (this || _global).transformCanvas.sx = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n        (this || _global).transformCanvas.sy = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n      } else {\n        (this || _global).transformCanvas.sx = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n        (this || _global).transformCanvas.sy = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n      }\n\n      if (xPos === \"xMid\" && (animationRel < elementRel && fillType === \"meet\" || animationRel > elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.tx = (elementWidth - (this || _global).transformCanvas.w * (elementHeight / (this || _global).transformCanvas.h)) / 2 * (this || _global).renderConfig.dpr;\n      } else if (xPos === \"xMax\" && (animationRel < elementRel && fillType === \"meet\" || animationRel > elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.tx = (elementWidth - (this || _global).transformCanvas.w * (elementHeight / (this || _global).transformCanvas.h)) * (this || _global).renderConfig.dpr;\n      } else {\n        (this || _global).transformCanvas.tx = 0;\n      }\n\n      if (yPos === \"YMid\" && (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.ty = (elementHeight - (this || _global).transformCanvas.h * (elementWidth / (this || _global).transformCanvas.w)) / 2 * (this || _global).renderConfig.dpr;\n      } else if (yPos === \"YMax\" && (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.ty = (elementHeight - (this || _global).transformCanvas.h * (elementWidth / (this || _global).transformCanvas.w)) * (this || _global).renderConfig.dpr;\n      } else {\n        (this || _global).transformCanvas.ty = 0;\n      }\n    } else if ((this || _global).renderConfig.preserveAspectRatio === \"none\") {\n      (this || _global).transformCanvas.sx = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n      (this || _global).transformCanvas.sy = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n      (this || _global).transformCanvas.tx = 0;\n      (this || _global).transformCanvas.ty = 0;\n    } else {\n      (this || _global).transformCanvas.sx = (this || _global).renderConfig.dpr;\n      (this || _global).transformCanvas.sy = (this || _global).renderConfig.dpr;\n      (this || _global).transformCanvas.tx = 0;\n      (this || _global).transformCanvas.ty = 0;\n    }\n\n    (this || _global).transformCanvas.props = [(this || _global).transformCanvas.sx, 0, 0, 0, 0, (this || _global).transformCanvas.sy, 0, 0, 0, 0, 1, 0, (this || _global).transformCanvas.tx, (this || _global).transformCanvas.ty, 0, 1];\n    /* var i, len = this.elements.length;\r\n      for(i=0;i<len;i+=1){\r\n          if(this.elements[i] && this.elements[i].data.ty === 0){\r\n              this.elements[i].resize(this.globalData.transformCanvas);\r\n          }\r\n      } */\n\n    this.ctxTransform((this || _global).transformCanvas.props);\n\n    (this || _global).canvasContext.beginPath();\n\n    (this || _global).canvasContext.rect(0, 0, (this || _global).transformCanvas.w, (this || _global).transformCanvas.h);\n\n    (this || _global).canvasContext.closePath();\n\n    (this || _global).canvasContext.clip();\n\n    this.renderFrame((this || _global).renderedFrame, true);\n  };\n\n  CanvasRenderer.prototype.destroy = function () {\n    if ((this || _global).renderConfig.clearCanvas && (this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).globalData.canvasContext = null;\n    (this || _global).animationItem.container = null;\n    (this || _global).destroyed = true;\n  };\n\n  CanvasRenderer.prototype.renderFrame = function (num, forceRender) {\n    if ((this || _global).renderedFrame === num && (this || _global).renderConfig.clearCanvas === true && !forceRender || (this || _global).destroyed || num === -1) {\n      return;\n    }\n\n    (this || _global).renderedFrame = num;\n    (this || _global).globalData.frameNum = num - (this || _global).animationItem._isFirstFrame;\n    (this || _global).globalData.frameId += 1;\n    (this || _global).globalData._mdf = !(this || _global).renderConfig.clearCanvas || forceRender;\n    (this || _global).globalData.projectInterface.currentFrame = num; // console.log('--------');\n    // console.log('NEW: ',num);\n\n    var i;\n    var len = (this || _global).layers.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame(num - (this || _global).layers[i].st);\n      }\n    }\n\n    if ((this || _global).globalData._mdf) {\n      if ((this || _global).renderConfig.clearCanvas === true) {\n        (this || _global).canvasContext.clearRect(0, 0, (this || _global).transformCanvas.w, (this || _global).transformCanvas.h);\n      } else {\n        this.save();\n      }\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        if ((this || _global).completeLayers || (this || _global).elements[i]) {\n          (this || _global).elements[i].renderFrame();\n        }\n      }\n\n      if ((this || _global).renderConfig.clearCanvas !== true) {\n        this.restore();\n      }\n    }\n  };\n\n  CanvasRenderer.prototype.buildItem = function (pos) {\n    var elements = (this || _global).elements;\n\n    if (elements[pos] || (this || _global).layers[pos].ty === 99) {\n      return;\n    }\n\n    var element = this.createItem((this || _global).layers[pos], this || _global, (this || _global).globalData);\n    elements[pos] = element;\n    element.initExpressions();\n    /* if(this.layers[pos].ty === 0){\r\n          element.resize(this.globalData.transformCanvas);\r\n      } */\n  };\n\n  CanvasRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n    }\n  };\n\n  CanvasRenderer.prototype.hide = function () {\n    (this || _global).animationItem.container.style.display = \"none\";\n  };\n\n  CanvasRenderer.prototype.show = function () {\n    (this || _global).animationItem.container.style.display = \"block\";\n  };\n  /* global extendPrototype, BaseRenderer, SVGRenderer, SVGShapeElement, HShapeElement, SVGTextLottieElement,\r\n  HTextElement, HCameraElement, IImageElement, HImageElement, SVGCompElement, HCompElement, ISolidElement,\r\n  HSolidElement, styleDiv, createTag, createNS */\n\n\n  function HybridRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).layers = null;\n    (this || _global).renderedFrame = -1;\n    (this || _global).renderConfig = {\n      className: config && config.className || \"\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || \"400%\",\n        height: config && config.filterSize && config.filterSize.height || \"400%\",\n        x: config && config.filterSize && config.filterSize.x || \"-100%\",\n        y: config && config.filterSize && config.filterSize.y || \"-100%\"\n      }\n    };\n    (this || _global).globalData = {\n      _mdf: false,\n      frameNum: -1,\n      renderConfig: (this || _global).renderConfig\n    };\n    (this || _global).pendingElements = [];\n    (this || _global).elements = [];\n    (this || _global).threeDElements = [];\n    (this || _global).destroyed = false;\n    (this || _global).camera = null;\n    (this || _global).supports3d = true;\n    (this || _global).rendererType = \"html\";\n  }\n\n  extendPrototype([BaseRenderer], HybridRenderer);\n  HybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n  HybridRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n    }\n  };\n\n  HybridRenderer.prototype.appendElementInPos = function (element, pos) {\n    var newDOMElement = element.getBaseElement();\n\n    if (!newDOMElement) {\n      return;\n    }\n\n    var layer = (this || _global).layers[pos];\n\n    if (!layer.ddd || !(this || _global).supports3d) {\n      if ((this || _global).threeDElements) {\n        this.addTo3dContainer(newDOMElement, pos);\n      } else {\n        var i = 0;\n        var nextDOMElement;\n        var nextLayer;\n        var tmpDOMElement;\n\n        while (i < pos) {\n          if ((this || _global).elements[i] && (this || _global).elements[i] !== true && (this || _global).elements[i].getBaseElement) {\n            nextLayer = (this || _global).elements[i];\n            tmpDOMElement = (this || _global).layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n            nextDOMElement = tmpDOMElement || nextDOMElement;\n          }\n\n          i += 1;\n        }\n\n        if (nextDOMElement) {\n          if (!layer.ddd || !(this || _global).supports3d) {\n            (this || _global).layerElement.insertBefore(newDOMElement, nextDOMElement);\n          }\n        } else if (!layer.ddd || !(this || _global).supports3d) {\n          (this || _global).layerElement.appendChild(newDOMElement);\n        }\n      }\n    } else {\n      this.addTo3dContainer(newDOMElement, pos);\n    }\n  };\n\n  HybridRenderer.prototype.createShape = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGShapeElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createText = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGTextLottieElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HTextElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createCamera = function (data) {\n    (this || _global).camera = new HCameraElement(data, (this || _global).globalData, this || _global);\n    return (this || _global).camera;\n  };\n\n  HybridRenderer.prototype.createImage = function (data) {\n    if (!(this || _global).supports3d) {\n      return new IImageElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createComp = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGCompElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createSolid = function (data) {\n    if (!(this || _global).supports3d) {\n      return new ISolidElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HSolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  HybridRenderer.prototype.getThreeDContainerByPos = function (pos) {\n    var i = 0;\n    var len = (this || _global).threeDElements.length;\n\n    while (i < len) {\n      if ((this || _global).threeDElements[i].startPos <= pos && (this || _global).threeDElements[i].endPos >= pos) {\n        return (this || _global).threeDElements[i].perspectiveElem;\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  HybridRenderer.prototype.createThreeDContainer = function (pos, type) {\n    var perspectiveElem = createTag(\"div\");\n    var style;\n    var containerStyle;\n    styleDiv(perspectiveElem);\n    var container = createTag(\"div\");\n    styleDiv(container);\n\n    if (type === \"3d\") {\n      style = perspectiveElem.style;\n      style.width = (this || _global).globalData.compSize.w + \"px\";\n      style.height = (this || _global).globalData.compSize.h + \"px\";\n      var center = \"50% 50%\";\n      style.webkitTransformOrigin = center;\n      style.mozTransformOrigin = center;\n      style.transformOrigin = center;\n      containerStyle = container.style;\n      var matrix = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n      containerStyle.transform = matrix;\n      containerStyle.webkitTransform = matrix;\n    }\n\n    perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n    var threeDContainerData = {\n      container: container,\n      perspectiveElem: perspectiveElem,\n      startPos: pos,\n      endPos: pos,\n      type: type\n    };\n\n    (this || _global).threeDElements.push(threeDContainerData);\n\n    return threeDContainerData;\n  };\n\n  HybridRenderer.prototype.build3dContainers = function () {\n    var i;\n    var len = (this || _global).layers.length;\n    var lastThreeDContainerData;\n    var currentContainer = \"\";\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).layers[i].ddd && (this || _global).layers[i].ty !== 3) {\n        if (currentContainer !== \"3d\") {\n          currentContainer = \"3d\";\n          lastThreeDContainerData = this.createThreeDContainer(i, \"3d\");\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      } else {\n        if (currentContainer !== \"2d\") {\n          currentContainer = \"2d\";\n          lastThreeDContainerData = this.createThreeDContainer(i, \"2d\");\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      }\n    }\n\n    len = (this || _global).threeDElements.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      (this || _global).resizerElem.appendChild((this || _global).threeDElements[i].perspectiveElem);\n    }\n  };\n\n  HybridRenderer.prototype.addTo3dContainer = function (elem, pos) {\n    var i = 0;\n    var len = (this || _global).threeDElements.length;\n\n    while (i < len) {\n      if (pos <= (this || _global).threeDElements[i].endPos) {\n        var j = (this || _global).threeDElements[i].startPos;\n        var nextElement;\n\n        while (j < pos) {\n          if ((this || _global).elements[j] && (this || _global).elements[j].getBaseElement) {\n            nextElement = (this || _global).elements[j].getBaseElement();\n          }\n\n          j += 1;\n        }\n\n        if (nextElement) {\n          (this || _global).threeDElements[i].container.insertBefore(elem, nextElement);\n        } else {\n          (this || _global).threeDElements[i].container.appendChild(elem);\n        }\n\n        break;\n      }\n\n      i += 1;\n    }\n  };\n\n  HybridRenderer.prototype.configAnimation = function (animData) {\n    var resizerElem = createTag(\"div\");\n    var wrapper = (this || _global).animationItem.wrapper;\n    var style = resizerElem.style;\n    style.width = animData.w + \"px\";\n    style.height = animData.h + \"px\";\n    (this || _global).resizerElem = resizerElem;\n    styleDiv(resizerElem);\n    style.transformStyle = \"flat\";\n    style.mozTransformStyle = \"flat\";\n    style.webkitTransformStyle = \"flat\";\n\n    if ((this || _global).renderConfig.className) {\n      resizerElem.setAttribute(\"class\", (this || _global).renderConfig.className);\n    }\n\n    wrapper.appendChild(resizerElem);\n    style.overflow = \"hidden\";\n    var svg = createNS(\"svg\");\n    svg.setAttribute(\"width\", \"1\");\n    svg.setAttribute(\"height\", \"1\");\n    styleDiv(svg);\n\n    (this || _global).resizerElem.appendChild(svg);\n\n    var defs = createNS(\"defs\");\n    svg.appendChild(defs);\n    (this || _global).data = animData; // Mask animation\n\n    this.setupGlobalData(animData, svg);\n    (this || _global).globalData.defs = defs;\n    (this || _global).layers = animData.layers;\n    (this || _global).layerElement = (this || _global).resizerElem;\n    this.build3dContainers();\n    this.updateContainerSize();\n  };\n\n  HybridRenderer.prototype.destroy = function () {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    (this || _global).animationItem.container = null;\n    (this || _global).globalData.defs = null;\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).elements[i].destroy();\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).destroyed = true;\n    (this || _global).animationItem = null;\n  };\n\n  HybridRenderer.prototype.updateContainerSize = function () {\n    var elementWidth = (this || _global).animationItem.wrapper.offsetWidth;\n    var elementHeight = (this || _global).animationItem.wrapper.offsetHeight;\n    var elementRel = elementWidth / elementHeight;\n    var animationRel = (this || _global).globalData.compSize.w / (this || _global).globalData.compSize.h;\n    var sx;\n    var sy;\n    var tx;\n    var ty;\n\n    if (animationRel > elementRel) {\n      sx = elementWidth / (this || _global).globalData.compSize.w;\n      sy = elementWidth / (this || _global).globalData.compSize.w;\n      tx = 0;\n      ty = (elementHeight - (this || _global).globalData.compSize.h * (elementWidth / (this || _global).globalData.compSize.w)) / 2;\n    } else {\n      sx = elementHeight / (this || _global).globalData.compSize.h;\n      sy = elementHeight / (this || _global).globalData.compSize.h;\n      tx = (elementWidth - (this || _global).globalData.compSize.w * (elementHeight / (this || _global).globalData.compSize.h)) / 2;\n      ty = 0;\n    }\n\n    var style = (this || _global).resizerElem.style;\n    style.webkitTransform = \"matrix3d(\" + sx + \",0,0,0,0,\" + sy + \",0,0,0,0,1,0,\" + tx + \",\" + ty + \",0,1)\";\n    style.transform = style.webkitTransform;\n  };\n\n  HybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n  HybridRenderer.prototype.hide = function () {\n    (this || _global).resizerElem.style.display = \"none\";\n  };\n\n  HybridRenderer.prototype.show = function () {\n    (this || _global).resizerElem.style.display = \"block\";\n  };\n\n  HybridRenderer.prototype.initItems = function () {\n    this.buildAllItems();\n\n    if ((this || _global).camera) {\n      (this || _global).camera.setup();\n    } else {\n      var cWidth = (this || _global).globalData.compSize.w;\n      var cHeight = (this || _global).globalData.compSize.h;\n      var i;\n      var len = (this || _global).threeDElements.length;\n\n      for (i = 0; i < len; i += 1) {\n        var style = (this || _global).threeDElements[i].perspectiveElem.style;\n        style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + \"px\";\n        style.perspective = style.webkitPerspective;\n      }\n    }\n  };\n\n  HybridRenderer.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n    var floatingContainer = createTag(\"div\");\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i], floatingContainer, (this || _global).globalData.comp, null);\n        comp.initExpressions();\n\n        (this || _global).globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n  /* global createSizedArray, createElementID, PropertyFactory, ShapePropertyFactory, createNS, locationHref */\n\n\n  function MaskElement(data, element, globalData) {\n    (this || _global).data = data;\n    (this || _global).element = element;\n    (this || _global).globalData = globalData;\n    (this || _global).storedData = [];\n    (this || _global).masksProperties = (this || _global).data.masksProperties || [];\n    (this || _global).maskElement = null;\n    var defs = (this || _global).globalData.defs;\n    var i;\n    var len = (this || _global).masksProperties ? (this || _global).masksProperties.length : 0;\n    (this || _global).viewData = createSizedArray(len);\n    (this || _global).solidPath = \"\";\n    var path;\n    var properties = (this || _global).masksProperties;\n    var count = 0;\n    var currentMasks = [];\n    var j;\n    var jLen;\n    var layerId = createElementID();\n    var rect;\n    var expansor;\n    var feMorph;\n    var x;\n    var maskType = \"clipPath\";\n    var maskRef = \"clip-path\";\n\n    for (i = 0; i < len; i += 1) {\n      if (properties[i].mode !== \"a\" && properties[i].mode !== \"n\" || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n        maskType = \"mask\";\n        maskRef = \"mask\";\n      }\n\n      if ((properties[i].mode === \"s\" || properties[i].mode === \"i\") && count === 0) {\n        rect = createNS(\"rect\");\n        rect.setAttribute(\"fill\", \"#ffffff\");\n        rect.setAttribute(\"width\", (this || _global).element.comp.data.w || 0);\n        rect.setAttribute(\"height\", (this || _global).element.comp.data.h || 0);\n        currentMasks.push(rect);\n      } else {\n        rect = null;\n      }\n\n      path = createNS(\"path\");\n\n      if (properties[i].mode === \"n\") {\n        // TODO move this to a factory or to a constructor\n        (this || _global).viewData[i] = {\n          op: PropertyFactory.getProp((this || _global).element, properties[i].o, 0, 0.01, (this || _global).element),\n          prop: ShapePropertyFactory.getShapeProp((this || _global).element, properties[i], 3),\n          elem: path,\n          lastPath: \"\"\n        };\n        defs.appendChild(path);\n      } else {\n        count += 1;\n        path.setAttribute(\"fill\", properties[i].mode === \"s\" ? \"#000000\" : \"#ffffff\");\n        path.setAttribute(\"clip-rule\", \"nonzero\");\n        var filterID;\n\n        if (properties[i].x.k !== 0) {\n          maskType = \"mask\";\n          maskRef = \"mask\";\n          x = PropertyFactory.getProp((this || _global).element, properties[i].x, 0, null, (this || _global).element);\n          filterID = createElementID();\n          expansor = createNS(\"filter\");\n          expansor.setAttribute(\"id\", filterID);\n          feMorph = createNS(\"feMorphology\");\n          feMorph.setAttribute(\"operator\", \"erode\");\n          feMorph.setAttribute(\"in\", \"SourceGraphic\");\n          feMorph.setAttribute(\"radius\", \"0\");\n          expansor.appendChild(feMorph);\n          defs.appendChild(expansor);\n          path.setAttribute(\"stroke\", properties[i].mode === \"s\" ? \"#000000\" : \"#ffffff\");\n        } else {\n          feMorph = null;\n          x = null;\n        } // TODO move this to a factory or to a constructor\n\n\n        (this || _global).storedData[i] = {\n          elem: path,\n          x: x,\n          expan: feMorph,\n          lastPath: \"\",\n          lastOperator: \"\",\n          filterId: filterID,\n          lastRadius: 0\n        };\n\n        if (properties[i].mode === \"i\") {\n          jLen = currentMasks.length;\n          var g = createNS(\"g\");\n\n          for (j = 0; j < jLen; j += 1) {\n            g.appendChild(currentMasks[j]);\n          }\n\n          var mask = createNS(\"mask\");\n          mask.setAttribute(\"mask-type\", \"alpha\");\n          mask.setAttribute(\"id\", layerId + \"_\" + count);\n          mask.appendChild(path);\n          defs.appendChild(mask);\n          g.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + layerId + \"_\" + count + \")\");\n          currentMasks.length = 0;\n          currentMasks.push(g);\n        } else {\n          currentMasks.push(path);\n        }\n\n        if (properties[i].inv && !(this || _global).solidPath) {\n          (this || _global).solidPath = this.createLayerSolidPath();\n        } // TODO move this to a factory or to a constructor\n\n\n        (this || _global).viewData[i] = {\n          elem: path,\n          lastPath: \"\",\n          op: PropertyFactory.getProp((this || _global).element, properties[i].o, 0, 0.01, (this || _global).element),\n          prop: ShapePropertyFactory.getShapeProp((this || _global).element, properties[i], 3),\n          invRect: rect\n        };\n\n        if (!(this || _global).viewData[i].prop.k) {\n          this.drawPath(properties[i], (this || _global).viewData[i].prop.v, (this || _global).viewData[i]);\n        }\n      }\n    }\n\n    (this || _global).maskElement = createNS(maskType);\n    len = currentMasks.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).maskElement.appendChild(currentMasks[i]);\n    }\n\n    if (count > 0) {\n      (this || _global).maskElement.setAttribute(\"id\", layerId);\n\n      (this || _global).element.maskedElement.setAttribute(maskRef, \"url(\" + locationHref + \"#\" + layerId + \")\");\n\n      defs.appendChild((this || _global).maskElement);\n    }\n\n    if ((this || _global).viewData.length) {\n      (this || _global).element.addRenderableComponent(this || _global);\n    }\n  }\n\n  MaskElement.prototype.getMaskProperty = function (pos) {\n    return (this || _global).viewData[pos].prop;\n  };\n\n  MaskElement.prototype.renderFrame = function (isFirstFrame) {\n    var finalMat = (this || _global).element.finalTransform.mat;\n    var i;\n    var len = (this || _global).masksProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).viewData[i].prop._mdf || isFirstFrame) {\n        this.drawPath((this || _global).masksProperties[i], (this || _global).viewData[i].prop.v, (this || _global).viewData[i]);\n      }\n\n      if ((this || _global).viewData[i].op._mdf || isFirstFrame) {\n        (this || _global).viewData[i].elem.setAttribute(\"fill-opacity\", (this || _global).viewData[i].op.v);\n      }\n\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        if ((this || _global).viewData[i].invRect && ((this || _global).element.finalTransform.mProp._mdf || isFirstFrame)) {\n          (this || _global).viewData[i].invRect.setAttribute(\"transform\", finalMat.getInverseMatrix().to2dCSS());\n        }\n\n        if ((this || _global).storedData[i].x && ((this || _global).storedData[i].x._mdf || isFirstFrame)) {\n          var feMorph = (this || _global).storedData[i].expan;\n\n          if ((this || _global).storedData[i].x.v < 0) {\n            if ((this || _global).storedData[i].lastOperator !== \"erode\") {\n              (this || _global).storedData[i].lastOperator = \"erode\";\n\n              (this || _global).storedData[i].elem.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + (this || _global).storedData[i].filterId + \")\");\n            }\n\n            feMorph.setAttribute(\"radius\", -(this || _global).storedData[i].x.v);\n          } else {\n            if ((this || _global).storedData[i].lastOperator !== \"dilate\") {\n              (this || _global).storedData[i].lastOperator = \"dilate\";\n\n              (this || _global).storedData[i].elem.setAttribute(\"filter\", null);\n            }\n\n            (this || _global).storedData[i].elem.setAttribute(\"stroke-width\", (this || _global).storedData[i].x.v * 2);\n          }\n        }\n      }\n    }\n  };\n\n  MaskElement.prototype.getMaskelement = function () {\n    return (this || _global).maskElement;\n  };\n\n  MaskElement.prototype.createLayerSolidPath = function () {\n    var path = \"M0,0 \";\n    path += \" h\" + (this || _global).globalData.compSize.w;\n    path += \" v\" + (this || _global).globalData.compSize.h;\n    path += \" h-\" + (this || _global).globalData.compSize.w;\n    path += \" v-\" + (this || _global).globalData.compSize.h + \" \";\n    return path;\n  };\n\n  MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n    var pathString = \" M\" + pathNodes.v[0][0] + \",\" + pathNodes.v[0][1];\n    var i;\n    var len;\n    len = pathNodes._length;\n\n    for (i = 1; i < len; i += 1) {\n      // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[i][0]+','+pathNodes.i[i][1] + \" \"+pathNodes.v[i][0]+','+pathNodes.v[i][1];\n      pathString += \" C\" + pathNodes.o[i - 1][0] + \",\" + pathNodes.o[i - 1][1] + \" \" + pathNodes.i[i][0] + \",\" + pathNodes.i[i][1] + \" \" + pathNodes.v[i][0] + \",\" + pathNodes.v[i][1];\n    } // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\n\n\n    if (pathNodes.c && len > 1) {\n      pathString += \" C\" + pathNodes.o[i - 1][0] + \",\" + pathNodes.o[i - 1][1] + \" \" + pathNodes.i[0][0] + \",\" + pathNodes.i[0][1] + \" \" + pathNodes.v[0][0] + \",\" + pathNodes.v[0][1];\n    } // pathNodes.__renderedString = pathString;\n\n\n    if (viewData.lastPath !== pathString) {\n      var pathShapeValue = \"\";\n\n      if (viewData.elem) {\n        if (pathNodes.c) {\n          pathShapeValue = pathData.inv ? (this || _global).solidPath + pathString : pathString;\n        }\n\n        viewData.elem.setAttribute(\"d\", pathShapeValue);\n      }\n\n      viewData.lastPath = pathString;\n    }\n  };\n\n  MaskElement.prototype.destroy = function () {\n    (this || _global).element = null;\n    (this || _global).globalData = null;\n    (this || _global).maskElement = null;\n    (this || _global).data = null;\n    (this || _global).masksProperties = null;\n  };\n  /**\r\n   * @file\r\n   * Handles AE's layer parenting property.\r\n   *\r\n   */\n\n\n  function HierarchyElement() {}\n\n  HierarchyElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes hierarchy properties\r\n       *\r\n       */\n    initHierarchy: function () {\n      // element's parent list\n      (this || _global).hierarchy = []; // if element is parent of another layer _isParent will be true\n\n      (this || _global)._isParent = false;\n      this.checkParenting();\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer's hierarchy.\r\n       * @param {array} hierarch\r\n       * layer's parent list\r\n       *\r\n       */\n    setHierarchy: function (hierarchy) {\n      (this || _global).hierarchy = hierarchy;\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer as parent.\r\n       *\r\n       */\n    setAsParent: function () {\n      (this || _global)._isParent = true;\n    },\n\n    /**\r\n       * @function\r\n       * Searches layer's parenting chain\r\n       *\r\n       */\n    checkParenting: function () {\n      if ((this || _global).data.parent !== undefined) {\n        (this || _global).comp.buildElementParenting(this || _global, (this || _global).data.parent, []);\n      }\n    }\n  };\n  /**\r\n   * @file\r\n   * Handles element's layer frame update.\r\n   * Checks layer in point and out point\r\n   *\r\n   */\n\n  function FrameElement() {}\n\n  FrameElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       */\n    initFrame: function () {\n      // set to true when inpoint is rendered\n      (this || _global)._isFirstFrame = false; // list of animated properties\n\n      (this || _global).dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n      (this || _global)._mdf = false;\n    },\n\n    /**\r\n       * @function\r\n       * Calculates all dynamic values\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       * @param {boolean} isVisible\r\n       * if layers is currently in range\r\n       *\r\n       */\n    prepareProperties: function (num, isVisible) {\n      var i;\n      var len = (this || _global).dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (isVisible || (this || _global)._isParent && (this || _global).dynamicProperties[i].propType === \"transform\") {\n          (this || _global).dynamicProperties[i].getValue();\n\n          if ((this || _global).dynamicProperties[i]._mdf) {\n            (this || _global).globalData._mdf = true;\n            (this || _global)._mdf = true;\n          }\n        }\n      }\n    },\n    addDynamicProperty: function (prop) {\n      if ((this || _global).dynamicProperties.indexOf(prop) === -1) {\n        (this || _global).dynamicProperties.push(prop);\n      }\n    }\n  };\n  /* global TransformPropertyFactory, Matrix */\n\n  function TransformElement() {}\n\n  TransformElement.prototype = {\n    initTransform: function () {\n      (this || _global).finalTransform = {\n        mProp: (this || _global).data.ks ? TransformPropertyFactory.getTransformProperty(this || _global, (this || _global).data.ks, this || _global) : {\n          o: 0\n        },\n        _matMdf: false,\n        _opMdf: false,\n        mat: new Matrix()\n      };\n\n      if ((this || _global).data.ao) {\n        (this || _global).finalTransform.mProp.autoOriented = true;\n      } // TODO: check TYPE 11: Guided elements\n\n\n      if ((this || _global).data.ty !== 11) {// this.createElements();\n      }\n    },\n    renderTransform: function () {\n      (this || _global).finalTransform._opMdf = (this || _global).finalTransform.mProp.o._mdf || (this || _global)._isFirstFrame;\n      (this || _global).finalTransform._matMdf = (this || _global).finalTransform.mProp._mdf || (this || _global)._isFirstFrame;\n\n      if ((this || _global).hierarchy) {\n        var mat;\n        var finalMat = (this || _global).finalTransform.mat;\n        var i = 0;\n        var len = (this || _global).hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n        if (!(this || _global).finalTransform._matMdf) {\n          while (i < len) {\n            if ((this || _global).hierarchy[i].finalTransform.mProp._mdf) {\n              (this || _global).finalTransform._matMdf = true;\n              break;\n            }\n\n            i += 1;\n          }\n        }\n\n        if ((this || _global).finalTransform._matMdf) {\n          mat = (this || _global).finalTransform.mProp.v.props;\n          finalMat.cloneFromProps(mat);\n\n          for (i = 0; i < len; i += 1) {\n            mat = (this || _global).hierarchy[i].finalTransform.mProp.v.props;\n            finalMat.transform(mat[0], mat[1], mat[2], mat[3], mat[4], mat[5], mat[6], mat[7], mat[8], mat[9], mat[10], mat[11], mat[12], mat[13], mat[14], mat[15]);\n          }\n        }\n      }\n    },\n    globalToLocal: function (pt) {\n      var transforms = [];\n      transforms.push((this || _global).finalTransform);\n      var flag = true;\n      var comp = (this || _global).comp;\n\n      while (flag) {\n        if (comp.finalTransform) {\n          if (comp.data.hasMask) {\n            transforms.splice(0, 0, comp.finalTransform);\n          }\n\n          comp = comp.comp;\n        } else {\n          flag = false;\n        }\n      }\n\n      var i;\n      var len = transforms.length;\n      var ptNew;\n\n      for (i = 0; i < len; i += 1) {\n        ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n        pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n      }\n\n      return pt;\n    },\n    mHelper: new Matrix()\n  };\n\n  function RenderableElement() {}\n\n  RenderableElement.prototype = {\n    initRenderable: function () {\n      // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n      (this || _global).isInRange = false; // layer's display state\n\n      (this || _global).hidden = false; // If layer's transparency equals 0, it can be hidden\n\n      (this || _global).isTransparent = false; // list of animated components\n\n      (this || _global).renderableComponents = [];\n    },\n    addRenderableComponent: function (component) {\n      if ((this || _global).renderableComponents.indexOf(component) === -1) {\n        (this || _global).renderableComponents.push(component);\n      }\n    },\n    removeRenderableComponent: function (component) {\n      if ((this || _global).renderableComponents.indexOf(component) !== -1) {\n        (this || _global).renderableComponents.splice((this || _global).renderableComponents.indexOf(component), 1);\n      }\n    },\n    prepareRenderableFrame: function (num) {\n      this.checkLayerLimits(num);\n    },\n    checkTransparency: function () {\n      if ((this || _global).finalTransform.mProp.o.v <= 0) {\n        if (!(this || _global).isTransparent && (this || _global).globalData.renderConfig.hideOnTransparent) {\n          (this || _global).isTransparent = true;\n          this.hide();\n        }\n      } else if ((this || _global).isTransparent) {\n        (this || _global).isTransparent = false;\n        this.show();\n      }\n    },\n\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       *\r\n       */\n    checkLayerLimits: function (num) {\n      if ((this || _global).data.ip - (this || _global).data.st <= num && (this || _global).data.op - (this || _global).data.st > num) {\n        if ((this || _global).isInRange !== true) {\n          (this || _global).globalData._mdf = true;\n          (this || _global)._mdf = true;\n          (this || _global).isInRange = true;\n          this.show();\n        }\n      } else if ((this || _global).isInRange !== false) {\n        (this || _global).globalData._mdf = true;\n        (this || _global).isInRange = false;\n        this.hide();\n      }\n    },\n    renderRenderable: function () {\n      var i;\n      var len = (this || _global).renderableComponents.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).renderableComponents[i].renderFrame((this || _global)._isFirstFrame);\n      }\n      /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n          this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n    },\n    sourceRectAtTime: function () {\n      return {\n        top: 0,\n        left: 0,\n        width: 100,\n        height: 100\n      };\n    },\n    getLayerSize: function () {\n      if ((this || _global).data.ty === 5) {\n        return {\n          w: (this || _global).data.textData.width,\n          h: (this || _global).data.textData.height\n        };\n      }\n\n      return {\n        w: (this || _global).data.width,\n        h: (this || _global).data.height\n      };\n    }\n  };\n  /* global extendPrototype, RenderableElement, createProxyFunction */\n\n  function RenderableDOMElement() {}\n\n  (function () {\n    var _prototype = {\n      initElement: function (data, globalData, comp) {\n        this.initFrame();\n        this.initBaseData(data, globalData, comp);\n        this.initTransform(data, globalData, comp);\n        this.initHierarchy();\n        this.initRenderable();\n        this.initRendererElement();\n        this.createContainerElements();\n        this.createRenderableComponents();\n        this.createContent();\n        this.hide();\n      },\n      hide: function () {\n        if (!(this || _global).hidden && (!(this || _global).isInRange || (this || _global).isTransparent)) {\n          var elem = (this || _global).baseElement || (this || _global).layerElement;\n          elem.style.display = \"none\";\n          (this || _global).hidden = true;\n        }\n      },\n      show: function () {\n        if ((this || _global).isInRange && !(this || _global).isTransparent) {\n          if (!(this || _global).data.hd) {\n            var elem = (this || _global).baseElement || (this || _global).layerElement;\n            elem.style.display = \"block\";\n          }\n\n          (this || _global).hidden = false;\n          (this || _global)._isFirstFrame = true;\n        }\n      },\n      renderFrame: function () {\n        // If it is exported as hidden (data.hd === true) no need to render\n        // If it is not visible no need to render\n        if ((this || _global).data.hd || (this || _global).hidden) {\n          return;\n        }\n\n        this.renderTransform();\n        this.renderRenderable();\n        this.renderElement();\n        this.renderInnerContent();\n\n        if ((this || _global)._isFirstFrame) {\n          (this || _global)._isFirstFrame = false;\n        }\n      },\n      renderInnerContent: function () {},\n      prepareFrame: function (num) {\n        (this || _global)._mdf = false;\n        this.prepareRenderableFrame(num);\n        this.prepareProperties(num, (this || _global).isInRange);\n        this.checkTransparency();\n      },\n      destroy: function () {\n        (this || _global).innerElem = null;\n        this.destroyBaseElement();\n      }\n    };\n    extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n  })();\n  /* exported ProcessedElement */\n\n\n  function ProcessedElement(element, position) {\n    (this || _global).elem = element;\n    (this || _global).pos = position;\n  }\n  /* global createNS */\n\n\n  function SVGStyleData(data, level) {\n    (this || _global).data = data;\n    (this || _global).type = data.ty;\n    (this || _global).d = \"\";\n    (this || _global).lvl = level;\n    (this || _global)._mdf = false;\n    (this || _global).closed = data.hd === true;\n    (this || _global).pElem = createNS(\"path\");\n    (this || _global).msElem = null;\n  }\n\n  SVGStyleData.prototype.reset = function () {\n    (this || _global).d = \"\";\n    (this || _global)._mdf = false;\n  };\n\n  function SVGShapeData(transformers, level, shape) {\n    (this || _global).caches = [];\n    (this || _global).styles = [];\n    (this || _global).transformers = transformers;\n    (this || _global).lStr = \"\";\n    (this || _global).sh = shape;\n    (this || _global).lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n    // For now, since shapes add up with other shapes. They have to be calculated every time.\n    // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n    (this || _global)._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n    var i = 0;\n    var len = transformers.length;\n\n    while (i < len) {\n      if (transformers[i].mProps.dynamicProperties.length) {\n        (this || _global)._isAnimated = true;\n        break;\n      }\n\n      i += 1;\n    }\n  }\n\n  SVGShapeData.prototype.setAsAnimated = function () {\n    (this || _global)._isAnimated = true;\n  };\n  /* exported SVGTransformData */\n\n\n  function SVGTransformData(mProps, op, container) {\n    (this || _global).transform = {\n      mProps: mProps,\n      op: op,\n      container: container\n    };\n    (this || _global).elements = [];\n    (this || _global)._isAnimated = (this || _global).transform.mProps.dynamicProperties.length || (this || _global).transform.op.effectsSequence.length;\n  }\n  /* global DashProperty, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n\n  function SVGStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).w = PropertyFactory.getProp(elem, data.w, 0, null, this || _global);\n    (this || _global).d = new DashProperty(elem, data.d || {}, \"svg\", this || _global);\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 1, 255, this || _global);\n    (this || _global).style = styleOb;\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n  /* global PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  function SVGFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 1, 255, this || _global);\n    (this || _global).style = styleOb;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n  /* global PropertyFactory, degToRads, GradientProperty, createElementID, createNS, locationHref,\r\n  extendPrototype, DynamicPropertyContainer */\n\n  function SVGGradientFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    this.initGradientData(elem, data, styleOb);\n  }\n\n  SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, null, this || _global);\n    (this || _global).e = PropertyFactory.getProp(elem, data.e, 1, null, this || _global);\n    (this || _global).h = PropertyFactory.getProp(elem, data.h || {\n      k: 0\n    }, 0, 0.01, this || _global);\n    (this || _global).a = PropertyFactory.getProp(elem, data.a || {\n      k: 0\n    }, 0, degToRads, this || _global);\n    (this || _global).g = new GradientProperty(elem, data.g, this || _global);\n    (this || _global).style = styleOb;\n    (this || _global).stops = [];\n    this.setGradientData(styleOb.pElem, data);\n    this.setGradientOpacity(data, styleOb);\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n    var gradientId = createElementID();\n    var gfill = createNS(data.t === 1 ? \"linearGradient\" : \"radialGradient\");\n    gfill.setAttribute(\"id\", gradientId);\n    gfill.setAttribute(\"spreadMethod\", \"pad\");\n    gfill.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n    var stops = [];\n    var stop;\n    var j;\n    var jLen;\n    jLen = data.g.p * 4;\n\n    for (j = 0; j < jLen; j += 4) {\n      stop = createNS(\"stop\");\n      gfill.appendChild(stop);\n      stops.push(stop);\n    }\n\n    pathElement.setAttribute(data.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + gradientId + \")\");\n    (this || _global).gf = gfill;\n    (this || _global).cst = stops;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n    if ((this || _global).g._hasOpacity && !(this || _global).g._collapsable) {\n      var stop;\n      var j;\n      var jLen;\n      var mask = createNS(\"mask\");\n      var maskElement = createNS(\"path\");\n      mask.appendChild(maskElement);\n      var opacityId = createElementID();\n      var maskId = createElementID();\n      mask.setAttribute(\"id\", maskId);\n      var opFill = createNS(data.t === 1 ? \"linearGradient\" : \"radialGradient\");\n      opFill.setAttribute(\"id\", opacityId);\n      opFill.setAttribute(\"spreadMethod\", \"pad\");\n      opFill.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n      jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n      var stops = (this || _global).stops;\n\n      for (j = data.g.p * 4; j < jLen; j += 2) {\n        stop = createNS(\"stop\");\n        stop.setAttribute(\"stop-color\", \"rgb(255,255,255)\");\n        opFill.appendChild(stop);\n        stops.push(stop);\n      }\n\n      maskElement.setAttribute(data.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + opacityId + \")\");\n      (this || _global).of = opFill;\n      (this || _global).ms = mask;\n      (this || _global).ost = stops;\n      (this || _global).maskId = maskId;\n      styleOb.msElem = maskElement;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n  /* global PropertyFactory, DashProperty, extendPrototype, SVGGradientFillStyleData, DynamicPropertyContainer */\n\n  function SVGGradientStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).w = PropertyFactory.getProp(elem, data.w, 0, null, this || _global);\n    (this || _global).d = new DashProperty(elem, data.d || {}, \"svg\", this || _global);\n    this.initGradientData(elem, data, styleOb);\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  }\n\n  extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n  /* global createNS */\n\n  /* exported ShapeGroupData */\n\n  function ShapeGroupData() {\n    (this || _global).it = [];\n    (this || _global).prevViewData = [];\n    (this || _global).gr = createNS(\"g\");\n  }\n  /* global Matrix, buildShapeString, bmFloor */\n\n  /* exported SVGElementsRenderer */\n\n\n  var SVGElementsRenderer = function () {\n    var _identityMatrix = new Matrix();\n\n    var _matrixHelper = new Matrix();\n\n    var ob = {\n      createRenderFunction: createRenderFunction\n    };\n\n    function createRenderFunction(data) {\n      switch (data.ty) {\n        case \"fl\":\n          return renderFill;\n\n        case \"gf\":\n          return renderGradient;\n\n        case \"gs\":\n          return renderGradientStroke;\n\n        case \"st\":\n          return renderStroke;\n\n        case \"sh\":\n        case \"el\":\n        case \"rc\":\n        case \"sr\":\n          return renderPath;\n\n        case \"tr\":\n          return renderContentTransform;\n\n        default:\n          return null;\n      }\n    }\n\n    function renderContentTransform(styleData, itemData, isFirstFrame) {\n      if (isFirstFrame || itemData.transform.op._mdf) {\n        itemData.transform.container.setAttribute(\"opacity\", itemData.transform.op.v);\n      }\n\n      if (isFirstFrame || itemData.transform.mProps._mdf) {\n        itemData.transform.container.setAttribute(\"transform\", itemData.transform.mProps.v.to2dCSS());\n      }\n    }\n\n    function renderPath(styleData, itemData, isFirstFrame) {\n      var j;\n      var jLen;\n      var pathStringTransformed;\n      var redraw;\n      var pathNodes;\n      var l;\n      var lLen = itemData.styles.length;\n      var lvl = itemData.lvl;\n      var paths;\n      var mat;\n      var props;\n      var iterations;\n      var k;\n\n      for (l = 0; l < lLen; l += 1) {\n        redraw = itemData.sh._mdf || isFirstFrame;\n\n        if (itemData.styles[l].lvl < lvl) {\n          mat = _matrixHelper.reset();\n          iterations = lvl - itemData.styles[l].lvl;\n          k = itemData.transformers.length - 1;\n\n          while (!redraw && iterations > 0) {\n            redraw = itemData.transformers[k].mProps._mdf || redraw;\n            iterations -= 1;\n            k -= 1;\n          }\n\n          if (redraw) {\n            iterations = lvl - itemData.styles[l].lvl;\n            k = itemData.transformers.length - 1;\n\n            while (iterations > 0) {\n              props = itemData.transformers[k].mProps.v.props;\n              mat.transform(props[0], props[1], props[2], props[3], props[4], props[5], props[6], props[7], props[8], props[9], props[10], props[11], props[12], props[13], props[14], props[15]);\n              iterations -= 1;\n              k -= 1;\n            }\n          }\n        } else {\n          mat = _identityMatrix;\n        }\n\n        paths = itemData.sh.paths;\n        jLen = paths._length;\n\n        if (redraw) {\n          pathStringTransformed = \"\";\n\n          for (j = 0; j < jLen; j += 1) {\n            pathNodes = paths.shapes[j];\n\n            if (pathNodes && pathNodes._length) {\n              pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n            }\n          }\n\n          itemData.caches[l] = pathStringTransformed;\n        } else {\n          pathStringTransformed = itemData.caches[l];\n        }\n\n        itemData.styles[l].d += styleData.hd === true ? \"\" : pathStringTransformed;\n        itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n      }\n    }\n\n    function renderFill(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n\n      if (itemData.c._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"fill\", \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\");\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"fill-opacity\", itemData.o.v);\n      }\n    }\n\n    function renderGradientStroke(styleData, itemData, isFirstFrame) {\n      renderGradient(styleData, itemData, isFirstFrame);\n      renderStroke(styleData, itemData, isFirstFrame);\n    }\n\n    function renderGradient(styleData, itemData, isFirstFrame) {\n      var gfill = itemData.gf;\n      var hasOpacity = itemData.g._hasOpacity;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (itemData.o._mdf || isFirstFrame) {\n        var attr = styleData.ty === \"gf\" ? \"fill-opacity\" : \"stroke-opacity\";\n        itemData.style.pElem.setAttribute(attr, itemData.o.v);\n      }\n\n      if (itemData.s._mdf || isFirstFrame) {\n        var attr1 = styleData.t === 1 ? \"x1\" : \"cx\";\n        var attr2 = attr1 === \"x1\" ? \"y1\" : \"cy\";\n        gfill.setAttribute(attr1, pt1[0]);\n        gfill.setAttribute(attr2, pt1[1]);\n\n        if (hasOpacity && !itemData.g._collapsable) {\n          itemData.of.setAttribute(attr1, pt1[0]);\n          itemData.of.setAttribute(attr2, pt1[1]);\n        }\n      }\n\n      var stops;\n      var i;\n      var len;\n      var stop;\n\n      if (itemData.g._cmdf || isFirstFrame) {\n        stops = itemData.cst;\n        var cValues = itemData.g.c;\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n          stop.setAttribute(\"offset\", cValues[i * 4] + \"%\");\n          stop.setAttribute(\"stop-color\", \"rgb(\" + cValues[i * 4 + 1] + \",\" + cValues[i * 4 + 2] + \",\" + cValues[i * 4 + 3] + \")\");\n        }\n      }\n\n      if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n        var oValues = itemData.g.o;\n\n        if (itemData.g._collapsable) {\n          stops = itemData.cst;\n        } else {\n          stops = itemData.ost;\n        }\n\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n\n          if (!itemData.g._collapsable) {\n            stop.setAttribute(\"offset\", oValues[i * 2] + \"%\");\n          }\n\n          stop.setAttribute(\"stop-opacity\", oValues[i * 2 + 1]);\n        }\n      }\n\n      if (styleData.t === 1) {\n        if (itemData.e._mdf || isFirstFrame) {\n          gfill.setAttribute(\"x2\", pt2[0]);\n          gfill.setAttribute(\"y2\", pt2[1]);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"x2\", pt2[0]);\n            itemData.of.setAttribute(\"y2\", pt2[1]);\n          }\n        }\n      } else {\n        var rad;\n\n        if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n          rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          gfill.setAttribute(\"r\", rad);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"r\", rad);\n          }\n        }\n\n        if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n          if (!rad) {\n            rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          }\n\n          var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n          var percent = itemData.h.v;\n\n          if (percent >= 1) {\n            percent = 0.99;\n          } else if (percent <= -1) {\n            percent = -0.99;\n          }\n\n          var dist = rad * percent;\n          var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n          var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n          gfill.setAttribute(\"fx\", x);\n          gfill.setAttribute(\"fy\", y);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"fx\", x);\n            itemData.of.setAttribute(\"fy\", y);\n          }\n        } // gfill.setAttribute('fy','200');\n\n      }\n    }\n\n    function renderStroke(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n      var d = itemData.d;\n\n      if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n        styleElem.pElem.setAttribute(\"stroke-dasharray\", d.dashStr);\n        styleElem.pElem.setAttribute(\"stroke-dashoffset\", d.dashoffset[0]);\n      }\n\n      if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n        styleElem.pElem.setAttribute(\"stroke\", \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\");\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"stroke-opacity\", itemData.o.v);\n      }\n\n      if (itemData.w._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"stroke-width\", itemData.w.v);\n\n        if (styleElem.msElem) {\n          styleElem.msElem.setAttribute(\"stroke-width\", itemData.w.v);\n        }\n      }\n    }\n\n    return ob;\n  }();\n  /* global Matrix */\n\n\n  function ShapeTransformManager() {\n    (this || _global).sequences = {};\n    (this || _global).sequenceList = [];\n    (this || _global).transform_key_count = 0;\n  }\n\n  ShapeTransformManager.prototype = {\n    addTransformSequence: function (transforms) {\n      var i;\n      var len = transforms.length;\n      var key = \"_\";\n\n      for (i = 0; i < len; i += 1) {\n        key += transforms[i].transform.key + \"_\";\n      }\n\n      var sequence = (this || _global).sequences[key];\n\n      if (!sequence) {\n        sequence = {\n          transforms: [].concat(transforms),\n          finalTransform: new Matrix(),\n          _mdf: false\n        };\n        (this || _global).sequences[key] = sequence;\n\n        (this || _global).sequenceList.push(sequence);\n      }\n\n      return sequence;\n    },\n    processSequence: function (sequence, isFirstFrame) {\n      var i = 0;\n      var len = sequence.transforms.length;\n      var _mdf = isFirstFrame;\n\n      while (i < len && !isFirstFrame) {\n        if (sequence.transforms[i].transform.mProps._mdf) {\n          _mdf = true;\n          break;\n        }\n\n        i += 1;\n      }\n\n      if (_mdf) {\n        var props;\n        sequence.finalTransform.reset();\n\n        for (i = len - 1; i >= 0; i -= 1) {\n          props = sequence.transforms[i].transform.mProps.v.props;\n          sequence.finalTransform.transform(props[0], props[1], props[2], props[3], props[4], props[5], props[6], props[7], props[8], props[9], props[10], props[11], props[12], props[13], props[14], props[15]);\n        }\n      }\n\n      sequence._mdf = _mdf;\n    },\n    processSequences: function (isFirstFrame) {\n      var i;\n      var len = (this || _global).sequenceList.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.processSequence((this || _global).sequenceList[i], isFirstFrame);\n      }\n    },\n    getNewKey: function () {\n      (this || _global).transform_key_count += 1;\n      return \"_\" + (this || _global).transform_key_count;\n    }\n  };\n  /* global ShapePropertyFactory, SVGShapeData */\n\n  function CVShapeData(element, data, styles, transformsManager) {\n    (this || _global).styledShapes = [];\n    (this || _global).tr = [0, 0, 0, 0, 0, 0];\n    var ty = 4;\n\n    if (data.ty === \"rc\") {\n      ty = 5;\n    } else if (data.ty === \"el\") {\n      ty = 6;\n    } else if (data.ty === \"sr\") {\n      ty = 7;\n    }\n\n    (this || _global).sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n    var i;\n    var len = styles.length;\n    var styledShape;\n\n    for (i = 0; i < len; i += 1) {\n      if (!styles[i].closed) {\n        styledShape = {\n          transforms: transformsManager.addTransformSequence(styles[i].transforms),\n          trNodes: []\n        };\n\n        (this || _global).styledShapes.push(styledShape);\n\n        styles[i].elements.push(styledShape);\n      }\n    }\n  }\n\n  CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n  /* global LayerExpressionInterface, EffectsExpressionInterface, CompExpressionInterface, ShapeExpressionInterface,\r\n  TextExpressionInterface, getBlendMode,createElementID, EffectsManager */\n\n  function BaseElement() {}\n\n  BaseElement.prototype = {\n    checkMasks: function () {\n      if (!(this || _global).data.hasMask) {\n        return false;\n      }\n\n      var i = 0;\n      var len = (this || _global).data.masksProperties.length;\n\n      while (i < len) {\n        if ((this || _global).data.masksProperties[i].mode !== \"n\" && (this || _global).data.masksProperties[i].cl !== false) {\n          return true;\n        }\n\n        i += 1;\n      }\n\n      return false;\n    },\n    initExpressions: function () {\n      (this || _global).layerInterface = LayerExpressionInterface(this || _global);\n\n      if ((this || _global).data.hasMask && (this || _global).maskManager) {\n        (this || _global).layerInterface.registerMaskInterface((this || _global).maskManager);\n      }\n\n      var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this || _global, (this || _global).layerInterface);\n\n      (this || _global).layerInterface.registerEffectsInterface(effectsInterface);\n\n      if ((this || _global).data.ty === 0 || (this || _global).data.xt) {\n        (this || _global).compInterface = CompExpressionInterface(this || _global);\n      } else if ((this || _global).data.ty === 4) {\n        (this || _global).layerInterface.shapeInterface = ShapeExpressionInterface((this || _global).shapesData, (this || _global).itemsData, (this || _global).layerInterface);\n        (this || _global).layerInterface.content = (this || _global).layerInterface.shapeInterface;\n      } else if ((this || _global).data.ty === 5) {\n        (this || _global).layerInterface.textInterface = TextExpressionInterface(this || _global);\n        (this || _global).layerInterface.text = (this || _global).layerInterface.textInterface;\n      }\n    },\n    setBlendMode: function () {\n      var blendModeValue = getBlendMode((this || _global).data.bm);\n      var elem = (this || _global).baseElement || (this || _global).layerElement;\n      elem.style[\"mix-blend-mode\"] = blendModeValue;\n    },\n    initBaseData: function (data, globalData, comp) {\n      (this || _global).globalData = globalData;\n      (this || _global).comp = comp;\n      (this || _global).data = data;\n      (this || _global).layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n      if (!(this || _global).data.sr) {\n        (this || _global).data.sr = 1;\n      } // effects manager\n\n\n      (this || _global).effectsManager = new EffectsManager((this || _global).data, this || _global, (this || _global).dynamicProperties);\n    },\n    getType: function () {\n      return (this || _global).type;\n    },\n    sourceRectAtTime: function () {}\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement */\n\n  function NullElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initFrame();\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n  }\n\n  NullElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  NullElement.prototype.renderFrame = function () {};\n\n  NullElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  NullElement.prototype.destroy = function () {};\n\n  NullElement.prototype.sourceRectAtTime = function () {};\n\n  NullElement.prototype.hide = function () {};\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n  /* global filtersFactory, featureSupport, filtersFactory, createElementID, createNS, MaskElement, SVGEffects, locationHref */\n\n  function SVGBaseElement() {}\n\n  SVGBaseElement.prototype = {\n    initRendererElement: function () {\n      (this || _global).layerElement = createNS(\"g\");\n    },\n    createContainerElements: function () {\n      (this || _global).matteElement = createNS(\"g\");\n      (this || _global).transformedElement = (this || _global).layerElement;\n      (this || _global).maskedElement = (this || _global).layerElement;\n      (this || _global)._sizeChanged = false;\n      var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n      var filId;\n      var fil;\n      var gg;\n\n      if ((this || _global).data.td) {\n        if ((this || _global).data.td == 3 || (this || _global).data.td == 1) {\n          // eslint-disable-line eqeqeq\n          var masker = createNS(\"mask\");\n          masker.setAttribute(\"id\", (this || _global).layerId);\n          masker.setAttribute(\"mask-type\", (this || _global).data.td == 3 ? \"luminance\" : \"alpha\"); // eslint-disable-line eqeqeq\n\n          masker.appendChild((this || _global).layerElement);\n          layerElementParent = masker;\n\n          (this || _global).globalData.defs.appendChild(masker); // This is only for IE and Edge when mask if of type alpha\n\n\n          if (!featureSupport.maskType && (this || _global).data.td == 1) {\n            // eslint-disable-line eqeqeq\n            masker.setAttribute(\"mask-type\", \"luminance\");\n            filId = createElementID();\n            fil = filtersFactory.createFilter(filId);\n\n            (this || _global).globalData.defs.appendChild(fil);\n\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS(\"g\");\n            gg.appendChild((this || _global).layerElement);\n            layerElementParent = gg;\n            masker.appendChild(gg);\n            gg.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n          }\n        } else if ((this || _global).data.td == 2) {\n          // eslint-disable-line eqeqeq\n          var maskGroup = createNS(\"mask\");\n          maskGroup.setAttribute(\"id\", (this || _global).layerId);\n          maskGroup.setAttribute(\"mask-type\", \"alpha\");\n          var maskGrouper = createNS(\"g\");\n          maskGroup.appendChild(maskGrouper);\n          filId = createElementID();\n          fil = filtersFactory.createFilter(filId); /// /\n          // This solution doesn't work on Android when meta tag with viewport attribute is set\n\n          /* var feColorMatrix = createNS('feColorMatrix');\r\n                  feColorMatrix.setAttribute('type', 'matrix');\r\n                  feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\r\n                  feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 -1 1');\r\n                  fil.appendChild(feColorMatrix); */\n          /// /\n\n          var feCTr = createNS(\"feComponentTransfer\");\n          feCTr.setAttribute(\"in\", \"SourceGraphic\");\n          fil.appendChild(feCTr);\n          var feFunc = createNS(\"feFuncA\");\n          feFunc.setAttribute(\"type\", \"table\");\n          feFunc.setAttribute(\"tableValues\", \"1.0 0.0\");\n          feCTr.appendChild(feFunc); /// /\n\n          (this || _global).globalData.defs.appendChild(fil);\n\n          var alphaRect = createNS(\"rect\");\n          alphaRect.setAttribute(\"width\", (this || _global).comp.data.w);\n          alphaRect.setAttribute(\"height\", (this || _global).comp.data.h);\n          alphaRect.setAttribute(\"x\", \"0\");\n          alphaRect.setAttribute(\"y\", \"0\");\n          alphaRect.setAttribute(\"fill\", \"#ffffff\");\n          alphaRect.setAttribute(\"opacity\", \"0\");\n          maskGrouper.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n          maskGrouper.appendChild(alphaRect);\n          maskGrouper.appendChild((this || _global).layerElement);\n          layerElementParent = maskGrouper;\n\n          if (!featureSupport.maskType) {\n            maskGroup.setAttribute(\"mask-type\", \"luminance\");\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS(\"g\");\n            maskGrouper.appendChild(alphaRect);\n            gg.appendChild((this || _global).layerElement);\n            layerElementParent = gg;\n            maskGrouper.appendChild(gg);\n          }\n\n          (this || _global).globalData.defs.appendChild(maskGroup);\n        }\n      } else if ((this || _global).data.tt) {\n        (this || _global).matteElement.appendChild((this || _global).layerElement);\n\n        layerElementParent = (this || _global).matteElement;\n        (this || _global).baseElement = (this || _global).matteElement;\n      } else {\n        (this || _global).baseElement = (this || _global).layerElement;\n      }\n\n      if ((this || _global).data.ln) {\n        (this || _global).layerElement.setAttribute(\"id\", (this || _global).data.ln);\n      }\n\n      if ((this || _global).data.cl) {\n        (this || _global).layerElement.setAttribute(\"class\", (this || _global).data.cl);\n      } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n      if ((this || _global).data.ty === 0 && !(this || _global).data.hd) {\n        var cp = createNS(\"clipPath\");\n        var pt = createNS(\"path\");\n        pt.setAttribute(\"d\", \"M0,0 L\" + (this || _global).data.w + \",0 L\" + (this || _global).data.w + \",\" + (this || _global).data.h + \" L0,\" + (this || _global).data.h + \"z\");\n        var clipId = createElementID();\n        cp.setAttribute(\"id\", clipId);\n        cp.appendChild(pt);\n\n        (this || _global).globalData.defs.appendChild(cp);\n\n        if (this.checkMasks()) {\n          var cpGroup = createNS(\"g\");\n          cpGroup.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + clipId + \")\");\n          cpGroup.appendChild((this || _global).layerElement);\n          (this || _global).transformedElement = cpGroup;\n\n          if (layerElementParent) {\n            layerElementParent.appendChild((this || _global).transformedElement);\n          } else {\n            (this || _global).baseElement = (this || _global).transformedElement;\n          }\n        } else {\n          (this || _global).layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + clipId + \")\");\n        }\n      }\n\n      if ((this || _global).data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function () {\n      if ((this || _global).finalTransform._matMdf) {\n        (this || _global).transformedElement.setAttribute(\"transform\", (this || _global).finalTransform.mat.to2dCSS());\n      }\n\n      if ((this || _global).finalTransform._opMdf) {\n        (this || _global).transformedElement.setAttribute(\"opacity\", (this || _global).finalTransform.mProp.o.v);\n      }\n    },\n    destroyBaseElement: function () {\n      (this || _global).layerElement = null;\n      (this || _global).matteElement = null;\n\n      (this || _global).maskManager.destroy();\n    },\n    getBaseElement: function () {\n      if ((this || _global).data.hd) {\n        return null;\n      }\n\n      return (this || _global).baseElement;\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new MaskElement((this || _global).data, this || _global, (this || _global).globalData);\n      (this || _global).renderableEffectsManager = new SVGEffects(this || _global);\n    },\n    setMatte: function (id) {\n      if (!(this || _global).matteElement) {\n        return;\n      }\n\n      (this || _global).matteElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + id + \")\");\n    }\n  };\n  /* global ProcessedElement */\n\n  function IShapeElement() {}\n\n  IShapeElement.prototype = {\n    addShapeToModifiers: function (data) {\n      var i;\n      var len = (this || _global).shapeModifiers.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapeModifiers[i].addShape(data);\n      }\n    },\n    isShapeInAnimatedModifiers: function (data) {\n      var i = 0;\n      var len = (this || _global).shapeModifiers.length;\n\n      while (i < len) {\n        if ((this || _global).shapeModifiers[i].isAnimatedWithShape(data)) {\n          return true;\n        }\n      }\n\n      return false;\n    },\n    renderModifiers: function () {\n      if (!(this || _global).shapeModifiers.length) {\n        return;\n      }\n\n      var i;\n      var len = (this || _global).shapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapes[i].sh.reset();\n      }\n\n      len = (this || _global).shapeModifiers.length;\n      var shouldBreakProcess;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shouldBreakProcess = (this || _global).shapeModifiers[i].processShapes((this || _global)._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n        // TODO: find a better solution for this\n\n        if (shouldBreakProcess) {\n          break;\n        }\n      }\n    },\n    lcEnum: {\n      1: \"butt\",\n      2: \"round\",\n      3: \"square\"\n    },\n    ljEnum: {\n      1: \"miter\",\n      2: \"round\",\n      3: \"bevel\"\n    },\n    searchProcessedElement: function (elem) {\n      var elements = (this || _global).processedElements;\n      var i = 0;\n      var len = elements.length;\n\n      while (i < len) {\n        if (elements[i].elem === elem) {\n          return elements[i].pos;\n        }\n\n        i += 1;\n      }\n\n      return 0;\n    },\n    addProcessedElement: function (elem, pos) {\n      var elements = (this || _global).processedElements;\n      var i = elements.length;\n\n      while (i) {\n        i -= 1;\n\n        if (elements[i].elem === elem) {\n          elements[i].pos = pos;\n          return;\n        }\n      }\n\n      elements.push(new ProcessedElement(elem, pos));\n    },\n    prepareFrame: function (num) {\n      this.prepareRenderableFrame(num);\n      this.prepareProperties(num, (this || _global).isInRange);\n    }\n  };\n  /* global TextProperty, TextAnimatorProperty, buildShapeString, LetterProps */\n\n  function ITextElement() {}\n\n  ITextElement.prototype.initElement = function (data, globalData, comp) {\n    (this || _global).lettersChangedFlag = true;\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    (this || _global).textProperty = new TextProperty(this || _global, data.t, (this || _global).dynamicProperties);\n    (this || _global).textAnimator = new TextAnimatorProperty(data.t, (this || _global).renderType, this || _global);\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n    this.initRenderable();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n    this.createContent();\n    this.hide();\n\n    (this || _global).textAnimator.searchProperties((this || _global).dynamicProperties);\n  };\n\n  ITextElement.prototype.prepareFrame = function (num) {\n    (this || _global)._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, (this || _global).isInRange);\n\n    if ((this || _global).textProperty._mdf || (this || _global).textProperty._isFirstFrame) {\n      this.buildNewText();\n      (this || _global).textProperty._isFirstFrame = false;\n      (this || _global).textProperty._mdf = false;\n    }\n  };\n\n  ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n    var j;\n    var jLen = shapes.length;\n    var pathNodes;\n    var shapeStr = \"\";\n\n    for (j = 0; j < jLen; j += 1) {\n      pathNodes = shapes[j].ks.k;\n      shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n    }\n\n    return shapeStr;\n  };\n\n  ITextElement.prototype.updateDocumentData = function (newData, index) {\n    (this || _global).textProperty.updateDocumentData(newData, index);\n  };\n\n  ITextElement.prototype.canResizeFont = function (_canResize) {\n    (this || _global).textProperty.canResizeFont(_canResize);\n  };\n\n  ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n    (this || _global).textProperty.setMinimumFontSize(_fontSize);\n  };\n\n  ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n    if (documentData.ps) {\n      matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n    }\n\n    matrixHelper.translate(0, -documentData.ls, 0);\n\n    switch (documentData.j) {\n      case 1:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n        break;\n\n      case 2:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n        break;\n\n      default:\n        break;\n    }\n\n    matrixHelper.translate(xPos, yPos, 0);\n  };\n\n  ITextElement.prototype.buildColor = function (colorData) {\n    return \"rgb(\" + Math.round(colorData[0] * 255) + \",\" + Math.round(colorData[1] * 255) + \",\" + Math.round(colorData[2] * 255) + \")\";\n  };\n\n  ITextElement.prototype.emptyProp = new LetterProps();\n\n  ITextElement.prototype.destroy = function () {};\n  /* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement */\n\n\n  function ICompElement() {}\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n  ICompElement.prototype.initElement = function (data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initTransform(data, globalData, comp);\n    this.initRenderable();\n    this.initHierarchy();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n\n    if ((this || _global).data.xt || !globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n\n    this.hide();\n  };\n  /* ICompElement.prototype.hide = function(){\r\n      if(!this.hidden){\r\n          this.hideElement();\r\n          var i,len = this.elements.length;\r\n          for( i = 0; i < len; i+=1 ){\r\n              if(this.elements[i]){\r\n                  this.elements[i].hide();\r\n              }\r\n          }\r\n      }\r\n  }; */\n\n\n  ICompElement.prototype.prepareFrame = function (num) {\n    (this || _global)._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, (this || _global).isInRange);\n\n    if (!(this || _global).isInRange && !(this || _global).data.xt) {\n      return;\n    }\n\n    if (!(this || _global).tm._placeholder) {\n      var timeRemapped = (this || _global).tm.v;\n\n      if (timeRemapped === (this || _global).data.op) {\n        timeRemapped = (this || _global).data.op - 1;\n      }\n\n      (this || _global).renderedFrame = timeRemapped;\n    } else {\n      (this || _global).renderedFrame = num / (this || _global).data.sr;\n    }\n\n    var i;\n    var len = (this || _global).elements.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers((this || _global).renderedFrame);\n    } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame((this || _global).renderedFrame - (this || _global).layers[i].st);\n\n        if ((this || _global).elements[i]._mdf) {\n          (this || _global)._mdf = true;\n        }\n      }\n    }\n  };\n\n  ICompElement.prototype.renderInnerContent = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].renderFrame();\n      }\n    }\n  };\n\n  ICompElement.prototype.setElements = function (elems) {\n    (this || _global).elements = elems;\n  };\n\n  ICompElement.prototype.getElements = function () {\n    return (this || _global).elements;\n  };\n\n  ICompElement.prototype.destroyElements = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n  };\n\n  ICompElement.prototype.destroy = function () {\n    this.destroyElements();\n    this.destroyBaseElement();\n  };\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, createNS */\n\n\n  function IImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initElement(data, globalData, comp);\n    (this || _global).sourceRect = {\n      top: 0,\n      left: 0,\n      width: (this || _global).assetData.w,\n      height: (this || _global).assetData.h\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n  IImageElement.prototype.createContent = function () {\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    (this || _global).innerElem = createNS(\"image\");\n\n    (this || _global).innerElem.setAttribute(\"width\", (this || _global).assetData.w + \"px\");\n\n    (this || _global).innerElem.setAttribute(\"height\", (this || _global).assetData.h + \"px\");\n\n    (this || _global).innerElem.setAttribute(\"preserveAspectRatio\", (this || _global).assetData.pr || (this || _global).globalData.renderConfig.imagePreserveAspectRatio);\n\n    (this || _global).innerElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", assetPath);\n\n    (this || _global).layerElement.appendChild((this || _global).innerElem);\n  };\n\n  IImageElement.prototype.sourceRectAtTime = function () {\n    return (this || _global).sourceRect;\n  };\n  /* global extendPrototype, IImageElement, createNS */\n\n\n  function ISolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([IImageElement], ISolidElement);\n\n  ISolidElement.prototype.createContent = function () {\n    var rect = createNS(\"rect\"); /// /rect.style.width = this.data.sw;\n    /// /rect.style.height = this.data.sh;\n    /// /rect.style.fill = this.data.sc;\n\n    rect.setAttribute(\"width\", (this || _global).data.sw);\n    rect.setAttribute(\"height\", (this || _global).data.sh);\n    rect.setAttribute(\"fill\", (this || _global).data.sc);\n\n    (this || _global).layerElement.appendChild(rect);\n  };\n  /* global PropertyFactory, extendPrototype, RenderableElement, BaseElement, FrameElement */\n\n\n  function AudioElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initBaseData(data, globalData, comp);\n    (this || _global)._isPlaying = false;\n    (this || _global)._canPlay = false;\n\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    (this || _global).audio = (this || _global).globalData.audioController.createAudio(assetPath);\n    (this || _global)._currentTime = 0;\n\n    (this || _global).globalData.audioController.addAudio(this || _global);\n\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  AudioElement.prototype.prepareFrame = function (num) {\n    this.prepareRenderableFrame(num, true);\n    this.prepareProperties(num, true);\n\n    if (!(this || _global).tm._placeholder) {\n      var timeRemapped = (this || _global).tm.v;\n      (this || _global)._currentTime = timeRemapped;\n    } else {\n      (this || _global)._currentTime = num / (this || _global).data.sr;\n    }\n  };\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n  AudioElement.prototype.renderFrame = function () {\n    if ((this || _global).isInRange && (this || _global)._canPlay) {\n      if (!(this || _global)._isPlaying) {\n        (this || _global).audio.play();\n\n        (this || _global).audio.seek((this || _global)._currentTime / (this || _global).globalData.frameRate);\n\n        (this || _global)._isPlaying = true;\n      } else if (!(this || _global).audio.playing() || Math.abs((this || _global)._currentTime / (this || _global).globalData.frameRate - (this || _global).audio.seek()) > 0.1) {\n        (this || _global).audio.seek((this || _global)._currentTime / (this || _global).globalData.frameRate);\n      }\n    }\n  };\n\n  AudioElement.prototype.show = function () {// this.audio.play()\n  };\n\n  AudioElement.prototype.hide = function () {\n    (this || _global).audio.pause();\n\n    (this || _global)._isPlaying = false;\n  };\n\n  AudioElement.prototype.pause = function () {\n    (this || _global).audio.pause();\n\n    (this || _global)._isPlaying = false;\n    (this || _global)._canPlay = false;\n  };\n\n  AudioElement.prototype.resume = function () {\n    (this || _global)._canPlay = true;\n  };\n\n  AudioElement.prototype.setRate = function (rateValue) {\n    (this || _global).audio.rate(rateValue);\n  };\n\n  AudioElement.prototype.volume = function (volumeValue) {\n    (this || _global).audio.volume(volumeValue);\n  };\n\n  AudioElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  AudioElement.prototype.destroy = function () {};\n\n  AudioElement.prototype.sourceRectAtTime = function () {};\n\n  AudioElement.prototype.initExpressions = function () {};\n  /* global extendPrototype, RenderableElement, BaseElement, FrameElement, FootageInterface */\n\n\n  function FootageElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    (this || _global).footageData = globalData.imageLoader.getAsset((this || _global).assetData);\n    this.initBaseData(data, globalData, comp);\n  }\n\n  FootageElement.prototype.prepareFrame = function () {};\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n  FootageElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  FootageElement.prototype.renderFrame = function () {};\n\n  FootageElement.prototype.destroy = function () {};\n\n  FootageElement.prototype.initExpressions = function () {\n    (this || _global).layerInterface = FootageInterface(this || _global);\n  };\n\n  FootageElement.prototype.getFootageData = function () {\n    return (this || _global).footageData;\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, SVGRenderer, ICompElement, SVGBaseElement */\n\n\n  function SVGCompElement(data, globalData, comp) {\n    (this || _global).layers = data.layers;\n    (this || _global).supports3d = true;\n    (this || _global).completeLayers = false;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = (this || _global).layers ? createSizedArray((this || _global).layers.length) : []; // this.layerElement = createNS('g');\n\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement);\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, ITextElement, createSizedArray, createNS */\n\n  function SVGTextLottieElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).renderType = \"svg\";\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n  SVGTextLottieElement.prototype.createContent = function () {\n    if ((this || _global).data.singleShape && !(this || _global).globalData.fontManager.chars) {\n      (this || _global).textContainer = createNS(\"text\");\n    }\n  };\n\n  SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n    var i = 0;\n    var len = textArray.length;\n    var textContents = [];\n    var currentTextContent = \"\";\n\n    while (i < len) {\n      if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n        textContents.push(currentTextContent);\n        currentTextContent = \"\";\n      } else {\n        currentTextContent += textArray[i];\n      }\n\n      i += 1;\n    }\n\n    textContents.push(currentTextContent);\n    return textContents;\n  };\n\n  SVGTextLottieElement.prototype.buildNewText = function () {\n    var i;\n    var len;\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n    if (documentData.fc) {\n      (this || _global).layerElement.setAttribute(\"fill\", this.buildColor(documentData.fc));\n    } else {\n      (this || _global).layerElement.setAttribute(\"fill\", \"rgba(0,0,0,0)\");\n    }\n\n    if (documentData.sc) {\n      (this || _global).layerElement.setAttribute(\"stroke\", this.buildColor(documentData.sc));\n\n      (this || _global).layerElement.setAttribute(\"stroke-width\", documentData.sw);\n    }\n\n    (this || _global).layerElement.setAttribute(\"font-size\", documentData.finalSize);\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    if (fontData.fClass) {\n      (this || _global).layerElement.setAttribute(\"class\", fontData.fClass);\n    } else {\n      (this || _global).layerElement.setAttribute(\"font-family\", fontData.fFamily);\n\n      var fWeight = documentData.fWeight;\n      var fStyle = documentData.fStyle;\n\n      (this || _global).layerElement.setAttribute(\"font-style\", fStyle);\n\n      (this || _global).layerElement.setAttribute(\"font-weight\", fWeight);\n    }\n\n    (this || _global).layerElement.setAttribute(\"aria-label\", documentData.t);\n\n    var letters = documentData.l || [];\n    var usesGlyphs = !!(this || _global).globalData.fontManager.chars;\n    len = letters.length;\n    var tSpan;\n    var matrixHelper = (this || _global).mHelper;\n    var shapes;\n    var shapeStr = \"\";\n    var singleShape = (this || _global).data.singleShape;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n    if (singleShape && !usesGlyphs && !documentData.sz) {\n      var tElement = (this || _global).textContainer;\n      var justify = \"start\";\n\n      switch (documentData.j) {\n        case 1:\n          justify = \"end\";\n          break;\n\n        case 2:\n          justify = \"middle\";\n          break;\n\n        default:\n          justify = \"start\";\n          break;\n      }\n\n      tElement.setAttribute(\"text-anchor\", justify);\n      tElement.setAttribute(\"letter-spacing\", trackingOffset);\n      var textContent = this.buildTextContents(documentData.finalText);\n      len = textContent.length;\n      yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n      for (i = 0; i < len; i += 1) {\n        tSpan = (this || _global).textSpans[i] || createNS(\"tspan\");\n        tSpan.textContent = textContent[i];\n        tSpan.setAttribute(\"x\", 0);\n        tSpan.setAttribute(\"y\", yPos);\n        tSpan.style.display = \"inherit\";\n        tElement.appendChild(tSpan);\n        (this || _global).textSpans[i] = tSpan;\n        yPos += documentData.finalLineHeight;\n      }\n\n      (this || _global).layerElement.appendChild(tElement);\n    } else {\n      var cachedSpansLength = (this || _global).textSpans.length;\n      var shapeData;\n      var charData;\n\n      for (i = 0; i < len; i += 1) {\n        if (!usesGlyphs || !singleShape || i === 0) {\n          tSpan = cachedSpansLength > i ? (this || _global).textSpans[i] : createNS(usesGlyphs ? \"path\" : \"text\");\n\n          if (cachedSpansLength <= i) {\n            tSpan.setAttribute(\"stroke-linecap\", \"butt\");\n            tSpan.setAttribute(\"stroke-linejoin\", \"round\");\n            tSpan.setAttribute(\"stroke-miterlimit\", \"4\");\n            (this || _global).textSpans[i] = tSpan;\n\n            (this || _global).layerElement.appendChild(tSpan);\n          }\n\n          tSpan.style.display = \"inherit\";\n        }\n\n        matrixHelper.reset();\n        matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n        if (singleShape) {\n          if (letters[i].n) {\n            xPos = -trackingOffset;\n            yPos += documentData.yOffset;\n            yPos += firstLine ? 1 : 0;\n            firstLine = false;\n          }\n\n          this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n          xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n          xPos += trackingOffset;\n        }\n\n        if (usesGlyphs) {\n          charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n          shapeData = charData && charData.data || {};\n          shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n\n          if (!singleShape) {\n            tSpan.setAttribute(\"d\", this.createPathShape(matrixHelper, shapes));\n          } else {\n            shapeStr += this.createPathShape(matrixHelper, shapes);\n          }\n        } else {\n          if (singleShape) {\n            tSpan.setAttribute(\"transform\", \"translate(\" + matrixHelper.props[12] + \",\" + matrixHelper.props[13] + \")\");\n          }\n\n          tSpan.textContent = letters[i].val;\n          tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n        } //\n\n      }\n\n      if (singleShape && tSpan) {\n        tSpan.setAttribute(\"d\", shapeStr);\n      }\n    }\n\n    while (i < (this || _global).textSpans.length) {\n      (this || _global).textSpans[i].style.display = \"none\";\n      i += 1;\n    }\n\n    (this || _global)._sizeChanged = true;\n  };\n\n  SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n    this.prepareFrame((this || _global).comp.renderedFrame - (this || _global).data.st);\n    this.renderInnerContent();\n\n    if ((this || _global)._sizeChanged) {\n      (this || _global)._sizeChanged = false;\n\n      var textBox = (this || _global).layerElement.getBBox();\n\n      (this || _global).bbox = {\n        top: textBox.y,\n        left: textBox.x,\n        width: textBox.width,\n        height: textBox.height\n      };\n    }\n\n    return (this || _global).bbox;\n  };\n\n  SVGTextLottieElement.prototype.renderInnerContent = function () {\n    if (!(this || _global).data.singleShape) {\n      (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n\n      if ((this || _global).lettersChangedFlag || (this || _global).textAnimator.lettersChangedFlag) {\n        (this || _global)._sizeChanged = true;\n        var i;\n        var len;\n        var renderedLetters = (this || _global).textAnimator.renderedLetters;\n        var letters = (this || _global).textProperty.currentData.l;\n        len = letters.length;\n        var renderedLetter;\n        var textSpan;\n\n        for (i = 0; i < len; i += 1) {\n          if (!letters[i].n) {\n            renderedLetter = renderedLetters[i];\n            textSpan = (this || _global).textSpans[i];\n\n            if (renderedLetter._mdf.m) {\n              textSpan.setAttribute(\"transform\", renderedLetter.m);\n            }\n\n            if (renderedLetter._mdf.o) {\n              textSpan.setAttribute(\"opacity\", renderedLetter.o);\n            }\n\n            if (renderedLetter._mdf.sw) {\n              textSpan.setAttribute(\"stroke-width\", renderedLetter.sw);\n            }\n\n            if (renderedLetter._mdf.sc) {\n              textSpan.setAttribute(\"stroke\", renderedLetter.sc);\n            }\n\n            if (renderedLetter._mdf.fc) {\n              textSpan.setAttribute(\"fill\", renderedLetter.fc);\n            }\n          }\n        }\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement,\r\n  FrameElement, RenderableDOMElement, Matrix, SVGStyleData, SVGStrokeStyleData, SVGFillStyleData,\r\n  SVGGradientFillStyleData, SVGGradientStrokeStyleData, locationHref, getBlendMode, ShapeGroupData,\r\n  TransformPropertyFactory, SVGTransformData, ShapePropertyFactory, SVGShapeData, SVGElementsRenderer, ShapeModifiers */\n\n\n  function SVGShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    (this || _global).shapes = []; // Full shape data\n\n    (this || _global).shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    (this || _global).stylesList = []; // List of modifiers that will be applied to shapes\n\n    (this || _global).shapeModifiers = []; // List of items in shape tree\n\n    (this || _global).itemsData = []; // List of items in previous shape tree\n\n    (this || _global).processedElements = []; // List of animated components\n\n    (this || _global).animatedContents = [];\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    (this || _global).prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n  SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n  SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n  SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n  SVGShapeElement.prototype.createContent = function () {\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).layerElement, 0, [], true);\n    this.filterUniqueShapes();\n  };\n  /*\r\n  This method searches for multiple shapes that affect a single element and one of them is animated\r\n  */\n\n\n  SVGShapeElement.prototype.filterUniqueShapes = function () {\n    var i;\n    var len = (this || _global).shapes.length;\n    var shape;\n    var j;\n    var jLen = (this || _global).stylesList.length;\n    var style;\n    var tempShapes = [];\n    var areAnimated = false;\n\n    for (j = 0; j < jLen; j += 1) {\n      style = (this || _global).stylesList[j];\n      areAnimated = false;\n      tempShapes.length = 0;\n\n      for (i = 0; i < len; i += 1) {\n        shape = (this || _global).shapes[i];\n\n        if (shape.styles.indexOf(style) !== -1) {\n          tempShapes.push(shape);\n          areAnimated = shape._isAnimated || areAnimated;\n        }\n      }\n\n      if (tempShapes.length > 1 && areAnimated) {\n        this.setShapesAsAnimated(tempShapes);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n    var i;\n    var len = shapes.length;\n\n    for (i = 0; i < len; i += 1) {\n      shapes[i].setAsAnimated();\n    }\n  };\n\n  SVGShapeElement.prototype.createStyleElement = function (data, level) {\n    // TODO: prevent drawing of hidden styles\n    var elementData;\n    var styleOb = new SVGStyleData(data, level);\n    var pathElement = styleOb.pElem;\n\n    if (data.ty === \"st\") {\n      elementData = new SVGStrokeStyleData(this || _global, data, styleOb);\n    } else if (data.ty === \"fl\") {\n      elementData = new SVGFillStyleData(this || _global, data, styleOb);\n    } else if (data.ty === \"gf\" || data.ty === \"gs\") {\n      var GradientConstructor = data.ty === \"gf\" ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n      elementData = new GradientConstructor(this || _global, data, styleOb);\n\n      (this || _global).globalData.defs.appendChild(elementData.gf);\n\n      if (elementData.maskId) {\n        (this || _global).globalData.defs.appendChild(elementData.ms);\n\n        (this || _global).globalData.defs.appendChild(elementData.of);\n\n        pathElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + elementData.maskId + \")\");\n      }\n    }\n\n    if (data.ty === \"st\" || data.ty === \"gs\") {\n      pathElement.setAttribute(\"stroke-linecap\", (this || _global).lcEnum[data.lc] || \"round\");\n      pathElement.setAttribute(\"stroke-linejoin\", (this || _global).ljEnum[data.lj] || \"round\");\n      pathElement.setAttribute(\"fill-opacity\", \"0\");\n\n      if (data.lj === 1) {\n        pathElement.setAttribute(\"stroke-miterlimit\", data.ml);\n      }\n    }\n\n    if (data.r === 2) {\n      pathElement.setAttribute(\"fill-rule\", \"evenodd\");\n    }\n\n    if (data.ln) {\n      pathElement.setAttribute(\"id\", data.ln);\n    }\n\n    if (data.cl) {\n      pathElement.setAttribute(\"class\", data.cl);\n    }\n\n    if (data.bm) {\n      pathElement.style[\"mix-blend-mode\"] = getBlendMode(data.bm);\n    }\n\n    (this || _global).stylesList.push(styleOb);\n\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createGroupElement = function (data) {\n    var elementData = new ShapeGroupData();\n\n    if (data.ln) {\n      elementData.gr.setAttribute(\"id\", data.ln);\n    }\n\n    if (data.cl) {\n      elementData.gr.setAttribute(\"class\", data.cl);\n    }\n\n    if (data.bm) {\n      elementData.gr.style[\"mix-blend-mode\"] = getBlendMode(data.bm);\n    }\n\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createTransformElement = function (data, container) {\n    var transformProperty = TransformPropertyFactory.getTransformProperty(this || _global, data, this || _global);\n    var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n    var ty = 4;\n\n    if (data.ty === \"rc\") {\n      ty = 5;\n    } else if (data.ty === \"el\") {\n      ty = 6;\n    } else if (data.ty === \"sr\") {\n      ty = 7;\n    }\n\n    var shapeProperty = ShapePropertyFactory.getShapeProp(this || _global, data, ty, this || _global);\n    var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n\n    (this || _global).shapes.push(elementData);\n\n    this.addShapeToModifiers(elementData);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n    var i = 0;\n    var len = (this || _global).animatedContents.length;\n\n    while (i < len) {\n      if ((this || _global).animatedContents[i].element === element) {\n        return;\n      }\n\n      i += 1;\n    }\n\n    (this || _global).animatedContents.push({\n      fn: SVGElementsRenderer.createRenderFunction(data),\n      element: element,\n      data: data\n    });\n  };\n\n  SVGShapeElement.prototype.setElementStyles = function (elementData) {\n    var arr = elementData.styles;\n    var j;\n    var jLen = (this || _global).stylesList.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      if (!(this || _global).stylesList[j].closed) {\n        arr.push((this || _global).stylesList[j]);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.reloadShapes = function () {\n    (this || _global)._isFirstFrame = true;\n    var i;\n    var len = (this || _global).itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).prevViewData[i] = (this || _global).itemsData[i];\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).layerElement, 0, [], true);\n    this.filterUniqueShapes();\n    len = (this || _global).dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n  };\n\n  SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n    var ownTransformers = [].concat(transformers);\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var currentTransform;\n    var modifier;\n    var processedPos;\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._render = render;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === \"fl\" || arr[i].ty === \"st\" || arr[i].ty === \"gf\" || arr[i].ty === \"gs\") {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], level);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        if (arr[i]._render) {\n          container.appendChild(itemsData[i].style.pElem);\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === \"gr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n        if (arr[i]._render) {\n          container.appendChild(itemsData[i].gr);\n        }\n      } else if (arr[i].ty === \"tr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createTransformElement(arr[i], container);\n        }\n\n        currentTransform = itemsData[i].transform;\n        ownTransformers.push(currentTransform);\n      } else if (arr[i].ty === \"sh\" || arr[i].ty === \"rc\" || arr[i].ty === \"el\" || arr[i].ty === \"sr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n        }\n\n        this.setElementStyles(itemsData[i]);\n      } else if (arr[i].ty === \"tm\" || arr[i].ty === \"rd\" || arr[i].ty === \"ms\" || arr[i].ty === \"pb\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this || _global, arr[i]);\n          itemsData[i] = modifier;\n\n          (this || _global).shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === \"rp\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this || _global, arr, i, itemsData);\n\n          (this || _global).shapeModifiers.push(modifier);\n\n          render = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    len = ownStyles.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownStyles[i].closed = true;\n    }\n\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  SVGShapeElement.prototype.renderInnerContent = function () {\n    this.renderModifiers();\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).stylesList[i].reset();\n    }\n\n    this.renderShape();\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).stylesList[i]._mdf || (this || _global)._isFirstFrame) {\n        if ((this || _global).stylesList[i].msElem) {\n          (this || _global).stylesList[i].msElem.setAttribute(\"d\", (this || _global).stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n\n          (this || _global).stylesList[i].d = \"M0 0\" + (this || _global).stylesList[i].d;\n        }\n\n        (this || _global).stylesList[i].pElem.setAttribute(\"d\", (this || _global).stylesList[i].d || \"M0 0\");\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.renderShape = function () {\n    var i;\n    var len = (this || _global).animatedContents.length;\n    var animatedContent;\n\n    for (i = 0; i < len; i += 1) {\n      animatedContent = (this || _global).animatedContents[i];\n\n      if (((this || _global)._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n        animatedContent.fn(animatedContent.data, animatedContent.element, (this || _global)._isFirstFrame);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.destroy = function () {\n    this.destroyBaseElement();\n    (this || _global).shapesData = null;\n    (this || _global).itemsData = null;\n  };\n  /* global createNS */\n\n\n  function SVGTintFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"linearRGB\");\n    feColorMatrix.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f1\");\n    filter.appendChild(feColorMatrix);\n    feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    feColorMatrix.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f2\");\n    filter.appendChild(feColorMatrix);\n    (this || _global).matrixFilter = feColorMatrix;\n\n    if (filterManager.effectElements[2].p.v !== 100 || filterManager.effectElements[2].p.k) {\n      var feMerge = createNS(\"feMerge\");\n      filter.appendChild(feMerge);\n      var feMergeNode;\n      feMergeNode = createNS(\"feMergeNode\");\n      feMergeNode.setAttribute(\"in\", \"SourceGraphic\");\n      feMerge.appendChild(feMergeNode);\n      feMergeNode = createNS(\"feMergeNode\");\n      feMergeNode.setAttribute(\"in\", \"f2\");\n      feMerge.appendChild(feMergeNode);\n    }\n  }\n\n  SVGTintFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var colorBlack = (this || _global).filterManager.effectElements[0].p.v;\n      var colorWhite = (this || _global).filterManager.effectElements[1].p.v;\n      var opacity = (this || _global).filterManager.effectElements[2].p.v / 100;\n\n      (this || _global).matrixFilter.setAttribute(\"values\", colorWhite[0] - colorBlack[0] + \" 0 0 0 \" + colorBlack[0] + \" \" + (colorWhite[1] - colorBlack[1]) + \" 0 0 0 \" + colorBlack[1] + \" \" + (colorWhite[2] - colorBlack[2]) + \" 0 0 0 \" + colorBlack[2] + \" 0 0 0 \" + opacity + \" 0\");\n    }\n  };\n  /* global createNS */\n\n\n  function SVGFillFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    feColorMatrix.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\");\n    filter.appendChild(feColorMatrix);\n    (this || _global).matrixFilter = feColorMatrix;\n  }\n\n  SVGFillFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var color = (this || _global).filterManager.effectElements[2].p.v;\n      var opacity = (this || _global).filterManager.effectElements[6].p.v;\n\n      (this || _global).matrixFilter.setAttribute(\"values\", \"0 0 0 0 \" + color[0] + \" 0 0 0 0 \" + color[1] + \" 0 0 0 0 \" + color[2] + \" 0 0 0 \" + opacity + \" 0\");\n    }\n  };\n  /* global createNS */\n\n\n  function SVGGaussianBlurEffect(filter, filterManager) {\n    // Outset the filter region by 100% on all sides to accommodate blur expansion.\n    filter.setAttribute(\"x\", \"-100%\");\n    filter.setAttribute(\"y\", \"-100%\");\n    filter.setAttribute(\"width\", \"300%\");\n    filter.setAttribute(\"height\", \"300%\");\n    (this || _global).filterManager = filterManager;\n    var feGaussianBlur = createNS(\"feGaussianBlur\");\n    filter.appendChild(feGaussianBlur);\n    (this || _global).feGaussianBlur = feGaussianBlur;\n  }\n\n  SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      // Empirical value, matching AE's blur appearance.\n      var kBlurrinessToSigma = 0.3;\n      var sigma = (this || _global).filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n      //\n      //   1 -> horizontal & vertical\n      //   2 -> horizontal only\n      //   3 -> vertical only\n      //\n\n      var dimensions = (this || _global).filterManager.effectElements[1].p.v;\n      var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      (this || _global).feGaussianBlur.setAttribute(\"stdDeviation\", sigmaX + \" \" + sigmaY); // Repeat edges mapping:\n      //\n      //   0 -> off -> duplicate\n      //   1 -> on  -> wrap\n\n\n      var edgeMode = (this || _global).filterManager.effectElements[2].p.v == 1 ? \"wrap\" : \"duplicate\"; // eslint-disable-line eqeqeq\n\n      (this || _global).feGaussianBlur.setAttribute(\"edgeMode\", edgeMode);\n    }\n  };\n  /* global createNS, createElementID, locationHref, bmFloor */\n\n\n  function SVGStrokeEffect(elem, filterManager) {\n    (this || _global).initialized = false;\n    (this || _global).filterManager = filterManager;\n    (this || _global).elem = elem;\n    (this || _global).paths = [];\n  }\n\n  SVGStrokeEffect.prototype.initialize = function () {\n    var elemChildren = (this || _global).elem.layerElement.children || (this || _global).elem.layerElement.childNodes;\n    var path;\n    var groupPath;\n    var i;\n    var len;\n\n    if ((this || _global).filterManager.effectElements[1].p.v === 1) {\n      len = (this || _global).elem.maskManager.masksProperties.length;\n      i = 0;\n    } else {\n      i = (this || _global).filterManager.effectElements[0].p.v - 1;\n      len = i + 1;\n    }\n\n    groupPath = createNS(\"g\");\n    groupPath.setAttribute(\"fill\", \"none\");\n    groupPath.setAttribute(\"stroke-linecap\", \"round\");\n    groupPath.setAttribute(\"stroke-dashoffset\", 1);\n\n    for (i; i < len; i += 1) {\n      path = createNS(\"path\");\n      groupPath.appendChild(path);\n\n      (this || _global).paths.push({\n        p: path,\n        m: i\n      });\n    }\n\n    if ((this || _global).filterManager.effectElements[10].p.v === 3) {\n      var mask = createNS(\"mask\");\n      var id = createElementID();\n      mask.setAttribute(\"id\", id);\n      mask.setAttribute(\"mask-type\", \"alpha\");\n      mask.appendChild(groupPath);\n\n      (this || _global).elem.globalData.defs.appendChild(mask);\n\n      var g = createNS(\"g\");\n      g.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + id + \")\");\n\n      while (elemChildren[0]) {\n        g.appendChild(elemChildren[0]);\n      }\n\n      (this || _global).elem.layerElement.appendChild(g);\n\n      (this || _global).masker = mask;\n      groupPath.setAttribute(\"stroke\", \"#fff\");\n    } else if ((this || _global).filterManager.effectElements[10].p.v === 1 || (this || _global).filterManager.effectElements[10].p.v === 2) {\n      if ((this || _global).filterManager.effectElements[10].p.v === 2) {\n        elemChildren = (this || _global).elem.layerElement.children || (this || _global).elem.layerElement.childNodes;\n\n        while (elemChildren.length) {\n          (this || _global).elem.layerElement.removeChild(elemChildren[0]);\n        }\n      }\n\n      (this || _global).elem.layerElement.appendChild(groupPath);\n\n      (this || _global).elem.layerElement.removeAttribute(\"mask\");\n\n      groupPath.setAttribute(\"stroke\", \"#fff\");\n    }\n\n    (this || _global).initialized = true;\n    (this || _global).pathMasker = groupPath;\n  };\n\n  SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n    if (!(this || _global).initialized) {\n      this.initialize();\n    }\n\n    var i;\n    var len = (this || _global).paths.length;\n    var mask;\n    var path;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).paths[i].m !== -1) {\n        mask = (this || _global).elem.maskManager.viewData[(this || _global).paths[i].m];\n        path = (this || _global).paths[i].p;\n\n        if (forceRender || (this || _global).filterManager._mdf || mask.prop._mdf) {\n          path.setAttribute(\"d\", mask.lastPath);\n        }\n\n        if (forceRender || (this || _global).filterManager.effectElements[9].p._mdf || (this || _global).filterManager.effectElements[4].p._mdf || (this || _global).filterManager.effectElements[7].p._mdf || (this || _global).filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n          var dasharrayValue;\n\n          if ((this || _global).filterManager.effectElements[7].p.v !== 0 || (this || _global).filterManager.effectElements[8].p.v !== 100) {\n            var s = Math.min((this || _global).filterManager.effectElements[7].p.v, (this || _global).filterManager.effectElements[8].p.v) * 0.01;\n            var e = Math.max((this || _global).filterManager.effectElements[7].p.v, (this || _global).filterManager.effectElements[8].p.v) * 0.01;\n            var l = path.getTotalLength();\n            dasharrayValue = \"0 0 0 \" + l * s + \" \";\n            var lineLength = l * (e - s);\n            var segment = 1 + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01;\n            var units = Math.floor(lineLength / segment);\n            var j;\n\n            for (j = 0; j < units; j += 1) {\n              dasharrayValue += \"1 \" + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01 + \" \";\n            }\n\n            dasharrayValue += \"0 \" + l * 10 + \" 0 0\";\n          } else {\n            dasharrayValue = \"1 \" + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01;\n          }\n\n          path.setAttribute(\"stroke-dasharray\", dasharrayValue);\n        }\n      }\n    }\n\n    if (forceRender || (this || _global).filterManager.effectElements[4].p._mdf) {\n      (this || _global).pathMasker.setAttribute(\"stroke-width\", (this || _global).filterManager.effectElements[4].p.v * 2);\n    }\n\n    if (forceRender || (this || _global).filterManager.effectElements[6].p._mdf) {\n      (this || _global).pathMasker.setAttribute(\"opacity\", (this || _global).filterManager.effectElements[6].p.v);\n    }\n\n    if ((this || _global).filterManager.effectElements[10].p.v === 1 || (this || _global).filterManager.effectElements[10].p.v === 2) {\n      if (forceRender || (this || _global).filterManager.effectElements[3].p._mdf) {\n        var color = (this || _global).filterManager.effectElements[3].p.v;\n\n        (this || _global).pathMasker.setAttribute(\"stroke\", \"rgb(\" + bmFloor(color[0] * 255) + \",\" + bmFloor(color[1] * 255) + \",\" + bmFloor(color[2] * 255) + \")\");\n      }\n    }\n  };\n  /* global createNS */\n\n\n  function SVGTritoneFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"linearRGB\");\n    feColorMatrix.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f1\");\n    filter.appendChild(feColorMatrix);\n    var feComponentTransfer = createNS(\"feComponentTransfer\");\n    feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    filter.appendChild(feComponentTransfer);\n    (this || _global).matrixFilter = feComponentTransfer;\n    var feFuncR = createNS(\"feFuncR\");\n    feFuncR.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncR);\n    (this || _global).feFuncR = feFuncR;\n    var feFuncG = createNS(\"feFuncG\");\n    feFuncG.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncG);\n    (this || _global).feFuncG = feFuncG;\n    var feFuncB = createNS(\"feFuncB\");\n    feFuncB.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncB);\n    (this || _global).feFuncB = feFuncB;\n  }\n\n  SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var color1 = (this || _global).filterManager.effectElements[0].p.v;\n      var color2 = (this || _global).filterManager.effectElements[1].p.v;\n      var color3 = (this || _global).filterManager.effectElements[2].p.v;\n      var tableR = color3[0] + \" \" + color2[0] + \" \" + color1[0];\n      var tableG = color3[1] + \" \" + color2[1] + \" \" + color1[1];\n      var tableB = color3[2] + \" \" + color2[2] + \" \" + color1[2];\n\n      (this || _global).feFuncR.setAttribute(\"tableValues\", tableR);\n\n      (this || _global).feFuncG.setAttribute(\"tableValues\", tableG);\n\n      (this || _global).feFuncB.setAttribute(\"tableValues\", tableB); // var opacity = this.filterManager.effectElements[2].p.v/100;\n      // this.matrixFilter.setAttribute('values',(colorWhite[0]- colorBlack[0])+' 0 0 0 '+ colorBlack[0] +' '+ (colorWhite[1]- colorBlack[1]) +' 0 0 0 '+ colorBlack[1] +' '+ (colorWhite[2]- colorBlack[2]) +' 0 0 0 '+ colorBlack[2] +' 0 0 0 ' + opacity + ' 0');\n\n    }\n  };\n  /* global createNS */\n\n\n  function SVGProLevelsFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var effectElements = (this || _global).filterManager.effectElements;\n    var feComponentTransfer = createNS(\"feComponentTransfer\");\n\n    if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) {\n      (this || _global).feFuncR = this.createFeFunc(\"feFuncR\", feComponentTransfer);\n    }\n\n    if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) {\n      (this || _global).feFuncG = this.createFeFunc(\"feFuncG\", feComponentTransfer);\n    }\n\n    if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) {\n      (this || _global).feFuncB = this.createFeFunc(\"feFuncB\", feComponentTransfer);\n    }\n\n    if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) {\n      (this || _global).feFuncA = this.createFeFunc(\"feFuncA\", feComponentTransfer);\n    }\n\n    if ((this || _global).feFuncR || (this || _global).feFuncG || (this || _global).feFuncB || (this || _global).feFuncA) {\n      feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      filter.appendChild(feComponentTransfer);\n      feComponentTransfer = createNS(\"feComponentTransfer\");\n    }\n\n    if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) {\n      feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      filter.appendChild(feComponentTransfer);\n      (this || _global).feFuncRComposed = this.createFeFunc(\"feFuncR\", feComponentTransfer);\n      (this || _global).feFuncGComposed = this.createFeFunc(\"feFuncG\", feComponentTransfer);\n      (this || _global).feFuncBComposed = this.createFeFunc(\"feFuncB\", feComponentTransfer);\n    }\n  }\n\n  SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n    var feFunc = createNS(type);\n    feFunc.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFunc);\n    return feFunc;\n  };\n\n  SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n    var cnt = 0;\n    var segments = 256;\n    var perc;\n    var min = Math.min(inputBlack, inputWhite);\n    var max = Math.max(inputBlack, inputWhite);\n    var table = Array.call(null, {\n      length: segments\n    });\n    var colorValue;\n    var pos = 0;\n    var outputDelta = outputWhite - outputBlack;\n    var inputDelta = inputWhite - inputBlack;\n\n    while (cnt <= 256) {\n      perc = cnt / 256;\n\n      if (perc <= min) {\n        colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n      } else if (perc >= max) {\n        colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n      } else {\n        colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n      }\n\n      table[pos] = colorValue;\n      pos += 1;\n      cnt += 256 / (segments - 1);\n    }\n\n    return table.join(\" \");\n  };\n\n  SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var val;\n      var effectElements = (this || _global).filterManager.effectElements;\n\n      if ((this || _global).feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n        val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n\n        (this || _global).feFuncRComposed.setAttribute(\"tableValues\", val);\n\n        (this || _global).feFuncGComposed.setAttribute(\"tableValues\", val);\n\n        (this || _global).feFuncBComposed.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n        val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n\n        (this || _global).feFuncR.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n        val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n\n        (this || _global).feFuncG.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n        val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n\n        (this || _global).feFuncB.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n        val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n\n        (this || _global).feFuncA.setAttribute(\"tableValues\", val);\n      }\n    }\n  };\n  /* global createNS, rgbToHex, degToRads */\n\n\n  function SVGDropShadowEffect(filter, filterManager) {\n    var filterSize = filterManager.container.globalData.renderConfig.filterSize;\n    filter.setAttribute(\"x\", filterSize.x);\n    filter.setAttribute(\"y\", filterSize.y);\n    filter.setAttribute(\"width\", filterSize.width);\n    filter.setAttribute(\"height\", filterSize.height);\n    (this || _global).filterManager = filterManager;\n    var feGaussianBlur = createNS(\"feGaussianBlur\");\n    feGaussianBlur.setAttribute(\"in\", \"SourceAlpha\");\n    feGaussianBlur.setAttribute(\"result\", \"drop_shadow_1\");\n    feGaussianBlur.setAttribute(\"stdDeviation\", \"0\");\n    (this || _global).feGaussianBlur = feGaussianBlur;\n    filter.appendChild(feGaussianBlur);\n    var feOffset = createNS(\"feOffset\");\n    feOffset.setAttribute(\"dx\", \"25\");\n    feOffset.setAttribute(\"dy\", \"0\");\n    feOffset.setAttribute(\"in\", \"drop_shadow_1\");\n    feOffset.setAttribute(\"result\", \"drop_shadow_2\");\n    (this || _global).feOffset = feOffset;\n    filter.appendChild(feOffset);\n    var feFlood = createNS(\"feFlood\");\n    feFlood.setAttribute(\"flood-color\", \"#00ff00\");\n    feFlood.setAttribute(\"flood-opacity\", \"1\");\n    feFlood.setAttribute(\"result\", \"drop_shadow_3\");\n    (this || _global).feFlood = feFlood;\n    filter.appendChild(feFlood);\n    var feComposite = createNS(\"feComposite\");\n    feComposite.setAttribute(\"in\", \"drop_shadow_3\");\n    feComposite.setAttribute(\"in2\", \"drop_shadow_2\");\n    feComposite.setAttribute(\"operator\", \"in\");\n    feComposite.setAttribute(\"result\", \"drop_shadow_4\");\n    filter.appendChild(feComposite);\n    var feMerge = createNS(\"feMerge\");\n    filter.appendChild(feMerge);\n    var feMergeNode;\n    feMergeNode = createNS(\"feMergeNode\");\n    feMerge.appendChild(feMergeNode);\n    feMergeNode = createNS(\"feMergeNode\");\n    feMergeNode.setAttribute(\"in\", \"SourceGraphic\");\n    (this || _global).feMergeNode = feMergeNode;\n    (this || _global).feMerge = feMerge;\n    (this || _global).originalNodeAdded = false;\n    feMerge.appendChild(feMergeNode);\n  }\n\n  SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      if (forceRender || (this || _global).filterManager.effectElements[4].p._mdf) {\n        (this || _global).feGaussianBlur.setAttribute(\"stdDeviation\", (this || _global).filterManager.effectElements[4].p.v / 4);\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[0].p._mdf) {\n        var col = (this || _global).filterManager.effectElements[0].p.v;\n\n        (this || _global).feFlood.setAttribute(\"flood-color\", rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[1].p._mdf) {\n        (this || _global).feFlood.setAttribute(\"flood-opacity\", (this || _global).filterManager.effectElements[1].p.v / 255);\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[2].p._mdf || (this || _global).filterManager.effectElements[3].p._mdf) {\n        var distance = (this || _global).filterManager.effectElements[3].p.v;\n        var angle = ((this || _global).filterManager.effectElements[2].p.v - 90) * degToRads;\n        var x = distance * Math.cos(angle);\n        var y = distance * Math.sin(angle);\n\n        (this || _global).feOffset.setAttribute(\"dx\", x);\n\n        (this || _global).feOffset.setAttribute(\"dy\", y);\n      }\n      /* if(forceRender || this.filterManager.effectElements[5].p._mdf){\r\n              if(this.filterManager.effectElements[5].p.v === 1 && this.originalNodeAdded) {\r\n                  this.feMerge.removeChild(this.feMergeNode);\r\n                  this.originalNodeAdded = false;\r\n              } else if(this.filterManager.effectElements[5].p.v === 0 && !this.originalNodeAdded) {\r\n                  this.feMerge.appendChild(this.feMergeNode);\r\n                  this.originalNodeAdded = true;\r\n              }\r\n          } */\n\n    }\n  };\n  /* global createElementID, createNS */\n\n\n  var _svgMatteSymbols = [];\n\n  function SVGMatte3Effect(filterElem, filterManager, elem) {\n    (this || _global).initialized = false;\n    (this || _global).filterManager = filterManager;\n    (this || _global).filterElem = filterElem;\n    (this || _global).elem = elem;\n    elem.matteElement = createNS(\"g\");\n    elem.matteElement.appendChild(elem.layerElement);\n    elem.matteElement.appendChild(elem.transformedElement);\n    elem.baseElement = elem.matteElement;\n  }\n\n  SVGMatte3Effect.prototype.findSymbol = function (mask) {\n    var i = 0;\n    var len = _svgMatteSymbols.length;\n\n    while (i < len) {\n      if (_svgMatteSymbols[i] === mask) {\n        return _svgMatteSymbols[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n    var parentNode = mask.layerElement.parentNode;\n\n    if (!parentNode) {\n      return;\n    }\n\n    var children = parentNode.children;\n    var i = 0;\n    var len = children.length;\n\n    while (i < len) {\n      if (children[i] === mask.layerElement) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    var nextChild;\n\n    if (i <= len - 2) {\n      nextChild = children[i + 1];\n    }\n\n    var useElem = createNS(\"use\");\n    useElem.setAttribute(\"href\", \"#\" + symbolId);\n\n    if (nextChild) {\n      parentNode.insertBefore(useElem, nextChild);\n    } else {\n      parentNode.appendChild(useElem);\n    }\n  };\n\n  SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n    if (!this.findSymbol(mask)) {\n      var symbolId = createElementID();\n      var masker = createNS(\"mask\");\n      masker.setAttribute(\"id\", mask.layerId);\n      masker.setAttribute(\"mask-type\", \"alpha\");\n\n      _svgMatteSymbols.push(mask);\n\n      var defs = elem.globalData.defs;\n      defs.appendChild(masker);\n      var symbol = createNS(\"symbol\");\n      symbol.setAttribute(\"id\", symbolId);\n      this.replaceInParent(mask, symbolId);\n      symbol.appendChild(mask.layerElement);\n      defs.appendChild(symbol);\n      var useElem = createNS(\"use\");\n      useElem.setAttribute(\"href\", \"#\" + symbolId);\n      masker.appendChild(useElem);\n      mask.data.hd = false;\n      mask.show();\n    }\n\n    elem.setMatte(mask.layerId);\n  };\n\n  SVGMatte3Effect.prototype.initialize = function () {\n    var ind = (this || _global).filterManager.effectElements[0].p.v;\n    var elements = (this || _global).elem.comp.elements;\n    var i = 0;\n    var len = elements.length;\n\n    while (i < len) {\n      if (elements[i] && elements[i].data.ind === ind) {\n        this.setElementAsMask((this || _global).elem, elements[i]);\n      }\n\n      i += 1;\n    }\n\n    (this || _global).initialized = true;\n  };\n\n  SVGMatte3Effect.prototype.renderFrame = function () {\n    if (!(this || _global).initialized) {\n      this.initialize();\n    }\n  };\n  /* global createElementID, filtersFactory, SVGTintFilter, SVGFillFilter, SVGStrokeEffect, SVGTritoneFilter,\r\n  SVGProLevelsFilter, SVGDropShadowEffect, SVGMatte3Effect, SVGGaussianBlurEffect, locationHref */\n\n\n  function SVGEffects(elem) {\n    var i;\n    var len = elem.data.ef ? elem.data.ef.length : 0;\n    var filId = createElementID();\n    var fil = filtersFactory.createFilter(filId, true);\n    var count = 0;\n    (this || _global).filters = [];\n    var filterManager;\n\n    for (i = 0; i < len; i += 1) {\n      filterManager = null;\n\n      if (elem.data.ef[i].ty === 20) {\n        count += 1;\n        filterManager = new SVGTintFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 21) {\n        count += 1;\n        filterManager = new SVGFillFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 22) {\n        filterManager = new SVGStrokeEffect(elem, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 23) {\n        count += 1;\n        filterManager = new SVGTritoneFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 24) {\n        count += 1;\n        filterManager = new SVGProLevelsFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 25) {\n        count += 1;\n        filterManager = new SVGDropShadowEffect(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 28) {\n        // count += 1;\n        filterManager = new SVGMatte3Effect(fil, elem.effectsManager.effectElements[i], elem);\n      } else if (elem.data.ef[i].ty === 29) {\n        count += 1;\n        filterManager = new SVGGaussianBlurEffect(fil, elem.effectsManager.effectElements[i]);\n      }\n\n      if (filterManager) {\n        (this || _global).filters.push(filterManager);\n      }\n    }\n\n    if (count) {\n      elem.globalData.defs.appendChild(fil);\n      elem.layerElement.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n    }\n\n    if ((this || _global).filters.length) {\n      elem.addRenderableComponent(this || _global);\n    }\n  }\n\n  SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n    var i;\n    var len = (this || _global).filters.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).filters[i].renderFrame(_isFirstFrame);\n    }\n  };\n  /* global Matrix, createTypedArray */\n\n\n  function CVContextData() {\n    (this || _global).saved = [];\n    (this || _global).cArrPos = 0;\n    (this || _global).cTr = new Matrix();\n    (this || _global).cO = 1;\n    var i;\n    var len = 15;\n    (this || _global).savedOp = createTypedArray(\"float32\", len);\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).saved[i] = createTypedArray(\"float32\", 16);\n    }\n\n    (this || _global)._length = len;\n  }\n\n  CVContextData.prototype.duplicate = function () {\n    var newLength = (this || _global)._length * 2;\n    var currentSavedOp = (this || _global).savedOp;\n    (this || _global).savedOp = createTypedArray(\"float32\", newLength);\n\n    (this || _global).savedOp.set(currentSavedOp);\n\n    var i = 0;\n\n    for (i = (this || _global)._length; i < newLength; i += 1) {\n      (this || _global).saved[i] = createTypedArray(\"float32\", 16);\n    }\n\n    (this || _global)._length = newLength;\n  };\n\n  CVContextData.prototype.reset = function () {\n    (this || _global).cArrPos = 0;\n\n    (this || _global).cTr.reset();\n\n    (this || _global).cO = 1;\n  };\n  /* global CVEffects, getBlendMode, CVMaskElement, Matrix */\n\n\n  function CVBaseElement() {}\n\n  CVBaseElement.prototype = {\n    createElements: function () {},\n    initRendererElement: function () {},\n    createContainerElements: function () {\n      (this || _global).canvasContext = (this || _global).globalData.canvasContext;\n      (this || _global).renderableEffectsManager = new CVEffects(this || _global);\n    },\n    createContent: function () {},\n    setBlendMode: function () {\n      var globalData = (this || _global).globalData;\n\n      if (globalData.blendMode !== (this || _global).data.bm) {\n        globalData.blendMode = (this || _global).data.bm;\n        var blendModeValue = getBlendMode((this || _global).data.bm);\n        globalData.canvasContext.globalCompositeOperation = blendModeValue;\n      }\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new CVMaskElement((this || _global).data, this || _global);\n    },\n    hideElement: function () {\n      if (!(this || _global).hidden && (!(this || _global).isInRange || (this || _global).isTransparent)) {\n        (this || _global).hidden = true;\n      }\n    },\n    showElement: function () {\n      if ((this || _global).isInRange && !(this || _global).isTransparent) {\n        (this || _global).hidden = false;\n        (this || _global)._isFirstFrame = true;\n        (this || _global).maskManager._isFirstFrame = true;\n      }\n    },\n    renderFrame: function () {\n      if ((this || _global).hidden || (this || _global).data.hd) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.setBlendMode();\n      var forceRealStack = (this || _global).data.ty === 0;\n\n      (this || _global).globalData.renderer.save(forceRealStack);\n\n      (this || _global).globalData.renderer.ctxTransform((this || _global).finalTransform.mat.props);\n\n      (this || _global).globalData.renderer.ctxOpacity((this || _global).finalTransform.mProp.o.v);\n\n      this.renderInnerContent();\n\n      (this || _global).globalData.renderer.restore(forceRealStack);\n\n      if ((this || _global).maskManager.hasMasks) {\n        (this || _global).globalData.renderer.restore(true);\n      }\n\n      if ((this || _global)._isFirstFrame) {\n        (this || _global)._isFirstFrame = false;\n      }\n    },\n    destroy: function () {\n      (this || _global).canvasContext = null;\n      (this || _global).data = null;\n      (this || _global).globalData = null;\n\n      (this || _global).maskManager.destroy();\n    },\n    mHelper: new Matrix()\n  };\n  CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n  CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement,HierarchyElement, FrameElement,\r\n  RenderableElement, SVGShapeElement, IImageElement, createTag */\n\n  function CVImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    (this || _global).img = globalData.imageLoader.getAsset((this || _global).assetData);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n  CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVImageElement.prototype.createContent = function () {\n    if ((this || _global).img.width && ((this || _global).assetData.w !== (this || _global).img.width || (this || _global).assetData.h !== (this || _global).img.height)) {\n      var canvas = createTag(\"canvas\");\n      canvas.width = (this || _global).assetData.w;\n      canvas.height = (this || _global).assetData.h;\n      var ctx = canvas.getContext(\"2d\");\n      var imgW = (this || _global).img.width;\n      var imgH = (this || _global).img.height;\n      var imgRel = imgW / imgH;\n      var canvasRel = (this || _global).assetData.w / (this || _global).assetData.h;\n      var widthCrop;\n      var heightCrop;\n      var par = (this || _global).assetData.pr || (this || _global).globalData.renderConfig.imagePreserveAspectRatio;\n\n      if (imgRel > canvasRel && par === \"xMidYMid slice\" || imgRel < canvasRel && par !== \"xMidYMid slice\") {\n        heightCrop = imgH;\n        widthCrop = heightCrop * canvasRel;\n      } else {\n        widthCrop = imgW;\n        heightCrop = widthCrop / canvasRel;\n      }\n\n      ctx.drawImage((this || _global).img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, (this || _global).assetData.w, (this || _global).assetData.h);\n      (this || _global).img = canvas;\n    }\n  };\n\n  CVImageElement.prototype.renderInnerContent = function () {\n    (this || _global).canvasContext.drawImage((this || _global).img, 0, 0);\n  };\n\n  CVImageElement.prototype.destroy = function () {\n    (this || _global).img = null;\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, CanvasRenderer, ICompElement, CVBaseElement */\n\n\n  function CVCompElement(data, globalData, comp) {\n    (this || _global).completeLayers = false;\n    (this || _global).layers = data.layers;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = createSizedArray((this || _global).layers.length);\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement);\n\n  CVCompElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.beginPath();\n    ctx.moveTo(0, 0);\n    ctx.lineTo((this || _global).data.w, 0);\n    ctx.lineTo((this || _global).data.w, (this || _global).data.h);\n    ctx.lineTo(0, (this || _global).data.h);\n    ctx.lineTo(0, 0);\n    ctx.clip();\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].renderFrame();\n      }\n    }\n  };\n\n  CVCompElement.prototype.destroy = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).layers = null;\n    (this || _global).elements = null;\n  };\n  /* global createSizedArray, ShapePropertyFactory, MaskElement */\n\n\n  function CVMaskElement(data, element) {\n    (this || _global).data = data;\n    (this || _global).element = element;\n    (this || _global).masksProperties = (this || _global).data.masksProperties || [];\n    (this || _global).viewData = createSizedArray((this || _global).masksProperties.length);\n    var i;\n    var len = (this || _global).masksProperties.length;\n    var hasMasks = false;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        hasMasks = true;\n      }\n\n      (this || _global).viewData[i] = ShapePropertyFactory.getShapeProp((this || _global).element, (this || _global).masksProperties[i], 3);\n    }\n\n    (this || _global).hasMasks = hasMasks;\n\n    if (hasMasks) {\n      (this || _global).element.addRenderableComponent(this || _global);\n    }\n  }\n\n  CVMaskElement.prototype.renderFrame = function () {\n    if (!(this || _global).hasMasks) {\n      return;\n    }\n\n    var transform = (this || _global).element.finalTransform.mat;\n    var ctx = (this || _global).element.canvasContext;\n    var i;\n    var len = (this || _global).masksProperties.length;\n    var pt;\n    var pts;\n    var data;\n    ctx.beginPath();\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        if ((this || _global).masksProperties[i].inv) {\n          ctx.moveTo(0, 0);\n          ctx.lineTo((this || _global).element.globalData.compSize.w, 0);\n          ctx.lineTo((this || _global).element.globalData.compSize.w, (this || _global).element.globalData.compSize.h);\n          ctx.lineTo(0, (this || _global).element.globalData.compSize.h);\n          ctx.lineTo(0, 0);\n        }\n\n        data = (this || _global).viewData[i].v;\n        pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n        ctx.moveTo(pt[0], pt[1]);\n        var j;\n        var jLen = data._length;\n\n        for (j = 1; j < jLen; j += 1) {\n          pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n          ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n        }\n\n        pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n        ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n      }\n    }\n\n    (this || _global).element.globalData.renderer.save(true);\n\n    ctx.clip();\n  };\n\n  CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n  CVMaskElement.prototype.destroy = function () {\n    (this || _global).element = null;\n  };\n  /* global ShapeTransformManager, extendPrototype, BaseElement, TransformElement, CVBaseElement, IShapeElement,\r\n  HierarchyElement, FrameElement, RenderableElement, RenderableDOMElement, PropertyFactory, degToRads, GradientProperty,\r\n  DashProperty, TransformPropertyFactory, CVShapeData, ShapeModifiers, bmFloor */\n\n\n  function CVShapeElement(data, globalData, comp) {\n    (this || _global).shapes = [];\n    (this || _global).shapesData = data.shapes;\n    (this || _global).stylesList = [];\n    (this || _global).itemsData = [];\n    (this || _global).prevViewData = [];\n    (this || _global).shapeModifiers = [];\n    (this || _global).processedElements = [];\n    (this || _global).transformsManager = new ShapeTransformManager();\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n  CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n  CVShapeElement.prototype.transformHelper = {\n    opacity: 1,\n    _opMdf: false\n  };\n  CVShapeElement.prototype.dashResetter = [];\n\n  CVShapeElement.prototype.createContent = function () {\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, true, []);\n  };\n\n  CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n    var styleElem = {\n      data: data,\n      type: data.ty,\n      preTransforms: (this || _global).transformsManager.addTransformSequence(transforms),\n      transforms: [],\n      elements: [],\n      closed: data.hd === true\n    };\n    var elementData = {};\n\n    if (data.ty === \"fl\" || data.ty === \"st\") {\n      elementData.c = PropertyFactory.getProp(this || _global, data.c, 1, 255, this || _global);\n\n      if (!elementData.c.k) {\n        styleElem.co = \"rgb(\" + bmFloor(elementData.c.v[0]) + \",\" + bmFloor(elementData.c.v[1]) + \",\" + bmFloor(elementData.c.v[2]) + \")\";\n      }\n    } else if (data.ty === \"gf\" || data.ty === \"gs\") {\n      elementData.s = PropertyFactory.getProp(this || _global, data.s, 1, null, this || _global);\n      elementData.e = PropertyFactory.getProp(this || _global, data.e, 1, null, this || _global);\n      elementData.h = PropertyFactory.getProp(this || _global, data.h || {\n        k: 0\n      }, 0, 0.01, this || _global);\n      elementData.a = PropertyFactory.getProp(this || _global, data.a || {\n        k: 0\n      }, 0, degToRads, this || _global);\n      elementData.g = new GradientProperty(this || _global, data.g, this || _global);\n    }\n\n    elementData.o = PropertyFactory.getProp(this || _global, data.o, 0, 0.01, this || _global);\n\n    if (data.ty === \"st\" || data.ty === \"gs\") {\n      styleElem.lc = (this || _global).lcEnum[data.lc] || \"round\";\n      styleElem.lj = (this || _global).ljEnum[data.lj] || \"round\";\n\n      if (data.lj == 1) {\n        // eslint-disable-line eqeqeq\n        styleElem.ml = data.ml;\n      }\n\n      elementData.w = PropertyFactory.getProp(this || _global, data.w, 0, null, this || _global);\n\n      if (!elementData.w.k) {\n        styleElem.wi = elementData.w.v;\n      }\n\n      if (data.d) {\n        var d = new DashProperty(this || _global, data.d, \"canvas\", this || _global);\n        elementData.d = d;\n\n        if (!elementData.d.k) {\n          styleElem.da = elementData.d.dashArray;\n          styleElem.do = elementData.d.dashoffset[0];\n        }\n      }\n    } else {\n      styleElem.r = data.r === 2 ? \"evenodd\" : \"nonzero\";\n    }\n\n    (this || _global).stylesList.push(styleElem);\n\n    elementData.style = styleElem;\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createGroupElement = function () {\n    var elementData = {\n      it: [],\n      prevViewData: []\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createTransformElement = function (data) {\n    var elementData = {\n      transform: {\n        opacity: 1,\n        _opMdf: false,\n        key: (this || _global).transformsManager.getNewKey(),\n        op: PropertyFactory.getProp(this || _global, data.o, 0, 0.01, this || _global),\n        mProps: TransformPropertyFactory.getTransformProperty(this || _global, data, this || _global)\n      }\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createShapeElement = function (data) {\n    var elementData = new CVShapeData(this || _global, data, (this || _global).stylesList, (this || _global).transformsManager);\n\n    (this || _global).shapes.push(elementData);\n\n    this.addShapeToModifiers(elementData);\n    return elementData;\n  };\n\n  CVShapeElement.prototype.reloadShapes = function () {\n    (this || _global)._isFirstFrame = true;\n    var i;\n    var len = (this || _global).itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).prevViewData[i] = (this || _global).itemsData[i];\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, true, []);\n    len = (this || _global).dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n\n    (this || _global).transformsManager.processSequences((this || _global)._isFirstFrame);\n  };\n\n  CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!(this || _global).stylesList[i].closed) {\n        (this || _global).stylesList[i].transforms.push(transform);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.removeTransformFromStyleList = function () {\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!(this || _global).stylesList[i].closed) {\n        (this || _global).stylesList[i].transforms.pop();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.closeStyles = function (styles) {\n    var i;\n    var len = styles.length;\n\n    for (i = 0; i < len; i += 1) {\n      styles[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var processedPos;\n    var modifier;\n    var currentTransform;\n    var ownTransforms = [].concat(transforms);\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._shouldRender = shouldRender;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === \"fl\" || arr[i].ty === \"st\" || arr[i].ty === \"gf\" || arr[i].ty === \"gs\") {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === \"gr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n      } else if (arr[i].ty === \"tr\") {\n        if (!processedPos) {\n          currentTransform = this.createTransformElement(arr[i]);\n          itemsData[i] = currentTransform;\n        }\n\n        ownTransforms.push(itemsData[i]);\n        this.addTransformToStyleList(itemsData[i]);\n      } else if (arr[i].ty === \"sh\" || arr[i].ty === \"rc\" || arr[i].ty === \"el\" || arr[i].ty === \"sr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i]);\n        }\n      } else if (arr[i].ty === \"tm\" || arr[i].ty === \"rd\" || arr[i].ty === \"pb\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this || _global, arr[i]);\n          itemsData[i] = modifier;\n\n          (this || _global).shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === \"rp\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this || _global, arr, i, itemsData);\n\n          (this || _global).shapeModifiers.push(modifier);\n\n          shouldRender = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    this.removeTransformFromStyleList();\n    this.closeStyles(ownStyles);\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.renderInnerContent = function () {\n    (this || _global).transformHelper.opacity = 1;\n    (this || _global).transformHelper._opMdf = false;\n    this.renderModifiers();\n\n    (this || _global).transformsManager.processSequences((this || _global)._isFirstFrame);\n\n    this.renderShape((this || _global).transformHelper, (this || _global).shapesData, (this || _global).itemsData, true);\n  };\n\n  CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n    if (parentTransform._opMdf || groupTransform.op._mdf || (this || _global)._isFirstFrame) {\n      groupTransform.opacity = parentTransform.opacity;\n      groupTransform.opacity *= groupTransform.op.v;\n      groupTransform._opMdf = true;\n    }\n  };\n\n  CVShapeElement.prototype.drawLayer = function () {\n    var i;\n    var len = (this || _global).stylesList.length;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var elems;\n    var nodes;\n    var renderer = (this || _global).globalData.renderer;\n    var ctx = (this || _global).globalData.canvasContext;\n    var type;\n    var currentStyle;\n\n    for (i = 0; i < len; i += 1) {\n      currentStyle = (this || _global).stylesList[i];\n      type = currentStyle.type; // Skipping style when\n      // Stroke width equals 0\n      // style should not be rendered (extra unused repeaters)\n      // current opacity equals 0\n      // global opacity equals 0\n\n      if (!((type === \"st\" || type === \"gs\") && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || (this || _global).globalData.currentGlobalAlpha === 0)) {\n        renderer.save();\n        elems = currentStyle.elements;\n\n        if (type === \"st\" || type === \"gs\") {\n          ctx.strokeStyle = type === \"st\" ? currentStyle.co : currentStyle.grd;\n          ctx.lineWidth = currentStyle.wi;\n          ctx.lineCap = currentStyle.lc;\n          ctx.lineJoin = currentStyle.lj;\n          ctx.miterLimit = currentStyle.ml || 0;\n        } else {\n          ctx.fillStyle = type === \"fl\" ? currentStyle.co : currentStyle.grd;\n        }\n\n        renderer.ctxOpacity(currentStyle.coOp);\n\n        if (type !== \"st\" && type !== \"gs\") {\n          ctx.beginPath();\n        }\n\n        renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n        jLen = elems.length;\n\n        for (j = 0; j < jLen; j += 1) {\n          if (type === \"st\" || type === \"gs\") {\n            ctx.beginPath();\n\n            if (currentStyle.da) {\n              ctx.setLineDash(currentStyle.da);\n              ctx.lineDashOffset = currentStyle.do;\n            }\n          }\n\n          nodes = elems[j].trNodes;\n          kLen = nodes.length;\n\n          for (k = 0; k < kLen; k += 1) {\n            if (nodes[k].t === \"m\") {\n              ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n            } else if (nodes[k].t === \"c\") {\n              ctx.bezierCurveTo(nodes[k].pts[0], nodes[k].pts[1], nodes[k].pts[2], nodes[k].pts[3], nodes[k].pts[4], nodes[k].pts[5]);\n            } else {\n              ctx.closePath();\n            }\n          }\n\n          if (type === \"st\" || type === \"gs\") {\n            ctx.stroke();\n\n            if (currentStyle.da) {\n              ctx.setLineDash((this || _global).dashResetter);\n            }\n          }\n        }\n\n        if (type !== \"st\" && type !== \"gs\") {\n          ctx.fill(currentStyle.r);\n        }\n\n        renderer.restore();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n    var i;\n    var len = items.length - 1;\n    var groupTransform;\n    groupTransform = parentTransform;\n\n    for (i = len; i >= 0; i -= 1) {\n      if (items[i].ty === \"tr\") {\n        groupTransform = data[i].transform;\n        this.renderShapeTransform(parentTransform, groupTransform);\n      } else if (items[i].ty === \"sh\" || items[i].ty === \"el\" || items[i].ty === \"rc\" || items[i].ty === \"sr\") {\n        this.renderPath(items[i], data[i]);\n      } else if (items[i].ty === \"fl\") {\n        this.renderFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"st\") {\n        this.renderStroke(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"gf\" || items[i].ty === \"gs\") {\n        this.renderGradientFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"gr\") {\n        this.renderShape(groupTransform, items[i].it, data[i].it);\n      } else if (items[i].ty === \"tm\") {//\n      }\n    }\n\n    if (isMain) {\n      this.drawLayer();\n    }\n  };\n\n  CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n    if ((this || _global)._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n      var shapeNodes = styledShape.trNodes;\n      var paths = shape.paths;\n      var i;\n      var len;\n      var j;\n      var jLen = paths._length;\n      shapeNodes.length = 0;\n      var groupTransformMat = styledShape.transforms.finalTransform;\n\n      for (j = 0; j < jLen; j += 1) {\n        var pathNodes = paths.shapes[j];\n\n        if (pathNodes && pathNodes.v) {\n          len = pathNodes._length;\n\n          for (i = 1; i < len; i += 1) {\n            if (i === 1) {\n              shapeNodes.push({\n                t: \"m\",\n                p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n              });\n            }\n\n            shapeNodes.push({\n              t: \"c\",\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n            });\n          }\n\n          if (len === 1) {\n            shapeNodes.push({\n              t: \"m\",\n              p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n            });\n          }\n\n          if (pathNodes.c && len) {\n            shapeNodes.push({\n              t: \"c\",\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n            });\n            shapeNodes.push({\n              t: \"z\"\n            });\n          }\n        }\n      }\n\n      styledShape.trNodes = shapeNodes;\n    }\n  };\n\n  CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n    if (pathData.hd !== true && pathData._shouldRender) {\n      var i;\n      var len = itemData.styledShapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n\n    if (itemData.c._mdf || (this || _global)._isFirstFrame) {\n      styleElem.co = \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\";\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || (this || _global)._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n  };\n\n  CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var grd;\n\n    if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n      var ctx = (this || _global).globalData.canvasContext;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (styleData.t === 1) {\n        grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n      } else {\n        var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n        var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n        var percent = itemData.h.v;\n\n        if (percent >= 1) {\n          percent = 0.99;\n        } else if (percent <= -1) {\n          percent = -0.99;\n        }\n\n        var dist = rad * percent;\n        var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n        var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n        grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n      }\n\n      var i;\n      var len = styleData.g.p;\n      var cValues = itemData.g.c;\n      var opacity = 1;\n\n      for (i = 0; i < len; i += 1) {\n        if (itemData.g._hasOpacity && itemData.g._collapsable) {\n          opacity = itemData.g.o[i * 2 + 1];\n        }\n\n        grd.addColorStop(cValues[i * 4] / 100, \"rgba(\" + cValues[i * 4 + 1] + \",\" + cValues[i * 4 + 2] + \",\" + cValues[i * 4 + 3] + \",\" + opacity + \")\");\n      }\n\n      styleElem.grd = grd;\n    }\n\n    styleElem.coOp = itemData.o.v * groupTransform.opacity;\n  };\n\n  CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var d = itemData.d;\n\n    if (d && (d._mdf || (this || _global)._isFirstFrame)) {\n      styleElem.da = d.dashArray;\n      styleElem.do = d.dashoffset[0];\n    }\n\n    if (itemData.c._mdf || (this || _global)._isFirstFrame) {\n      styleElem.co = \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\";\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || (this || _global)._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n\n    if (itemData.w._mdf || (this || _global)._isFirstFrame) {\n      styleElem.wi = itemData.w.v;\n    }\n  };\n\n  CVShapeElement.prototype.destroy = function () {\n    (this || _global).shapesData = null;\n    (this || _global).globalData = null;\n    (this || _global).canvasContext = null;\n    (this || _global).stylesList.length = 0;\n    (this || _global).itemsData.length = 0;\n  };\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement,\r\n  SVGShapeElement, IImageElement */\n\n\n  function CVSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n  CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVSolidElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.fillStyle = (this || _global).data.sc;\n    ctx.fillRect(0, 0, (this || _global).data.sw, (this || _global).data.sh); //\n  };\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement,\r\n  RenderableElement, ITextElement, createTag, createSizedArray */\n\n\n  function CVTextElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).yOffset = 0;\n    (this || _global).fillColorAnim = false;\n    (this || _global).strokeColorAnim = false;\n    (this || _global).strokeWidthAnim = false;\n    (this || _global).stroke = false;\n    (this || _global).fill = false;\n    (this || _global).justifyOffset = 0;\n    (this || _global).currentRender = null;\n    (this || _global).renderType = \"canvas\";\n    (this || _global).values = {\n      fill: \"rgba(0,0,0,0)\",\n      stroke: \"rgba(0,0,0,0)\",\n      sWidth: 0,\n      fValue: \"\"\n    };\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n  CVTextElement.prototype.tHelper = createTag(\"canvas\").getContext(\"2d\");\n\n  CVTextElement.prototype.buildNewText = function () {\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var hasFill = false;\n\n    if (documentData.fc) {\n      hasFill = true;\n      (this || _global).values.fill = this.buildColor(documentData.fc);\n    } else {\n      (this || _global).values.fill = \"rgba(0,0,0,0)\";\n    }\n\n    (this || _global).fill = hasFill;\n    var hasStroke = false;\n\n    if (documentData.sc) {\n      hasStroke = true;\n      (this || _global).values.stroke = this.buildColor(documentData.sc);\n      (this || _global).values.sWidth = documentData.sw;\n    }\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    var i;\n    var len;\n    var letters = documentData.l;\n    var matrixHelper = (this || _global).mHelper;\n    (this || _global).stroke = hasStroke;\n    (this || _global).values.fValue = documentData.finalSize + \"px \" + (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily;\n    len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n    var charData;\n    var shapeData;\n    var k;\n    var kLen;\n    var shapes;\n    var j;\n    var jLen;\n    var pathNodes;\n    var commands;\n    var pathArr;\n    var singleShape = (this || _global).data.singleShape;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n      shapeData = charData && charData.data || {};\n      matrixHelper.reset();\n\n      if (singleShape && letters[i].n) {\n        xPos = -trackingOffset;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        firstLine = false;\n      }\n\n      shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n      jLen = shapes.length;\n      matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n      if (singleShape) {\n        this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n      }\n\n      commands = createSizedArray(jLen);\n\n      for (j = 0; j < jLen; j += 1) {\n        kLen = shapes[j].ks.k.i.length;\n        pathNodes = shapes[j].ks.k;\n        pathArr = [];\n\n        for (k = 1; k < kLen; k += 1) {\n          if (k === 1) {\n            pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n          }\n\n          pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToY(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToX(pathNodes.v[k][0], pathNodes.v[k][1], 0), matrixHelper.applyToY(pathNodes.v[k][0], pathNodes.v[k][1], 0));\n        }\n\n        pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToY(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n        commands[j] = pathArr;\n      }\n\n      if (singleShape) {\n        xPos += letters[i].l;\n        xPos += trackingOffset;\n      }\n\n      if ((this || _global).textSpans[cnt]) {\n        (this || _global).textSpans[cnt].elem = commands;\n      } else {\n        (this || _global).textSpans[cnt] = {\n          elem: commands\n        };\n      }\n\n      cnt += 1;\n    }\n  };\n\n  CVTextElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.font = (this || _global).values.fValue;\n    ctx.lineCap = \"butt\";\n    ctx.lineJoin = \"miter\";\n    ctx.miterLimit = 4;\n\n    if (!(this || _global).data.singleShape) {\n      (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n    }\n\n    var i;\n    var len;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var renderedLetters = (this || _global).textAnimator.renderedLetters;\n    var letters = (this || _global).textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var lastFill = null;\n    var lastStroke = null;\n    var lastStrokeW = null;\n    var commands;\n    var pathArr;\n\n    for (i = 0; i < len; i += 1) {\n      if (!letters[i].n) {\n        renderedLetter = renderedLetters[i];\n\n        if (renderedLetter) {\n          (this || _global).globalData.renderer.save();\n\n          (this || _global).globalData.renderer.ctxTransform(renderedLetter.p);\n\n          (this || _global).globalData.renderer.ctxOpacity(renderedLetter.o);\n        }\n\n        if ((this || _global).fill) {\n          if (renderedLetter && renderedLetter.fc) {\n            if (lastFill !== renderedLetter.fc) {\n              lastFill = renderedLetter.fc;\n              ctx.fillStyle = renderedLetter.fc;\n            }\n          } else if (lastFill !== (this || _global).values.fill) {\n            lastFill = (this || _global).values.fill;\n            ctx.fillStyle = (this || _global).values.fill;\n          }\n\n          commands = (this || _global).textSpans[i].elem;\n          jLen = commands.length;\n\n          (this || _global).globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n\n            (this || _global).globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              (this || _global).globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          (this || _global).globalData.canvasContext.closePath();\n\n          (this || _global).globalData.canvasContext.fill(); /// ctx.fillText(this.textSpans[i].val,0,0);\n\n        }\n\n        if ((this || _global).stroke) {\n          if (renderedLetter && renderedLetter.sw) {\n            if (lastStrokeW !== renderedLetter.sw) {\n              lastStrokeW = renderedLetter.sw;\n              ctx.lineWidth = renderedLetter.sw;\n            }\n          } else if (lastStrokeW !== (this || _global).values.sWidth) {\n            lastStrokeW = (this || _global).values.sWidth;\n            ctx.lineWidth = (this || _global).values.sWidth;\n          }\n\n          if (renderedLetter && renderedLetter.sc) {\n            if (lastStroke !== renderedLetter.sc) {\n              lastStroke = renderedLetter.sc;\n              ctx.strokeStyle = renderedLetter.sc;\n            }\n          } else if (lastStroke !== (this || _global).values.stroke) {\n            lastStroke = (this || _global).values.stroke;\n            ctx.strokeStyle = (this || _global).values.stroke;\n          }\n\n          commands = (this || _global).textSpans[i].elem;\n          jLen = commands.length;\n\n          (this || _global).globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n\n            (this || _global).globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              (this || _global).globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          (this || _global).globalData.canvasContext.closePath();\n\n          (this || _global).globalData.canvasContext.stroke(); /// ctx.strokeText(letters[i].val,0,0);\n\n        }\n\n        if (renderedLetter) {\n          (this || _global).globalData.renderer.restore();\n        }\n      }\n    }\n  };\n\n  function CVEffects() {}\n\n  CVEffects.prototype.renderFrame = function () {};\n  /* global createTag, createNS, styleDiv, CVEffects, MaskElement, SVGBaseElement, HybridRenderer */\n\n\n  function HBaseElement() {}\n\n  HBaseElement.prototype = {\n    checkBlendMode: function () {},\n    initRendererElement: function () {\n      (this || _global).baseElement = createTag((this || _global).data.tg || \"div\");\n\n      if ((this || _global).data.hasMask) {\n        (this || _global).svgElement = createNS(\"svg\");\n        (this || _global).layerElement = createNS(\"g\");\n        (this || _global).maskedElement = (this || _global).layerElement;\n\n        (this || _global).svgElement.appendChild((this || _global).layerElement);\n\n        (this || _global).baseElement.appendChild((this || _global).svgElement);\n      } else {\n        (this || _global).layerElement = (this || _global).baseElement;\n      }\n\n      styleDiv((this || _global).baseElement);\n    },\n    createContainerElements: function () {\n      (this || _global).renderableEffectsManager = new CVEffects(this || _global);\n      (this || _global).transformedElement = (this || _global).baseElement;\n      (this || _global).maskedElement = (this || _global).layerElement;\n\n      if ((this || _global).data.ln) {\n        (this || _global).layerElement.setAttribute(\"id\", (this || _global).data.ln);\n      }\n\n      if ((this || _global).data.cl) {\n        (this || _global).layerElement.setAttribute(\"class\", (this || _global).data.cl);\n      }\n\n      if ((this || _global).data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function () {\n      var transformedElementStyle = (this || _global).transformedElement ? (this || _global).transformedElement.style : {};\n\n      if ((this || _global).finalTransform._matMdf) {\n        var matrixValue = (this || _global).finalTransform.mat.toCSS();\n\n        transformedElementStyle.transform = matrixValue;\n        transformedElementStyle.webkitTransform = matrixValue;\n      }\n\n      if ((this || _global).finalTransform._opMdf) {\n        transformedElementStyle.opacity = (this || _global).finalTransform.mProp.o.v;\n      }\n    },\n    renderFrame: function () {\n      // If it is exported as hidden (data.hd === true) no need to render\n      // If it is not visible no need to render\n      if ((this || _global).data.hd || (this || _global).hidden) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.renderElement();\n      this.renderInnerContent();\n\n      if ((this || _global)._isFirstFrame) {\n        (this || _global)._isFirstFrame = false;\n      }\n    },\n    destroy: function () {\n      (this || _global).layerElement = null;\n      (this || _global).transformedElement = null;\n\n      if ((this || _global).matteElement) {\n        (this || _global).matteElement = null;\n      }\n\n      if ((this || _global).maskManager) {\n        (this || _global).maskManager.destroy();\n\n        (this || _global).maskManager = null;\n      }\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new MaskElement((this || _global).data, this || _global, (this || _global).globalData);\n    },\n    addEffects: function () {},\n    setMatte: function () {}\n  };\n  HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n  HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n  HBaseElement.prototype.buildElementParenting = HybridRenderer.prototype.buildElementParenting;\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, createNS, createTag */\n\n  function HSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n  HSolidElement.prototype.createContent = function () {\n    var rect;\n\n    if ((this || _global).data.hasMask) {\n      rect = createNS(\"rect\");\n      rect.setAttribute(\"width\", (this || _global).data.sw);\n      rect.setAttribute(\"height\", (this || _global).data.sh);\n      rect.setAttribute(\"fill\", (this || _global).data.sc);\n\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).data.sw);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).data.sh);\n    } else {\n      rect = createTag(\"div\");\n      rect.style.width = (this || _global).data.sw + \"px\";\n      rect.style.height = (this || _global).data.sh + \"px\";\n      rect.style.backgroundColor = (this || _global).data.sc;\n    }\n\n    (this || _global).layerElement.appendChild(rect);\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, HybridRenderer, ICompElement, HBaseElement */\n\n\n  function HCompElement(data, globalData, comp) {\n    (this || _global).layers = data.layers;\n    (this || _global).supports3d = !data.hasMask;\n    (this || _global).completeLayers = false;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = (this || _global).layers ? createSizedArray((this || _global).layers.length) : [];\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([HybridRenderer, ICompElement, HBaseElement], HCompElement);\n  HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n  HCompElement.prototype.createContainerElements = function () {\n    this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).data.w);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).data.h);\n\n      (this || _global).transformedElement = (this || _global).baseElement;\n    } else {\n      (this || _global).transformedElement = (this || _global).layerElement;\n    }\n  };\n\n  HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n    var j = 0;\n    var nextElement;\n\n    while (j < pos) {\n      if ((this || _global).elements[j] && (this || _global).elements[j].getBaseElement) {\n        nextElement = (this || _global).elements[j].getBaseElement();\n      }\n\n      j += 1;\n    }\n\n    if (nextElement) {\n      (this || _global).layerElement.insertBefore(elem, nextElement);\n    } else {\n      (this || _global).layerElement.appendChild(elem);\n    }\n  };\n  /* global createNS, extendPrototype, BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement,\r\n  HierarchyElement, FrameElement, RenderableElement, createNS, bmMin, bmSqrt, bmMin, bmMax, bmPow */\n\n\n  function HShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    (this || _global).shapes = []; // Full shape data\n\n    (this || _global).shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    (this || _global).stylesList = []; // List of modifiers that will be applied to shapes\n\n    (this || _global).shapeModifiers = []; // List of items in shape tree\n\n    (this || _global).itemsData = []; // List of items in previous shape tree\n\n    (this || _global).processedElements = []; // List of animated components\n\n    (this || _global).animatedContents = [];\n    (this || _global).shapesContainer = createNS(\"g\");\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    (this || _global).prevViewData = [];\n    (this || _global).currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n  HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n  HShapeElement.prototype.createContent = function () {\n    var cont;\n    (this || _global).baseElement.style.fontSize = 0;\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).layerElement.appendChild((this || _global).shapesContainer);\n\n      cont = (this || _global).svgElement;\n    } else {\n      cont = createNS(\"svg\");\n      var size = (this || _global).comp.data ? (this || _global).comp.data : (this || _global).globalData.compSize;\n      cont.setAttribute(\"width\", size.w);\n      cont.setAttribute(\"height\", size.h);\n      cont.appendChild((this || _global).shapesContainer);\n\n      (this || _global).layerElement.appendChild(cont);\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).shapesContainer, 0, [], true);\n    this.filterUniqueShapes();\n    (this || _global).shapeCont = cont;\n  };\n\n  HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n    var i;\n    var len = transformers.length;\n\n    for (i = 0; i < len; i += 1) {\n      point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n    }\n\n    return point;\n  };\n\n  HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n    var shape = item.sh.v;\n    var transformers = item.transformers;\n    var i;\n    var len = shape._length;\n    var vPoint;\n    var oPoint;\n    var nextIPoint;\n    var nextVPoint;\n\n    if (len <= 1) {\n      return;\n    }\n\n    for (i = 0; i < len - 1; i += 1) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n\n    if (shape.c) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n  };\n\n  HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n    this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n    var bounds = (this || _global).shapeBoundingBox;\n    boundingBox.x = bmMin(bounds.left, boundingBox.x);\n    boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n    boundingBox.y = bmMin(bounds.top, boundingBox.y);\n    boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n  };\n\n  HShapeElement.prototype.shapeBoundingBox = {\n    left: 0,\n    right: 0,\n    top: 0,\n    bottom: 0\n  };\n  HShapeElement.prototype.tempBoundingBox = {\n    x: 0,\n    xMax: 0,\n    y: 0,\n    yMax: 0,\n    width: 0,\n    height: 0\n  };\n\n  HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n    var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n    for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n      // eslint-disable-line no-plusplus\n      b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n      a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n      c = 3 * p1[i] - 3 * p0[i];\n      b |= 0; // eslint-disable-line no-bitwise\n\n      a |= 0; // eslint-disable-line no-bitwise\n\n      c |= 0; // eslint-disable-line no-bitwise\n\n      if (a === 0 && b === 0) {//\n      } else if (a === 0) {\n        t = -c / b;\n\n        if (t > 0 && t < 1) {\n          bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n        }\n      } else {\n        b2ac = b * b - 4 * c * a;\n\n        if (b2ac >= 0) {\n          t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n          if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n          t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n          if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n        }\n      }\n    }\n\n    (this || _global).shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n    (this || _global).shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n    (this || _global).shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n    (this || _global).shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n  };\n\n  HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n    return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i];\n  };\n\n  HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n    var i;\n    var len = itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (itemsData[i] && itemsData[i].sh) {\n        this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n      } else if (itemsData[i] && itemsData[i].it) {\n        this.calculateBoundingBox(itemsData[i].it, boundingBox);\n      }\n    }\n  };\n\n  HShapeElement.prototype.currentBoxContains = function (box) {\n    return (this || _global).currentBBox.x <= box.x && (this || _global).currentBBox.y <= box.y && (this || _global).currentBBox.width + (this || _global).currentBBox.x >= box.x + box.width && (this || _global).currentBBox.height + (this || _global).currentBBox.y >= box.y + box.height;\n  };\n\n  HShapeElement.prototype.renderInnerContent = function () {\n    this._renderShapeFrame();\n\n    if (!(this || _global).hidden && ((this || _global)._isFirstFrame || (this || _global)._mdf)) {\n      var tempBoundingBox = (this || _global).tempBoundingBox;\n      var max = 999999;\n      tempBoundingBox.x = max;\n      tempBoundingBox.xMax = -max;\n      tempBoundingBox.y = max;\n      tempBoundingBox.yMax = -max;\n      this.calculateBoundingBox((this || _global).itemsData, tempBoundingBox);\n      tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n      tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n      if (this.currentBoxContains(tempBoundingBox)) {\n        return;\n      }\n\n      var changed = false;\n\n      if ((this || _global).currentBBox.w !== tempBoundingBox.width) {\n        (this || _global).currentBBox.w = tempBoundingBox.width;\n\n        (this || _global).shapeCont.setAttribute(\"width\", tempBoundingBox.width);\n\n        changed = true;\n      }\n\n      if ((this || _global).currentBBox.h !== tempBoundingBox.height) {\n        (this || _global).currentBBox.h = tempBoundingBox.height;\n\n        (this || _global).shapeCont.setAttribute(\"height\", tempBoundingBox.height);\n\n        changed = true;\n      }\n\n      if (changed || (this || _global).currentBBox.x !== tempBoundingBox.x || (this || _global).currentBBox.y !== tempBoundingBox.y) {\n        (this || _global).currentBBox.w = tempBoundingBox.width;\n        (this || _global).currentBBox.h = tempBoundingBox.height;\n        (this || _global).currentBBox.x = tempBoundingBox.x;\n        (this || _global).currentBBox.y = tempBoundingBox.y;\n\n        (this || _global).shapeCont.setAttribute(\"viewBox\", (this || _global).currentBBox.x + \" \" + (this || _global).currentBBox.y + \" \" + (this || _global).currentBBox.w + \" \" + (this || _global).currentBBox.h);\n\n        var shapeStyle = (this || _global).shapeCont.style;\n        var shapeTransform = \"translate(\" + (this || _global).currentBBox.x + \"px,\" + (this || _global).currentBBox.y + \"px)\";\n        shapeStyle.transform = shapeTransform;\n        shapeStyle.webkitTransform = shapeTransform;\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, ITextElement, createSizedArray, createTag, styleDiv, createNS */\n\n\n  function HTextElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).textPaths = [];\n    (this || _global).currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n    (this || _global).renderType = \"svg\";\n    (this || _global).isMasked = false;\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n  HTextElement.prototype.createContent = function () {\n    (this || _global).isMasked = this.checkMasks();\n\n    if ((this || _global).isMasked) {\n      (this || _global).renderType = \"svg\";\n      (this || _global).compW = (this || _global).comp.data.w;\n      (this || _global).compH = (this || _global).comp.data.h;\n\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).compW);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).compH);\n\n      var g = createNS(\"g\");\n\n      (this || _global).maskedElement.appendChild(g);\n\n      (this || _global).innerElem = g;\n    } else {\n      (this || _global).renderType = \"html\";\n      (this || _global).innerElem = (this || _global).layerElement;\n    }\n\n    this.checkParenting();\n  };\n\n  HTextElement.prototype.buildNewText = function () {\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var innerElemStyle = (this || _global).innerElem.style;\n    var textColor = documentData.fc ? this.buildColor(documentData.fc) : \"rgba(0,0,0,0)\";\n    innerElemStyle.fill = textColor;\n    innerElemStyle.color = textColor;\n\n    if (documentData.sc) {\n      innerElemStyle.stroke = this.buildColor(documentData.sc);\n      innerElemStyle.strokeWidth = documentData.sw + \"px\";\n    }\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    if (!(this || _global).globalData.fontManager.chars) {\n      innerElemStyle.fontSize = documentData.finalSize + \"px\";\n      innerElemStyle.lineHeight = documentData.finalSize + \"px\";\n\n      if (fontData.fClass) {\n        (this || _global).innerElem.className = fontData.fClass;\n      } else {\n        innerElemStyle.fontFamily = fontData.fFamily;\n        var fWeight = documentData.fWeight;\n        var fStyle = documentData.fStyle;\n        innerElemStyle.fontStyle = fStyle;\n        innerElemStyle.fontWeight = fWeight;\n      }\n    }\n\n    var i;\n    var len;\n    var letters = documentData.l;\n    len = letters.length;\n    var tSpan;\n    var tParent;\n    var tCont;\n    var matrixHelper = (this || _global).mHelper;\n    var shapes;\n    var shapeStr = \"\";\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).globalData.fontManager.chars) {\n        if (!(this || _global).textPaths[cnt]) {\n          tSpan = createNS(\"path\");\n          tSpan.setAttribute(\"stroke-linecap\", \"butt\");\n          tSpan.setAttribute(\"stroke-linejoin\", \"round\");\n          tSpan.setAttribute(\"stroke-miterlimit\", \"4\");\n        } else {\n          tSpan = (this || _global).textPaths[cnt];\n        }\n\n        if (!(this || _global).isMasked) {\n          if ((this || _global).textSpans[cnt]) {\n            tParent = (this || _global).textSpans[cnt];\n            tCont = tParent.children[0];\n          } else {\n            tParent = createTag(\"div\");\n            tParent.style.lineHeight = 0;\n            tCont = createNS(\"svg\");\n            tCont.appendChild(tSpan);\n            styleDiv(tParent);\n          }\n        }\n      } else if (!(this || _global).isMasked) {\n        if ((this || _global).textSpans[cnt]) {\n          tParent = (this || _global).textSpans[cnt];\n          tSpan = (this || _global).textPaths[cnt];\n        } else {\n          tParent = createTag(\"span\");\n          styleDiv(tParent);\n          tSpan = createTag(\"span\");\n          styleDiv(tSpan);\n          tParent.appendChild(tSpan);\n        }\n      } else {\n        tSpan = (this || _global).textPaths[cnt] ? (this || _global).textPaths[cnt] : createNS(\"text\");\n      } // tSpan.setAttribute('visibility', 'hidden');\n\n\n      if ((this || _global).globalData.fontManager.chars) {\n        var charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n\n        var shapeData;\n\n        if (charData) {\n          shapeData = charData.data;\n        } else {\n          shapeData = null;\n        }\n\n        matrixHelper.reset();\n\n        if (shapeData && shapeData.shapes) {\n          shapes = shapeData.shapes[0].it;\n          matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n          shapeStr = this.createPathShape(matrixHelper, shapes);\n          tSpan.setAttribute(\"d\", shapeStr);\n        }\n\n        if (!(this || _global).isMasked) {\n          (this || _global).innerElem.appendChild(tParent);\n\n          if (shapeData && shapeData.shapes) {\n            // document.body.appendChild is needed to get exact measure of shape\n            document.body.appendChild(tCont);\n            var boundingBox = tCont.getBBox();\n            tCont.setAttribute(\"width\", boundingBox.width + 2);\n            tCont.setAttribute(\"height\", boundingBox.height + 2);\n            tCont.setAttribute(\"viewBox\", boundingBox.x - 1 + \" \" + (boundingBox.y - 1) + \" \" + (boundingBox.width + 2) + \" \" + (boundingBox.height + 2));\n            var tContStyle = tCont.style;\n            var tContTranslation = \"translate(\" + (boundingBox.x - 1) + \"px,\" + (boundingBox.y - 1) + \"px)\";\n            tContStyle.transform = tContTranslation;\n            tContStyle.webkitTransform = tContTranslation;\n            letters[i].yOffset = boundingBox.y - 1;\n          } else {\n            tCont.setAttribute(\"width\", 1);\n            tCont.setAttribute(\"height\", 1);\n          }\n\n          tParent.appendChild(tCont);\n        } else {\n          (this || _global).innerElem.appendChild(tSpan);\n        }\n      } else {\n        tSpan.textContent = letters[i].val;\n        tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n\n        if (!(this || _global).isMasked) {\n          (this || _global).innerElem.appendChild(tParent); //\n\n\n          var tStyle = tSpan.style;\n          var tSpanTranslation = \"translate3d(0,\" + -documentData.finalSize / 1.2 + \"px,0)\";\n          tStyle.transform = tSpanTranslation;\n          tStyle.webkitTransform = tSpanTranslation;\n        } else {\n          (this || _global).innerElem.appendChild(tSpan);\n        }\n      } //\n\n\n      if (!(this || _global).isMasked) {\n        (this || _global).textSpans[cnt] = tParent;\n      } else {\n        (this || _global).textSpans[cnt] = tSpan;\n      }\n\n      (this || _global).textSpans[cnt].style.display = \"block\";\n      (this || _global).textPaths[cnt] = tSpan;\n      cnt += 1;\n    }\n\n    while (cnt < (this || _global).textSpans.length) {\n      (this || _global).textSpans[cnt].style.display = \"none\";\n      cnt += 1;\n    }\n  };\n\n  HTextElement.prototype.renderInnerContent = function () {\n    var svgStyle;\n\n    if ((this || _global).data.singleShape) {\n      if (!(this || _global)._isFirstFrame && !(this || _global).lettersChangedFlag) {\n        return;\n      }\n\n      if ((this || _global).isMasked && (this || _global).finalTransform._matMdf) {\n        // Todo Benchmark if using this is better than getBBox\n        (this || _global).svgElement.setAttribute(\"viewBox\", -(this || _global).finalTransform.mProp.p.v[0] + \" \" + -(this || _global).finalTransform.mProp.p.v[1] + \" \" + (this || _global).compW + \" \" + (this || _global).compH);\n\n        svgStyle = (this || _global).svgElement.style;\n        var translation = \"translate(\" + -(this || _global).finalTransform.mProp.p.v[0] + \"px,\" + -(this || _global).finalTransform.mProp.p.v[1] + \"px)\";\n        svgStyle.transform = translation;\n        svgStyle.webkitTransform = translation;\n      }\n    }\n\n    (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n\n    if (!(this || _global).lettersChangedFlag && !(this || _global).textAnimator.lettersChangedFlag) {\n      return;\n    }\n\n    var i;\n    var len;\n    var count = 0;\n    var renderedLetters = (this || _global).textAnimator.renderedLetters;\n    var letters = (this || _global).textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var textSpan;\n    var textPath;\n\n    for (i = 0; i < len; i += 1) {\n      if (letters[i].n) {\n        count += 1;\n      } else {\n        textSpan = (this || _global).textSpans[i];\n        textPath = (this || _global).textPaths[i];\n        renderedLetter = renderedLetters[count];\n        count += 1;\n\n        if (renderedLetter._mdf.m) {\n          if (!(this || _global).isMasked) {\n            textSpan.style.webkitTransform = renderedLetter.m;\n            textSpan.style.transform = renderedLetter.m;\n          } else {\n            textSpan.setAttribute(\"transform\", renderedLetter.m);\n          }\n        } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n        textSpan.style.opacity = renderedLetter.o;\n\n        if (renderedLetter.sw && renderedLetter._mdf.sw) {\n          textPath.setAttribute(\"stroke-width\", renderedLetter.sw);\n        }\n\n        if (renderedLetter.sc && renderedLetter._mdf.sc) {\n          textPath.setAttribute(\"stroke\", renderedLetter.sc);\n        }\n\n        if (renderedLetter.fc && renderedLetter._mdf.fc) {\n          textPath.setAttribute(\"fill\", renderedLetter.fc);\n          textPath.style.color = renderedLetter.fc;\n        }\n      }\n    }\n\n    if ((this || _global).innerElem.getBBox && !(this || _global).hidden && ((this || _global)._isFirstFrame || (this || _global)._mdf)) {\n      var boundingBox = (this || _global).innerElem.getBBox();\n\n      if ((this || _global).currentBBox.w !== boundingBox.width) {\n        (this || _global).currentBBox.w = boundingBox.width;\n\n        (this || _global).svgElement.setAttribute(\"width\", boundingBox.width);\n      }\n\n      if ((this || _global).currentBBox.h !== boundingBox.height) {\n        (this || _global).currentBBox.h = boundingBox.height;\n\n        (this || _global).svgElement.setAttribute(\"height\", boundingBox.height);\n      }\n\n      var margin = 1;\n\n      if ((this || _global).currentBBox.w !== boundingBox.width + margin * 2 || (this || _global).currentBBox.h !== boundingBox.height + margin * 2 || (this || _global).currentBBox.x !== boundingBox.x - margin || (this || _global).currentBBox.y !== boundingBox.y - margin) {\n        (this || _global).currentBBox.w = boundingBox.width + margin * 2;\n        (this || _global).currentBBox.h = boundingBox.height + margin * 2;\n        (this || _global).currentBBox.x = boundingBox.x - margin;\n        (this || _global).currentBBox.y = boundingBox.y - margin;\n\n        (this || _global).svgElement.setAttribute(\"viewBox\", (this || _global).currentBBox.x + \" \" + (this || _global).currentBBox.y + \" \" + (this || _global).currentBBox.w + \" \" + (this || _global).currentBBox.h);\n\n        svgStyle = (this || _global).svgElement.style;\n        var svgTransform = \"translate(\" + (this || _global).currentBBox.x + \"px,\" + (this || _global).currentBBox.y + \"px)\";\n        svgStyle.transform = svgTransform;\n        svgStyle.webkitTransform = svgTransform;\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement,\r\n  FrameElement, RenderableElement, createNS */\n\n\n  function HImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n  HImageElement.prototype.createContent = function () {\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    var img = new Image();\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).imageElem = createNS(\"image\");\n\n      (this || _global).imageElem.setAttribute(\"width\", (this || _global).assetData.w + \"px\");\n\n      (this || _global).imageElem.setAttribute(\"height\", (this || _global).assetData.h + \"px\");\n\n      (this || _global).imageElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", assetPath);\n\n      (this || _global).layerElement.appendChild((this || _global).imageElem);\n\n      (this || _global).baseElement.setAttribute(\"width\", (this || _global).assetData.w);\n\n      (this || _global).baseElement.setAttribute(\"height\", (this || _global).assetData.h);\n    } else {\n      (this || _global).layerElement.appendChild(img);\n    }\n\n    img.crossOrigin = \"anonymous\";\n    img.src = assetPath;\n\n    if ((this || _global).data.ln) {\n      (this || _global).baseElement.setAttribute(\"id\", (this || _global).data.ln);\n    }\n  };\n  /* global PropertyFactory, degToRads, Matrix, extendPrototype, BaseElement, FrameElement, HierarchyElement */\n\n\n  function HCameraElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initHierarchy();\n    var getProp = PropertyFactory.getProp;\n    (this || _global).pe = getProp(this || _global, data.pe, 0, 0, this || _global);\n\n    if (data.ks.p.s) {\n      (this || _global).px = getProp(this || _global, data.ks.p.x, 1, 0, this || _global);\n      (this || _global).py = getProp(this || _global, data.ks.p.y, 1, 0, this || _global);\n      (this || _global).pz = getProp(this || _global, data.ks.p.z, 1, 0, this || _global);\n    } else {\n      (this || _global).p = getProp(this || _global, data.ks.p, 1, 0, this || _global);\n    }\n\n    if (data.ks.a) {\n      (this || _global).a = getProp(this || _global, data.ks.a, 1, 0, this || _global);\n    }\n\n    if (data.ks.or.k.length && data.ks.or.k[0].to) {\n      var i;\n      var len = data.ks.or.k.length;\n\n      for (i = 0; i < len; i += 1) {\n        data.ks.or.k[i].to = null;\n        data.ks.or.k[i].ti = null;\n      }\n    }\n\n    (this || _global).or = getProp(this || _global, data.ks.or, 1, degToRads, this || _global);\n    (this || _global).or.sh = true;\n    (this || _global).rx = getProp(this || _global, data.ks.rx, 0, degToRads, this || _global);\n    (this || _global).ry = getProp(this || _global, data.ks.ry, 0, degToRads, this || _global);\n    (this || _global).rz = getProp(this || _global, data.ks.rz, 0, degToRads, this || _global);\n    (this || _global).mat = new Matrix();\n    (this || _global)._prevMat = new Matrix();\n    (this || _global)._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n    (this || _global).finalTransform = {\n      mProp: this || _global\n    };\n  }\n\n  extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n  HCameraElement.prototype.setup = function () {\n    var i;\n    var len = (this || _global).comp.threeDElements.length;\n    var comp;\n    var perspectiveStyle;\n    var containerStyle;\n\n    for (i = 0; i < len; i += 1) {\n      // [perspectiveElem,container]\n      comp = (this || _global).comp.threeDElements[i];\n\n      if (comp.type === \"3d\") {\n        perspectiveStyle = comp.perspectiveElem.style;\n        containerStyle = comp.container.style;\n        var perspective = (this || _global).pe.v + \"px\";\n        var origin = \"0px 0px 0px\";\n        var matrix = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n        perspectiveStyle.perspective = perspective;\n        perspectiveStyle.webkitPerspective = perspective;\n        containerStyle.transformOrigin = origin;\n        containerStyle.mozTransformOrigin = origin;\n        containerStyle.webkitTransformOrigin = origin;\n        perspectiveStyle.transform = matrix;\n        perspectiveStyle.webkitTransform = matrix;\n      }\n    }\n  };\n\n  HCameraElement.prototype.createElements = function () {};\n\n  HCameraElement.prototype.hide = function () {};\n\n  HCameraElement.prototype.renderFrame = function () {\n    var _mdf = (this || _global)._isFirstFrame;\n    var i;\n    var len;\n\n    if ((this || _global).hierarchy) {\n      len = (this || _global).hierarchy.length;\n\n      for (i = 0; i < len; i += 1) {\n        _mdf = (this || _global).hierarchy[i].finalTransform.mProp._mdf || _mdf;\n      }\n    }\n\n    if (_mdf || (this || _global).pe._mdf || (this || _global).p && (this || _global).p._mdf || (this || _global).px && ((this || _global).px._mdf || (this || _global).py._mdf || (this || _global).pz._mdf) || (this || _global).rx._mdf || (this || _global).ry._mdf || (this || _global).rz._mdf || (this || _global).or._mdf || (this || _global).a && (this || _global).a._mdf) {\n      (this || _global).mat.reset();\n\n      if ((this || _global).hierarchy) {\n        len = (this || _global).hierarchy.length - 1;\n\n        for (i = len; i >= 0; i -= 1) {\n          var mTransf = (this || _global).hierarchy[i].finalTransform.mProp;\n\n          (this || _global).mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n\n          (this || _global).mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n\n          (this || _global).mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n\n          (this || _global).mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n\n          (this || _global).mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n        }\n      }\n\n      if ((this || _global).p) {\n        (this || _global).mat.translate(-(this || _global).p.v[0], -(this || _global).p.v[1], (this || _global).p.v[2]);\n      } else {\n        (this || _global).mat.translate(-(this || _global).px.v, -(this || _global).py.v, (this || _global).pz.v);\n      }\n\n      if ((this || _global).a) {\n        var diffVector;\n\n        if ((this || _global).p) {\n          diffVector = [(this || _global).p.v[0] - (this || _global).a.v[0], (this || _global).p.v[1] - (this || _global).a.v[1], (this || _global).p.v[2] - (this || _global).a.v[2]];\n        } else {\n          diffVector = [(this || _global).px.v - (this || _global).a.v[0], (this || _global).py.v - (this || _global).a.v[1], (this || _global).pz.v - (this || _global).a.v[2]];\n        }\n\n        var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n        var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n        var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n        var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n        var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n\n        (this || _global).mat.rotateY(mRotationY).rotateX(-mRotationX);\n      }\n\n      (this || _global).mat.rotateX(-(this || _global).rx.v).rotateY(-(this || _global).ry.v).rotateZ((this || _global).rz.v);\n\n      (this || _global).mat.rotateX(-(this || _global).or.v[0]).rotateY(-(this || _global).or.v[1]).rotateZ((this || _global).or.v[2]);\n\n      (this || _global).mat.translate((this || _global).globalData.compSize.w / 2, (this || _global).globalData.compSize.h / 2, 0);\n\n      (this || _global).mat.translate(0, 0, (this || _global).pe.v);\n\n      var hasMatrixChanged = !(this || _global)._prevMat.equals((this || _global).mat);\n\n      if ((hasMatrixChanged || (this || _global).pe._mdf) && (this || _global).comp.threeDElements) {\n        len = (this || _global).comp.threeDElements.length;\n        var comp;\n        var perspectiveStyle;\n        var containerStyle;\n\n        for (i = 0; i < len; i += 1) {\n          comp = (this || _global).comp.threeDElements[i];\n\n          if (comp.type === \"3d\") {\n            if (hasMatrixChanged) {\n              var matValue = (this || _global).mat.toCSS();\n\n              containerStyle = comp.container.style;\n              containerStyle.transform = matValue;\n              containerStyle.webkitTransform = matValue;\n            }\n\n            if ((this || _global).pe._mdf) {\n              perspectiveStyle = comp.perspectiveElem.style;\n              perspectiveStyle.perspective = (this || _global).pe.v + \"px\";\n              perspectiveStyle.webkitPerspective = (this || _global).pe.v + \"px\";\n            }\n          }\n        }\n\n        (this || _global).mat.clone((this || _global)._prevMat);\n      }\n    }\n\n    (this || _global)._isFirstFrame = false;\n  };\n\n  HCameraElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  HCameraElement.prototype.destroy = function () {};\n\n  HCameraElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  function HEffects() {}\n\n  HEffects.prototype.renderFrame = function () {};\n  /* global createTag, AnimationItem */\n\n  /* exported animationManager */\n\n\n  var animationManager = function () {\n    var moduleOb = {};\n    var registeredAnimations = [];\n    var initTime = 0;\n    var len = 0;\n    var playingAnimationsNum = 0;\n    var _stopped = true;\n    var _isFrozen = false;\n\n    function removeElement(ev) {\n      var i = 0;\n      var animItem = ev.target;\n\n      while (i < len) {\n        if (registeredAnimations[i].animation === animItem) {\n          registeredAnimations.splice(i, 1);\n          i -= 1;\n          len -= 1;\n\n          if (!animItem.isPaused) {\n            subtractPlayingCount();\n          }\n        }\n\n        i += 1;\n      }\n    }\n\n    function registerAnimation(element, animationData) {\n      if (!element) {\n        return null;\n      }\n\n      var i = 0;\n\n      while (i < len) {\n        if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n          return registeredAnimations[i].animation;\n        }\n\n        i += 1;\n      }\n\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, element);\n      animItem.setData(element, animationData);\n      return animItem;\n    }\n\n    function getRegisteredAnimations() {\n      var i;\n      var lenAnims = registeredAnimations.length;\n      var animations = [];\n\n      for (i = 0; i < lenAnims; i += 1) {\n        animations.push(registeredAnimations[i].animation);\n      }\n\n      return animations;\n    }\n\n    function addPlayingCount() {\n      playingAnimationsNum += 1;\n      activate();\n    }\n\n    function subtractPlayingCount() {\n      playingAnimationsNum -= 1;\n    }\n\n    function setupAnimation(animItem, element) {\n      animItem.addEventListener(\"destroy\", removeElement);\n      animItem.addEventListener(\"_active\", addPlayingCount);\n      animItem.addEventListener(\"_idle\", subtractPlayingCount);\n      registeredAnimations.push({\n        elem: element,\n        animation: animItem\n      });\n      len += 1;\n    }\n\n    function loadAnimation(params) {\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, null);\n      animItem.setParams(params);\n      return animItem;\n    }\n\n    function setSpeed(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setSpeed(val, animation);\n      }\n    }\n\n    function setDirection(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setDirection(val, animation);\n      }\n    }\n\n    function play(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.play(animation);\n      }\n    }\n\n    function resume(nowTime) {\n      var elapsedTime = nowTime - initTime;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.advanceTime(elapsedTime);\n      }\n\n      initTime = nowTime;\n\n      if (playingAnimationsNum && !_isFrozen) {\n        window.requestAnimationFrame(resume);\n      } else {\n        _stopped = true;\n      }\n    }\n\n    function first(nowTime) {\n      initTime = nowTime;\n      window.requestAnimationFrame(resume);\n    }\n\n    function pause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.pause(animation);\n      }\n    }\n\n    function goToAndStop(value, isFrame, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n      }\n    }\n\n    function stop(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.stop(animation);\n      }\n    }\n\n    function togglePause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.togglePause(animation);\n      }\n    }\n\n    function destroy(animation) {\n      var i;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        registeredAnimations[i].animation.destroy(animation);\n      }\n    }\n\n    function searchAnimations(animationData, standalone, renderer) {\n      var animElements = [].concat([].slice.call(document.getElementsByClassName(\"lottie\")), [].slice.call(document.getElementsByClassName(\"bodymovin\")));\n      var i;\n      var lenAnims = animElements.length;\n\n      for (i = 0; i < lenAnims; i += 1) {\n        if (renderer) {\n          animElements[i].setAttribute(\"data-bm-type\", renderer);\n        }\n\n        registerAnimation(animElements[i], animationData);\n      }\n\n      if (standalone && lenAnims === 0) {\n        if (!renderer) {\n          renderer = \"svg\";\n        }\n\n        var body = document.getElementsByTagName(\"body\")[0];\n        body.innerText = \"\";\n        var div = createTag(\"div\");\n        div.style.width = \"100%\";\n        div.style.height = \"100%\";\n        div.setAttribute(\"data-bm-type\", renderer);\n        body.appendChild(div);\n        registerAnimation(div, animationData);\n      }\n    }\n\n    function resize() {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.resize();\n      }\n    }\n\n    function activate() {\n      if (!_isFrozen && playingAnimationsNum) {\n        if (_stopped) {\n          window.requestAnimationFrame(first);\n          _stopped = false;\n        }\n      }\n    }\n\n    function freeze() {\n      _isFrozen = true;\n    }\n\n    function unfreeze() {\n      _isFrozen = false;\n      activate();\n    }\n\n    function setVolume(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setVolume(val, animation);\n      }\n    }\n\n    function mute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.mute(animation);\n      }\n    }\n\n    function unmute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.unmute(animation);\n      }\n    }\n\n    moduleOb.registerAnimation = registerAnimation;\n    moduleOb.loadAnimation = loadAnimation;\n    moduleOb.setSpeed = setSpeed;\n    moduleOb.setDirection = setDirection;\n    moduleOb.play = play;\n    moduleOb.pause = pause;\n    moduleOb.stop = stop;\n    moduleOb.togglePause = togglePause;\n    moduleOb.searchAnimations = searchAnimations;\n    moduleOb.resize = resize; // moduleOb.start = start;\n\n    moduleOb.goToAndStop = goToAndStop;\n    moduleOb.destroy = destroy;\n    moduleOb.freeze = freeze;\n    moduleOb.unfreeze = unfreeze;\n    moduleOb.setVolume = setVolume;\n    moduleOb.mute = mute;\n    moduleOb.unmute = unmute;\n    moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n    return moduleOb;\n  }();\n  /* global createElementID, subframeEnabled, ProjectInterface, ImagePreloader, audioControllerFactory, extendPrototype, BaseEvent,\r\n  CanvasRenderer, SVGRenderer, HybridRenderer, assetLoader, dataManager, expressionsPlugin, BMEnterFrameEvent, BMCompleteLoopEvent,\r\n  BMCompleteEvent, BMSegmentStartEvent, BMDestroyEvent, BMEnterFrameEvent, BMCompleteLoopEvent, BMCompleteEvent, BMSegmentStartEvent,\r\n  BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, markerParser */\n\n\n  var AnimationItem = function () {\n    (this || _global)._cbs = [];\n    (this || _global).name = \"\";\n    (this || _global).path = \"\";\n    (this || _global).isLoaded = false;\n    (this || _global).currentFrame = 0;\n    (this || _global).currentRawFrame = 0;\n    (this || _global).firstFrame = 0;\n    (this || _global).totalFrames = 0;\n    (this || _global).frameRate = 0;\n    (this || _global).frameMult = 0;\n    (this || _global).playSpeed = 1;\n    (this || _global).playDirection = 1;\n    (this || _global).playCount = 0;\n    (this || _global).animationData = {};\n    (this || _global).assets = [];\n    (this || _global).isPaused = true;\n    (this || _global).autoplay = false;\n    (this || _global).loop = true;\n    (this || _global).renderer = null;\n    (this || _global).animationID = createElementID();\n    (this || _global).assetsPath = \"\";\n    (this || _global).timeCompleted = 0;\n    (this || _global).segmentPos = 0;\n    (this || _global).isSubframeEnabled = subframeEnabled;\n    (this || _global).segments = [];\n    (this || _global)._idle = true;\n    (this || _global)._completedLoop = false;\n    (this || _global).projectInterface = ProjectInterface();\n    (this || _global).imagePreloader = new ImagePreloader();\n    (this || _global).audioController = audioControllerFactory();\n    (this || _global).markers = [];\n  };\n\n  extendPrototype([BaseEvent], AnimationItem);\n\n  AnimationItem.prototype.setParams = function (params) {\n    if (params.wrapper || params.container) {\n      (this || _global).wrapper = params.wrapper || params.container;\n    }\n\n    var animType = \"svg\";\n\n    if (params.animType) {\n      animType = params.animType;\n    } else if (params.renderer) {\n      animType = params.renderer;\n    }\n\n    switch (animType) {\n      case \"canvas\":\n        (this || _global).renderer = new CanvasRenderer(this || _global, params.rendererSettings);\n        break;\n\n      case \"svg\":\n        (this || _global).renderer = new SVGRenderer(this || _global, params.rendererSettings);\n        break;\n\n      default:\n        (this || _global).renderer = new HybridRenderer(this || _global, params.rendererSettings);\n        break;\n    }\n\n    (this || _global).imagePreloader.setCacheType(animType, (this || _global).renderer.globalData.defs);\n\n    (this || _global).renderer.setProjectInterface((this || _global).projectInterface);\n\n    (this || _global).animType = animType;\n\n    if (params.loop === \"\" || params.loop === null || params.loop === undefined || params.loop === true) {\n      (this || _global).loop = true;\n    } else if (params.loop === false) {\n      (this || _global).loop = false;\n    } else {\n      (this || _global).loop = parseInt(params.loop, 10);\n    }\n\n    (this || _global).autoplay = \"autoplay\" in params ? params.autoplay : true;\n    (this || _global).name = params.name ? params.name : \"\";\n    (this || _global).autoloadSegments = Object.prototype.hasOwnProperty.call(params, \"autoloadSegments\") ? params.autoloadSegments : true;\n    (this || _global).assetsPath = params.assetsPath;\n    (this || _global).initialSegment = params.initialSegment;\n\n    if (params.audioFactory) {\n      (this || _global).audioController.setAudioFactory(params.audioFactory);\n    }\n\n    if (params.animationData) {\n      this.configAnimation(params.animationData);\n    } else if (params.path) {\n      if (params.path.lastIndexOf(\"\\\\\") !== -1) {\n        (this || _global).path = params.path.substr(0, params.path.lastIndexOf(\"\\\\\") + 1);\n      } else {\n        (this || _global).path = params.path.substr(0, params.path.lastIndexOf(\"/\") + 1);\n      }\n\n      (this || _global).fileName = params.path.substr(params.path.lastIndexOf(\"/\") + 1);\n      (this || _global).fileName = (this || _global).fileName.substr(0, (this || _global).fileName.lastIndexOf(\".json\"));\n      assetLoader.load(params.path, (this || _global).configAnimation.bind(this || _global), function () {\n        this.trigger(\"data_failed\");\n      }.bind(this || _global));\n    }\n  };\n\n  AnimationItem.prototype.setData = function (wrapper, animationData) {\n    if (animationData) {\n      if (typeof animationData !== \"object\") {\n        animationData = JSON.parse(animationData);\n      }\n    }\n\n    var params = {\n      wrapper: wrapper,\n      animationData: animationData\n    };\n    var wrapperAttributes = wrapper.attributes;\n    params.path = wrapperAttributes.getNamedItem(\"data-animation-path\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-animation-path\").value : wrapperAttributes.getNamedItem(\"data-bm-path\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-path\").value : wrapperAttributes.getNamedItem(\"bm-path\") ? wrapperAttributes.getNamedItem(\"bm-path\").value : \"\";\n    params.animType = wrapperAttributes.getNamedItem(\"data-anim-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-type\").value : wrapperAttributes.getNamedItem(\"data-bm-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-type\").value : wrapperAttributes.getNamedItem(\"bm-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"bm-type\").value : wrapperAttributes.getNamedItem(\"data-bm-renderer\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-renderer\").value : wrapperAttributes.getNamedItem(\"bm-renderer\") ? wrapperAttributes.getNamedItem(\"bm-renderer\").value : \"canvas\";\n    var loop = wrapperAttributes.getNamedItem(\"data-anim-loop\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-loop\").value : wrapperAttributes.getNamedItem(\"data-bm-loop\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-loop\").value : wrapperAttributes.getNamedItem(\"bm-loop\") ? wrapperAttributes.getNamedItem(\"bm-loop\").value : \"\";\n\n    if (loop === \"false\") {\n      params.loop = false;\n    } else if (loop === \"true\") {\n      params.loop = true;\n    } else if (loop !== \"\") {\n      params.loop = parseInt(loop, 10);\n    }\n\n    var autoplay = wrapperAttributes.getNamedItem(\"data-anim-autoplay\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-autoplay\").value : wrapperAttributes.getNamedItem(\"data-bm-autoplay\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-autoplay\").value : wrapperAttributes.getNamedItem(\"bm-autoplay\") ? wrapperAttributes.getNamedItem(\"bm-autoplay\").value : true;\n    params.autoplay = autoplay !== \"false\";\n    params.name = wrapperAttributes.getNamedItem(\"data-name\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-name\").value : wrapperAttributes.getNamedItem(\"data-bm-name\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-name\").value : wrapperAttributes.getNamedItem(\"bm-name\") ? wrapperAttributes.getNamedItem(\"bm-name\").value : \"\";\n    var prerender = wrapperAttributes.getNamedItem(\"data-anim-prerender\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-prerender\").value : wrapperAttributes.getNamedItem(\"data-bm-prerender\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-prerender\").value : wrapperAttributes.getNamedItem(\"bm-prerender\") ? wrapperAttributes.getNamedItem(\"bm-prerender\").value : \"\";\n\n    if (prerender === \"false\") {\n      params.prerender = false;\n    }\n\n    this.setParams(params);\n  };\n\n  AnimationItem.prototype.includeLayers = function (data) {\n    if (data.op > (this || _global).animationData.op) {\n      (this || _global).animationData.op = data.op;\n      (this || _global).totalFrames = Math.floor(data.op - (this || _global).animationData.ip);\n    }\n\n    var layers = (this || _global).animationData.layers;\n    var i;\n    var len = layers.length;\n    var newLayers = data.layers;\n    var j;\n    var jLen = newLayers.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      i = 0;\n\n      while (i < len) {\n        if (layers[i].id === newLayers[j].id) {\n          layers[i] = newLayers[j];\n          break;\n        }\n\n        i += 1;\n      }\n    }\n\n    if (data.chars || data.fonts) {\n      (this || _global).renderer.globalData.fontManager.addChars(data.chars);\n\n      (this || _global).renderer.globalData.fontManager.addFonts(data.fonts, (this || _global).renderer.globalData.defs);\n    }\n\n    if (data.assets) {\n      len = data.assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).animationData.assets.push(data.assets[i]);\n      }\n    }\n\n    (this || _global).animationData.__complete = false;\n    dataManager.completeData((this || _global).animationData, (this || _global).renderer.globalData.fontManager);\n\n    (this || _global).renderer.includeLayers(data.layers);\n\n    if (expressionsPlugin) {\n      expressionsPlugin.initExpressions(this || _global);\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.loadNextSegment = function () {\n    var segments = (this || _global).animationData.segments;\n\n    if (!segments || segments.length === 0 || !(this || _global).autoloadSegments) {\n      this.trigger(\"data_ready\");\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      return;\n    }\n\n    var segment = segments.shift();\n    (this || _global).timeCompleted = segment.time * (this || _global).frameRate;\n    var segmentPath = (this || _global).path + (this || _global).fileName + \"_\" + (this || _global).segmentPos + \".json\";\n    (this || _global).segmentPos += 1;\n    assetLoader.load(segmentPath, (this || _global).includeLayers.bind(this || _global), function () {\n      this.trigger(\"data_failed\");\n    }.bind(this || _global));\n  };\n\n  AnimationItem.prototype.loadSegments = function () {\n    var segments = (this || _global).animationData.segments;\n\n    if (!segments) {\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.imagesLoaded = function () {\n    this.trigger(\"loaded_images\");\n    this.checkLoaded();\n  };\n\n  AnimationItem.prototype.preloadImages = function () {\n    (this || _global).imagePreloader.setAssetsPath((this || _global).assetsPath);\n\n    (this || _global).imagePreloader.setPath((this || _global).path);\n\n    (this || _global).imagePreloader.loadAssets((this || _global).animationData.assets, (this || _global).imagesLoaded.bind(this || _global));\n  };\n\n  AnimationItem.prototype.configAnimation = function (animData) {\n    if (!(this || _global).renderer) {\n      return;\n    }\n\n    try {\n      (this || _global).animationData = animData;\n\n      if ((this || _global).initialSegment) {\n        (this || _global).totalFrames = Math.floor((this || _global).initialSegment[1] - (this || _global).initialSegment[0]);\n        (this || _global).firstFrame = Math.round((this || _global).initialSegment[0]);\n      } else {\n        (this || _global).totalFrames = Math.floor((this || _global).animationData.op - (this || _global).animationData.ip);\n        (this || _global).firstFrame = Math.round((this || _global).animationData.ip);\n      }\n\n      (this || _global).renderer.configAnimation(animData);\n\n      if (!animData.assets) {\n        animData.assets = [];\n      }\n\n      (this || _global).assets = (this || _global).animationData.assets;\n      (this || _global).frameRate = (this || _global).animationData.fr;\n      (this || _global).frameMult = (this || _global).animationData.fr / 1000;\n\n      (this || _global).renderer.searchExtraCompositions(animData.assets);\n\n      (this || _global).markers = markerParser(animData.markers || []);\n      this.trigger(\"config_ready\");\n      this.preloadImages();\n      this.loadSegments();\n      this.updaFrameModifier();\n      this.waitForFontsLoaded();\n\n      if ((this || _global).isPaused) {\n        (this || _global).audioController.pause();\n      }\n    } catch (error) {\n      this.triggerConfigError(error);\n    }\n  };\n\n  AnimationItem.prototype.waitForFontsLoaded = function () {\n    if (!(this || _global).renderer) {\n      return;\n    }\n\n    if ((this || _global).renderer.globalData.fontManager.isLoaded) {\n      this.checkLoaded();\n    } else {\n      setTimeout((this || _global).waitForFontsLoaded.bind(this || _global), 20);\n    }\n  };\n\n  AnimationItem.prototype.checkLoaded = function () {\n    if (!(this || _global).isLoaded && (this || _global).renderer.globalData.fontManager.isLoaded && ((this || _global).imagePreloader.loadedImages() || (this || _global).renderer.rendererType !== \"canvas\") && (this || _global).imagePreloader.loadedFootages()) {\n      (this || _global).isLoaded = true;\n      dataManager.completeData((this || _global).animationData, (this || _global).renderer.globalData.fontManager);\n\n      if (expressionsPlugin) {\n        expressionsPlugin.initExpressions(this || _global);\n      }\n\n      (this || _global).renderer.initItems();\n\n      setTimeout(function () {\n        this.trigger(\"DOMLoaded\");\n      }.bind(this || _global), 0);\n      this.gotoFrame();\n\n      if ((this || _global).autoplay) {\n        this.play();\n      }\n    }\n  };\n\n  AnimationItem.prototype.resize = function () {\n    (this || _global).renderer.updateContainerSize();\n  };\n\n  AnimationItem.prototype.setSubframe = function (flag) {\n    (this || _global).isSubframeEnabled = !!flag;\n  };\n\n  AnimationItem.prototype.gotoFrame = function () {\n    (this || _global).currentFrame = (this || _global).isSubframeEnabled ? (this || _global).currentRawFrame : ~~(this || _global).currentRawFrame; // eslint-disable-line no-bitwise\n\n    if ((this || _global).timeCompleted !== (this || _global).totalFrames && (this || _global).currentFrame > (this || _global).timeCompleted) {\n      (this || _global).currentFrame = (this || _global).timeCompleted;\n    }\n\n    this.trigger(\"enterFrame\");\n    this.renderFrame();\n  };\n\n  AnimationItem.prototype.renderFrame = function () {\n    if ((this || _global).isLoaded === false || !(this || _global).renderer) {\n      return;\n    }\n\n    try {\n      (this || _global).renderer.renderFrame((this || _global).currentFrame + (this || _global).firstFrame);\n    } catch (error) {\n      this.triggerRenderFrameError(error);\n    }\n  };\n\n  AnimationItem.prototype.play = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === true) {\n      (this || _global).isPaused = false;\n\n      (this || _global).audioController.resume();\n\n      if ((this || _global)._idle) {\n        (this || _global)._idle = false;\n        this.trigger(\"_active\");\n      }\n    }\n  };\n\n  AnimationItem.prototype.pause = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === false) {\n      (this || _global).isPaused = true;\n      (this || _global)._idle = true;\n      this.trigger(\"_idle\");\n\n      (this || _global).audioController.pause();\n    }\n  };\n\n  AnimationItem.prototype.togglePause = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === true) {\n      this.play();\n    } else {\n      this.pause();\n    }\n  };\n\n  AnimationItem.prototype.stop = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    this.pause();\n    (this || _global).playCount = 0;\n    (this || _global)._completedLoop = false;\n    this.setCurrentRawFrameValue(0);\n  };\n\n  AnimationItem.prototype.getMarkerData = function (markerName) {\n    var marker;\n\n    for (var i = 0; i < (this || _global).markers.length; i += 1) {\n      marker = (this || _global).markers[i];\n\n      if (marker.payload && marker.payload.name === markerName) {\n        return marker;\n      }\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        this.goToAndStop(marker.time, true);\n      }\n    } else if (isFrame) {\n      this.setCurrentRawFrameValue(value);\n    } else {\n      this.setCurrentRawFrameValue(value * (this || _global).frameModifier);\n    }\n\n    this.pause();\n  };\n\n  AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        if (!marker.duration) {\n          this.goToAndStop(marker.time, true);\n        } else {\n          this.playSegments([marker.time, marker.time + marker.duration], true);\n        }\n      }\n    } else {\n      this.goToAndStop(numValue, isFrame, name);\n    }\n\n    this.play();\n  };\n\n  AnimationItem.prototype.advanceTime = function (value) {\n    if ((this || _global).isPaused === true || (this || _global).isLoaded === false) {\n      return;\n    }\n\n    var nextValue = (this || _global).currentRawFrame + value * (this || _global).frameModifier;\n    var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n    // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n    if (nextValue >= (this || _global).totalFrames - 1 && (this || _global).frameModifier > 0) {\n      if (!(this || _global).loop || (this || _global).playCount === (this || _global).loop) {\n        if (!this.checkSegments(nextValue > (this || _global).totalFrames ? nextValue % (this || _global).totalFrames : 0)) {\n          _isComplete = true;\n          nextValue = (this || _global).totalFrames - 1;\n        }\n      } else if (nextValue >= (this || _global).totalFrames) {\n        (this || _global).playCount += 1;\n\n        if (!this.checkSegments(nextValue % (this || _global).totalFrames)) {\n          this.setCurrentRawFrameValue(nextValue % (this || _global).totalFrames);\n          (this || _global)._completedLoop = true;\n          this.trigger(\"loopComplete\");\n        }\n      } else {\n        this.setCurrentRawFrameValue(nextValue);\n      }\n    } else if (nextValue < 0) {\n      if (!this.checkSegments(nextValue % (this || _global).totalFrames)) {\n        if ((this || _global).loop && !((this || _global).playCount-- <= 0 && (this || _global).loop !== true)) {\n          // eslint-disable-line no-plusplus\n          this.setCurrentRawFrameValue((this || _global).totalFrames + nextValue % (this || _global).totalFrames);\n\n          if (!(this || _global)._completedLoop) {\n            (this || _global)._completedLoop = true;\n          } else {\n            this.trigger(\"loopComplete\");\n          }\n        } else {\n          _isComplete = true;\n          nextValue = 0;\n        }\n      }\n    } else {\n      this.setCurrentRawFrameValue(nextValue);\n    }\n\n    if (_isComplete) {\n      this.setCurrentRawFrameValue(nextValue);\n      this.pause();\n      this.trigger(\"complete\");\n    }\n  };\n\n  AnimationItem.prototype.adjustSegment = function (arr, offset) {\n    (this || _global).playCount = 0;\n\n    if (arr[1] < arr[0]) {\n      if ((this || _global).frameModifier > 0) {\n        if ((this || _global).playSpeed < 0) {\n          this.setSpeed(-(this || _global).playSpeed);\n        } else {\n          this.setDirection(-1);\n        }\n      }\n\n      (this || _global).totalFrames = arr[0] - arr[1];\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      (this || _global).firstFrame = arr[1];\n      this.setCurrentRawFrameValue((this || _global).totalFrames - 0.001 - offset);\n    } else if (arr[1] > arr[0]) {\n      if ((this || _global).frameModifier < 0) {\n        if ((this || _global).playSpeed < 0) {\n          this.setSpeed(-(this || _global).playSpeed);\n        } else {\n          this.setDirection(1);\n        }\n      }\n\n      (this || _global).totalFrames = arr[1] - arr[0];\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      (this || _global).firstFrame = arr[0];\n      this.setCurrentRawFrameValue(0.001 + offset);\n    }\n\n    this.trigger(\"segmentStart\");\n  };\n\n  AnimationItem.prototype.setSegment = function (init, end) {\n    var pendingFrame = -1;\n\n    if ((this || _global).isPaused) {\n      if ((this || _global).currentRawFrame + (this || _global).firstFrame < init) {\n        pendingFrame = init;\n      } else if ((this || _global).currentRawFrame + (this || _global).firstFrame > end) {\n        pendingFrame = end - init;\n      }\n    }\n\n    (this || _global).firstFrame = init;\n    (this || _global).totalFrames = end - init;\n    (this || _global).timeCompleted = (this || _global).totalFrames;\n\n    if (pendingFrame !== -1) {\n      this.goToAndStop(pendingFrame, true);\n    }\n  };\n\n  AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n    if (forceFlag) {\n      (this || _global).segments.length = 0;\n    }\n\n    if (typeof arr[0] === \"object\") {\n      var i;\n      var len = arr.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).segments.push(arr[i]);\n      }\n    } else {\n      (this || _global).segments.push(arr);\n    }\n\n    if ((this || _global).segments.length && forceFlag) {\n      this.adjustSegment((this || _global).segments.shift(), 0);\n    }\n\n    if ((this || _global).isPaused) {\n      this.play();\n    }\n  };\n\n  AnimationItem.prototype.resetSegments = function (forceFlag) {\n    (this || _global).segments.length = 0;\n\n    (this || _global).segments.push([(this || _global).animationData.ip, (this || _global).animationData.op]); // this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op - this.animationData.ip+this.animationData.ip*this.frameRate)]);\n\n\n    if (forceFlag) {\n      this.checkSegments(0);\n    }\n  };\n\n  AnimationItem.prototype.checkSegments = function (offset) {\n    if ((this || _global).segments.length) {\n      this.adjustSegment((this || _global).segments.shift(), offset);\n      return true;\n    }\n\n    return false;\n  };\n\n  AnimationItem.prototype.destroy = function (name) {\n    if (name && (this || _global).name !== name || !(this || _global).renderer) {\n      return;\n    }\n\n    (this || _global).renderer.destroy();\n\n    (this || _global).imagePreloader.destroy();\n\n    this.trigger(\"destroy\");\n    (this || _global)._cbs = null;\n    (this || _global).onEnterFrame = null;\n    (this || _global).onLoopComplete = null;\n    (this || _global).onComplete = null;\n    (this || _global).onSegmentStart = null;\n    (this || _global).onDestroy = null;\n    (this || _global).renderer = null;\n    (this || _global).renderer = null;\n    (this || _global).imagePreloader = null;\n    (this || _global).projectInterface = null;\n  };\n\n  AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n    (this || _global).currentRawFrame = value;\n    this.gotoFrame();\n  };\n\n  AnimationItem.prototype.setSpeed = function (val) {\n    (this || _global).playSpeed = val;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setDirection = function (val) {\n    (this || _global).playDirection = val < 0 ? -1 : 1;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setVolume = function (val, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.setVolume(val);\n  };\n\n  AnimationItem.prototype.getVolume = function () {\n    return (this || _global).audioController.getVolume();\n  };\n\n  AnimationItem.prototype.mute = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.mute();\n  };\n\n  AnimationItem.prototype.unmute = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.unmute();\n  };\n\n  AnimationItem.prototype.updaFrameModifier = function () {\n    (this || _global).frameModifier = (this || _global).frameMult * (this || _global).playSpeed * (this || _global).playDirection;\n\n    (this || _global).audioController.setRate((this || _global).playSpeed * (this || _global).playDirection);\n  };\n\n  AnimationItem.prototype.getPath = function () {\n    return (this || _global).path;\n  };\n\n  AnimationItem.prototype.getAssetsPath = function (assetData) {\n    var path = \"\";\n\n    if (assetData.e) {\n      path = assetData.p;\n    } else if ((this || _global).assetsPath) {\n      var imagePath = assetData.p;\n\n      if (imagePath.indexOf(\"images/\") !== -1) {\n        imagePath = imagePath.split(\"/\")[1];\n      }\n\n      path = (this || _global).assetsPath + imagePath;\n    } else {\n      path = (this || _global).path;\n      path += assetData.u ? assetData.u : \"\";\n      path += assetData.p;\n    }\n\n    return path;\n  };\n\n  AnimationItem.prototype.getAssetData = function (id) {\n    var i = 0;\n    var len = (this || _global).assets.length;\n\n    while (i < len) {\n      if (id === (this || _global).assets[i].id) {\n        return (this || _global).assets[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.hide = function () {\n    (this || _global).renderer.hide();\n  };\n\n  AnimationItem.prototype.show = function () {\n    (this || _global).renderer.show();\n  };\n\n  AnimationItem.prototype.getDuration = function (isFrame) {\n    return isFrame ? (this || _global).totalFrames : (this || _global).totalFrames / (this || _global).frameRate;\n  };\n\n  AnimationItem.prototype.trigger = function (name) {\n    if ((this || _global)._cbs && (this || _global)._cbs[name]) {\n      switch (name) {\n        case \"enterFrame\":\n          this.triggerEvent(name, new BMEnterFrameEvent(name, (this || _global).currentFrame, (this || _global).totalFrames, (this || _global).frameModifier));\n          break;\n\n        case \"loopComplete\":\n          this.triggerEvent(name, new BMCompleteLoopEvent(name, (this || _global).loop, (this || _global).playCount, (this || _global).frameMult));\n          break;\n\n        case \"complete\":\n          this.triggerEvent(name, new BMCompleteEvent(name, (this || _global).frameMult));\n          break;\n\n        case \"segmentStart\":\n          this.triggerEvent(name, new BMSegmentStartEvent(name, (this || _global).firstFrame, (this || _global).totalFrames));\n          break;\n\n        case \"destroy\":\n          this.triggerEvent(name, new BMDestroyEvent(name, this || _global));\n          break;\n\n        default:\n          this.triggerEvent(name);\n      }\n    }\n\n    if (name === \"enterFrame\" && (this || _global).onEnterFrame) {\n      (this || _global).onEnterFrame.call(this || _global, new BMEnterFrameEvent(name, (this || _global).currentFrame, (this || _global).totalFrames, (this || _global).frameMult));\n    }\n\n    if (name === \"loopComplete\" && (this || _global).onLoopComplete) {\n      (this || _global).onLoopComplete.call(this || _global, new BMCompleteLoopEvent(name, (this || _global).loop, (this || _global).playCount, (this || _global).frameMult));\n    }\n\n    if (name === \"complete\" && (this || _global).onComplete) {\n      (this || _global).onComplete.call(this || _global, new BMCompleteEvent(name, (this || _global).frameMult));\n    }\n\n    if (name === \"segmentStart\" && (this || _global).onSegmentStart) {\n      (this || _global).onSegmentStart.call(this || _global, new BMSegmentStartEvent(name, (this || _global).firstFrame, (this || _global).totalFrames));\n    }\n\n    if (name === \"destroy\" && (this || _global).onDestroy) {\n      (this || _global).onDestroy.call(this || _global, new BMDestroyEvent(name, this || _global));\n    }\n  };\n\n  AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n    var error = new BMRenderFrameErrorEvent(nativeError, (this || _global).currentFrame);\n    this.triggerEvent(\"error\", error);\n\n    if ((this || _global).onError) {\n      (this || _global).onError.call(this || _global, error);\n    }\n  };\n\n  AnimationItem.prototype.triggerConfigError = function (nativeError) {\n    var error = new BMConfigErrorEvent(nativeError, (this || _global).currentFrame);\n    this.triggerEvent(\"error\", error);\n\n    if ((this || _global).onError) {\n      (this || _global).onError.call(this || _global, error);\n    }\n  };\n  /* global CompExpressionInterface, expressionsPlugin: writable */\n\n  /* exported expressionsPlugin */\n\n\n  var Expressions = function () {\n    var ob = {};\n    ob.initExpressions = initExpressions;\n\n    function initExpressions(animation) {\n      var stackCount = 0;\n      var registers = [];\n\n      function pushExpression() {\n        stackCount += 1;\n      }\n\n      function popExpression() {\n        stackCount -= 1;\n\n        if (stackCount === 0) {\n          releaseInstances();\n        }\n      }\n\n      function registerExpressionProperty(expression) {\n        if (registers.indexOf(expression) === -1) {\n          registers.push(expression);\n        }\n      }\n\n      function releaseInstances() {\n        var i;\n        var len = registers.length;\n\n        for (i = 0; i < len; i += 1) {\n          registers[i].release();\n        }\n\n        registers.length = 0;\n      }\n\n      animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n      animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n      animation.renderer.globalData.pushExpression = pushExpression;\n      animation.renderer.globalData.popExpression = popExpression;\n      animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n    }\n\n    return ob;\n  }();\n\n  expressionsPlugin = Expressions;\n  /* eslint-disable camelcase, no-unused-vars */\n\n  /* global BMMath, BezierFactory, createTypedArray, degToRads, shapePool */\n\n  var ExpressionManager = function () {\n    'use strict';\n\n    var ob = {};\n    var Math = BMMath;\n    var window = null;\n    var document = null;\n\n    function $bm_isInstanceOfArray(arr) {\n      return arr.constructor === Array || arr.constructor === Float32Array;\n    }\n\n    function isNumerable(tOfV, v) {\n      return tOfV === \"number\" || tOfV === \"boolean\" || tOfV === \"string\" || v instanceof Number;\n    }\n\n    function $bm_neg(a) {\n      var tOfA = typeof a;\n\n      if (tOfA === \"number\" || tOfA === \"boolean\" || a instanceof Number) {\n        return -a;\n      }\n\n      if ($bm_isInstanceOfArray(a)) {\n        var i;\n        var lenA = a.length;\n        var retArr = [];\n\n        for (i = 0; i < lenA; i += 1) {\n          retArr[i] = -a[i];\n        }\n\n        return retArr;\n      }\n\n      if (a.propType) {\n        return a.v;\n      }\n\n      return -a;\n    }\n\n    var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, \"easeIn\").get;\n    var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, \"easeOut\").get;\n    var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, \"easeInOut\").get;\n\n    function sum(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n\n      if (tOfA === \"string\" || tOfB === \"string\") {\n        return a + b;\n      }\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a + b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] += b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a + b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === \"number\" || a[i] instanceof Number) && (typeof b[i] === \"number\" || b[i] instanceof Number)) {\n            retArr[i] = a[i] + b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    var add = sum;\n\n    function sub(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        if (tOfA === \"string\") {\n          a = parseInt(a, 10);\n        }\n\n        if (tOfB === \"string\") {\n          b = parseInt(b, 10);\n        }\n\n        return a - b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] -= b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a - b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === \"number\" || a[i] instanceof Number) && (typeof b[i] === \"number\" || b[i] instanceof Number)) {\n            retArr[i] = a[i] - b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    function mul(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a * b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] * b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a * b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function div(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a / b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] / b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a / b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function mod(a, b) {\n      if (typeof a === \"string\") {\n        a = parseInt(a, 10);\n      }\n\n      if (typeof b === \"string\") {\n        b = parseInt(b, 10);\n      }\n\n      return a % b;\n    }\n\n    var $bm_sum = sum;\n    var $bm_sub = sub;\n    var $bm_mul = mul;\n    var $bm_div = div;\n    var $bm_mod = mod;\n\n    function clamp(num, min, max) {\n      if (min > max) {\n        var mm = max;\n        max = min;\n        min = mm;\n      }\n\n      return Math.min(Math.max(num, min), max);\n    }\n\n    function radiansToDegrees(val) {\n      return val / degToRads;\n    }\n\n    var radians_to_degrees = radiansToDegrees;\n\n    function degreesToRadians(val) {\n      return val * degToRads;\n    }\n\n    var degrees_to_radians = radiansToDegrees;\n    var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n    function length(arr1, arr2) {\n      if (typeof arr1 === \"number\" || arr1 instanceof Number) {\n        arr2 = arr2 || 0;\n        return Math.abs(arr1 - arr2);\n      }\n\n      if (!arr2) {\n        arr2 = helperLengthArray;\n      }\n\n      var i;\n      var len = Math.min(arr1.length, arr2.length);\n      var addedLength = 0;\n\n      for (i = 0; i < len; i += 1) {\n        addedLength += Math.pow(arr2[i] - arr1[i], 2);\n      }\n\n      return Math.sqrt(addedLength);\n    }\n\n    function normalize(vec) {\n      return div(vec, length(vec));\n    }\n\n    function rgbToHsl(val) {\n      var r = val[0];\n      var g = val[1];\n      var b = val[2];\n      var max = Math.max(r, g, b);\n      var min = Math.min(r, g, b);\n      var h;\n      var s;\n      var l = (max + min) / 2;\n\n      if (max === min) {\n        h = 0; // achromatic\n\n        s = 0; // achromatic\n      } else {\n        var d = max - min;\n        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n        switch (max) {\n          case r:\n            h = (g - b) / d + (g < b ? 6 : 0);\n            break;\n\n          case g:\n            h = (b - r) / d + 2;\n            break;\n\n          case b:\n            h = (r - g) / d + 4;\n            break;\n\n          default:\n            break;\n        }\n\n        h /= 6;\n      }\n\n      return [h, s, l, val[3]];\n    }\n\n    function hue2rgb(p, q, t) {\n      if (t < 0) t += 1;\n      if (t > 1) t -= 1;\n      if (t < 1 / 6) return p + (q - p) * 6 * t;\n      if (t < 1 / 2) return q;\n      if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n      return p;\n    }\n\n    function hslToRgb(val) {\n      var h = val[0];\n      var s = val[1];\n      var l = val[2];\n      var r;\n      var g;\n      var b;\n\n      if (s === 0) {\n        r = l; // achromatic\n\n        b = l; // achromatic\n\n        g = l; // achromatic\n      } else {\n        var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n        var p = 2 * l - q;\n        r = hue2rgb(p, q, h + 1 / 3);\n        g = hue2rgb(p, q, h);\n        b = hue2rgb(p, q, h - 1 / 3);\n      }\n\n      return [r, g, b, val[3]];\n    }\n\n    function linear(t, tMin, tMax, value1, value2) {\n      if (value1 === undefined || value2 === undefined) {\n        value1 = tMin;\n        value2 = tMax;\n        tMin = 0;\n        tMax = 1;\n      }\n\n      if (tMax < tMin) {\n        var _tMin = tMax;\n        tMax = tMin;\n        tMin = _tMin;\n      }\n\n      if (t <= tMin) {\n        return value1;\n      }\n\n      if (t >= tMax) {\n        return value2;\n      }\n\n      var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n      if (!value1.length) {\n        return value1 + (value2 - value1) * perc;\n      }\n\n      var i;\n      var len = value1.length;\n      var arr = createTypedArray(\"float32\", len);\n\n      for (i = 0; i < len; i += 1) {\n        arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n      }\n\n      return arr;\n    }\n\n    function random(min, max) {\n      if (max === undefined) {\n        if (min === undefined) {\n          min = 0;\n          max = 1;\n        } else {\n          max = min;\n          min = undefined;\n        }\n      }\n\n      if (max.length) {\n        var i;\n        var len = max.length;\n\n        if (!min) {\n          min = createTypedArray(\"float32\", len);\n        }\n\n        var arr = createTypedArray(\"float32\", len);\n        var rnd = BMMath.random();\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = min[i] + rnd * (max[i] - min[i]);\n        }\n\n        return arr;\n      }\n\n      if (min === undefined) {\n        min = 0;\n      }\n\n      var rndm = BMMath.random();\n      return min + rndm * (max - min);\n    }\n\n    function createPath(points, inTangents, outTangents, closed) {\n      var i;\n      var len = points.length;\n      var path = shapePool.newElement();\n      path.setPathData(!!closed, len);\n      var arrPlaceholder = [0, 0];\n      var inVertexPoint;\n      var outVertexPoint;\n\n      for (i = 0; i < len; i += 1) {\n        inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n        outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n        path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true);\n      }\n\n      return path;\n    }\n\n    function initiateExpression(elem, data, property) {\n      var val = data.x;\n      var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n      var _needsRandom = val.indexOf(\"random\") !== -1;\n\n      var elemType = elem.data.ty;\n      var transform;\n      var $bm_transform;\n      var content;\n      var effect;\n      var thisProperty = property;\n      thisProperty.valueAtTime = thisProperty.getValueAtTime;\n      Object.defineProperty(thisProperty, \"value\", {\n        get: function () {\n          return thisProperty.v;\n        }\n      });\n      elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n      elem.comp.displayStartTime = 0;\n      var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      var width = elem.data.sw ? elem.data.sw : 0;\n      var height = elem.data.sh ? elem.data.sh : 0;\n      var name = elem.data.nm;\n      var loopIn;\n      var loop_in;\n      var loopOut;\n      var loop_out;\n      var smooth;\n      var toWorld;\n      var fromWorld;\n      var fromComp;\n      var toComp;\n      var fromCompToSurface;\n      var position;\n      var rotation;\n      var anchorPoint;\n      var scale;\n      var thisLayer;\n      var thisComp;\n      var mask;\n      var valueAtTime;\n      var velocityAtTime;\n      var scoped_bm_rt;\n      var expression_function = eval(\"[function _expression_function(){\" + val + \";scoped_bm_rt=$bm_rt}]\")[0]; // eslint-disable-line no-eval\n\n      var numKeys = property.kf ? data.k.length : 0;\n      var active = !(this || _global).data || (this || _global).data.hd !== true;\n\n      var wiggle = function wiggle(freq, amp) {\n        var iWiggle;\n        var j;\n        var lenWiggle = (this || _global).pv.length ? (this || _global).pv.length : 1;\n        var addedAmps = createTypedArray(\"float32\", lenWiggle);\n        freq = 5;\n        var iterations = Math.floor(time * freq);\n        iWiggle = 0;\n        j = 0;\n\n        while (iWiggle < iterations) {\n          // var rnd = BMMath.random();\n          for (j = 0; j < lenWiggle; j += 1) {\n            addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n          }\n\n          iWiggle += 1;\n        } // var rnd2 = BMMath.random();\n\n\n        var periods = time * freq;\n        var perc = periods - Math.floor(periods);\n        var arr = createTypedArray(\"float32\", lenWiggle);\n\n        if (lenWiggle > 1) {\n          for (j = 0; j < lenWiggle; j += 1) {\n            arr[j] = (this || _global).pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n            // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n          }\n\n          return arr;\n        }\n\n        return (this || _global).pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n      }.bind(this || _global);\n\n      if (thisProperty.loopIn) {\n        loopIn = thisProperty.loopIn.bind(thisProperty);\n        loop_in = loopIn;\n      }\n\n      if (thisProperty.loopOut) {\n        loopOut = thisProperty.loopOut.bind(thisProperty);\n        loop_out = loopOut;\n      }\n\n      if (thisProperty.smooth) {\n        smooth = thisProperty.smooth.bind(thisProperty);\n      }\n\n      function loopInDuration(type, duration) {\n        return loopIn(type, duration, true);\n      }\n\n      function loopOutDuration(type, duration) {\n        return loopOut(type, duration, true);\n      }\n\n      if ((this || _global).getValueAtTime) {\n        valueAtTime = (this || _global).getValueAtTime.bind(this || _global);\n      }\n\n      if ((this || _global).getVelocityAtTime) {\n        velocityAtTime = (this || _global).getVelocityAtTime.bind(this || _global);\n      }\n\n      var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n      function lookAt(elem1, elem2) {\n        var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n        var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n        var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n        return [yaw, pitch, 0];\n      }\n\n      function easeOut(t, tMin, tMax, val1, val2) {\n        return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function easeIn(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n      }\n\n      function ease(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function applyEase(fn, t, tMin, tMax, val1, val2) {\n        if (val1 === undefined) {\n          val1 = tMin;\n          val2 = tMax;\n        } else {\n          t = (t - tMin) / (tMax - tMin);\n        }\n\n        if (t > 1) {\n          t = 1;\n        } else if (t < 0) {\n          t = 0;\n        }\n\n        var mult = fn(t);\n\n        if ($bm_isInstanceOfArray(val1)) {\n          var iKey;\n          var lenKey = val1.length;\n          var arr = createTypedArray(\"float32\", lenKey);\n\n          for (iKey = 0; iKey < lenKey; iKey += 1) {\n            arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n          }\n\n          return arr;\n        }\n\n        return (val2 - val1) * mult + val1;\n      }\n\n      function nearestKey(time) {\n        var iKey;\n        var lenKey = data.k.length;\n        var index;\n        var keyTime;\n\n        if (!data.k.length || typeof data.k[0] === \"number\") {\n          index = 0;\n          keyTime = 0;\n        } else {\n          index = -1;\n          time *= elem.comp.globalData.frameRate;\n\n          if (time < data.k[0].t) {\n            index = 1;\n            keyTime = data.k[0].t;\n          } else {\n            for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n              if (time === data.k[iKey].t) {\n                index = iKey + 1;\n                keyTime = data.k[iKey].t;\n                break;\n              } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n                if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n                  index = iKey + 2;\n                  keyTime = data.k[iKey + 1].t;\n                } else {\n                  index = iKey + 1;\n                  keyTime = data.k[iKey].t;\n                }\n\n                break;\n              }\n            }\n\n            if (index === -1) {\n              index = iKey + 1;\n              keyTime = data.k[iKey].t;\n            }\n          }\n        }\n\n        var obKey = {};\n        obKey.index = index;\n        obKey.time = keyTime / elem.comp.globalData.frameRate;\n        return obKey;\n      }\n\n      function key(ind) {\n        var obKey;\n        var iKey;\n        var lenKey;\n\n        if (!data.k.length || typeof data.k[0] === \"number\") {\n          throw new Error(\"The property has no keyframe at index \" + ind);\n        }\n\n        ind -= 1;\n        obKey = {\n          time: data.k[ind].t / elem.comp.globalData.frameRate,\n          value: []\n        };\n        var arr = Object.prototype.hasOwnProperty.call(data.k[ind], \"s\") ? data.k[ind].s : data.k[ind - 1].e;\n        lenKey = arr.length;\n\n        for (iKey = 0; iKey < lenKey; iKey += 1) {\n          obKey[iKey] = arr[iKey];\n          obKey.value[iKey] = arr[iKey];\n        }\n\n        return obKey;\n      }\n\n      function framesToTime(frames, fps) {\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return frames / fps;\n      }\n\n      function timeToFrames(t, fps) {\n        if (!t && t !== 0) {\n          t = time;\n        }\n\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return t * fps;\n      }\n\n      function seedRandom(seed) {\n        BMMath.seedrandom(randSeed + seed);\n      }\n\n      function sourceRectAtTime() {\n        return elem.sourceRectAtTime();\n      }\n\n      function substring(init, end) {\n        if (typeof value === \"string\") {\n          if (end === undefined) {\n            return value.substring(init);\n          }\n\n          return value.substring(init, end);\n        }\n\n        return \"\";\n      }\n\n      function substr(init, end) {\n        if (typeof value === \"string\") {\n          if (end === undefined) {\n            return value.substr(init);\n          }\n\n          return value.substr(init, end);\n        }\n\n        return \"\";\n      }\n\n      function posterizeTime(framesPerSecond) {\n        time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n        value = valueAtTime(time);\n      }\n\n      var time;\n      var velocity;\n      var value;\n      var text;\n      var textIndex;\n      var textTotal;\n      var selectorValue;\n      var index = elem.data.ind;\n      var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n      var parent;\n      var randSeed = Math.floor(Math.random() * 1000000);\n      var globalData = elem.globalData;\n\n      function executeExpression(_value) {\n        // globalData.pushExpression();\n        value = _value;\n\n        if (_needsRandom) {\n          seedRandom(randSeed);\n        }\n\n        if ((this || _global).frameExpressionId === elem.globalData.frameId && (this || _global).propType !== \"textSelector\") {\n          return value;\n        }\n\n        if ((this || _global).propType === \"textSelector\") {\n          textIndex = (this || _global).textIndex;\n          textTotal = (this || _global).textTotal;\n          selectorValue = (this || _global).selectorValue;\n        }\n\n        if (!thisLayer) {\n          text = elem.layerInterface.text;\n          thisLayer = elem.layerInterface;\n          thisComp = elem.comp.compInterface;\n          toWorld = thisLayer.toWorld.bind(thisLayer);\n          fromWorld = thisLayer.fromWorld.bind(thisLayer);\n          fromComp = thisLayer.fromComp.bind(thisLayer);\n          toComp = thisLayer.toComp.bind(thisLayer);\n          mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n          fromCompToSurface = fromComp;\n        }\n\n        if (!transform) {\n          transform = elem.layerInterface(\"ADBE Transform Group\");\n          $bm_transform = transform;\n\n          if (transform) {\n            anchorPoint = transform.anchorPoint;\n            /* position = transform.position;\r\n                      rotation = transform.rotation;\r\n                      scale = transform.scale; */\n          }\n        }\n\n        if (elemType === 4 && !content) {\n          content = thisLayer(\"ADBE Root Vectors Group\");\n        }\n\n        if (!effect) {\n          effect = thisLayer(4);\n        }\n\n        hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n        if (hasParent && !parent) {\n          parent = elem.hierarchy[0].layerInterface;\n        }\n\n        time = (this || _global).comp.renderedFrame / (this || _global).comp.globalData.frameRate;\n\n        if (needsVelocity) {\n          velocity = velocityAtTime(time);\n        }\n\n        expression_function();\n        (this || _global).frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n\n        if (scoped_bm_rt.propType === \"shape\") {\n          scoped_bm_rt = scoped_bm_rt.v;\n        } // globalData.popExpression();\n\n\n        return scoped_bm_rt;\n      }\n\n      return executeExpression;\n    }\n\n    ob.initiateExpression = initiateExpression;\n    return ob;\n  }();\n  /* global ExpressionManager, createTypedArray */\n\n  /* exported expressionHelpers */\n\n\n  var expressionHelpers = function () {\n    function searchExpressions(elem, data, prop) {\n      if (data.x) {\n        prop.k = true;\n        prop.x = true;\n        prop.initiateExpression = ExpressionManager.initiateExpression;\n        prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n      }\n    }\n\n    function getValueAtTime(frameNum) {\n      frameNum *= (this || _global).elem.globalData.frameRate;\n      frameNum -= (this || _global).offsetTime;\n\n      if (frameNum !== (this || _global)._cachingAtTime.lastFrame) {\n        (this || _global)._cachingAtTime.lastIndex = (this || _global)._cachingAtTime.lastFrame < frameNum ? (this || _global)._cachingAtTime.lastIndex : 0;\n        (this || _global)._cachingAtTime.value = this.interpolateValue(frameNum, (this || _global)._cachingAtTime);\n        (this || _global)._cachingAtTime.lastFrame = frameNum;\n      }\n\n      return (this || _global)._cachingAtTime.value;\n    }\n\n    function getSpeedAtTime(frameNum) {\n      var delta = -0.01;\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var speed = 0;\n\n      if (v1.length) {\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          speed += Math.pow(v2[i] - v1[i], 2);\n        }\n\n        speed = Math.sqrt(speed) * 100;\n      } else {\n        speed = 0;\n      }\n\n      return speed;\n    }\n\n    function getVelocityAtTime(frameNum) {\n      if ((this || _global).vel !== undefined) {\n        return (this || _global).vel;\n      }\n\n      var delta = -0.001; // frameNum += this.elem.data.st;\n\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var velocity;\n\n      if (v1.length) {\n        velocity = createTypedArray(\"float32\", v1.length);\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          // removing frameRate\n          // if needed, don't add it here\n          // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n          velocity[i] = (v2[i] - v1[i]) / delta;\n        }\n      } else {\n        velocity = (v2 - v1) / delta;\n      }\n\n      return velocity;\n    }\n\n    function getStaticValueAtTime() {\n      return (this || _global).pv;\n    }\n\n    function setGroupProperty(propertyGroup) {\n      (this || _global).propertyGroup = propertyGroup;\n    }\n\n    return {\n      searchExpressions: searchExpressions,\n      getSpeedAtTime: getSpeedAtTime,\n      getVelocityAtTime: getVelocityAtTime,\n      getValueAtTime: getValueAtTime,\n      getStaticValueAtTime: getStaticValueAtTime,\n      setGroupProperty: setGroupProperty\n    };\n  }();\n  /* global createTypedArray, Matrix, TransformPropertyFactory, expressionHelpers, PropertyFactory, expressionHelpers,\r\n  initialDefaultFrame, shapePool, ShapePropertyFactory, bez, extendPrototype, ExpressionManager, createSizedArray */\n\n\n  (function addPropertyDecorator() {\n    function loopOut(type, duration, durationFlag) {\n      if (!(this || _global).k || !(this || _global).keyframes) {\n        return (this || _global).pv;\n      }\n\n      type = type ? type.toLowerCase() : \"\";\n      var currentFrame = (this || _global).comp.renderedFrame;\n      var keyframes = (this || _global).keyframes;\n      var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n      if (currentFrame <= lastKeyFrame) {\n        return (this || _global).pv;\n      }\n\n      var cycleDuration;\n      var firstKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, lastKeyFrame - (this || _global).elem.data.ip);\n        } else {\n          cycleDuration = Math.abs(lastKeyFrame - (this || _global).elem.comp.globalData.frameRate * duration);\n        }\n\n        firstKeyFrame = lastKeyFrame - cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === \"pingpong\") {\n        var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if (iterations % 2 !== 0) {\n          return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === \"offset\") {\n        var initV = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n\n        var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n          }\n\n          return ret;\n        }\n\n        return (endV - initV) * repeats + current;\n      } else if (type === \"continue\") {\n        var lastValue = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / (this || _global).comp.globalData.frameRate, 0);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(lastValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / (this || _global).comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n          }\n\n          return ret;\n        }\n\n        return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n      }\n\n      return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function loopIn(type, duration, durationFlag) {\n      if (!(this || _global).k) {\n        return (this || _global).pv;\n      }\n\n      type = type ? type.toLowerCase() : \"\";\n      var currentFrame = (this || _global).comp.renderedFrame;\n      var keyframes = (this || _global).keyframes;\n      var firstKeyFrame = keyframes[0].t;\n\n      if (currentFrame >= firstKeyFrame) {\n        return (this || _global).pv;\n      }\n\n      var cycleDuration;\n      var lastKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        lastKeyFrame = keyframes[duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, (this || _global).elem.data.op - firstKeyFrame);\n        } else {\n          cycleDuration = Math.abs((this || _global).elem.comp.globalData.frameRate * duration);\n        }\n\n        lastKeyFrame = firstKeyFrame + cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === \"pingpong\") {\n        var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n        if (iterations % 2 === 0) {\n          return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === \"offset\") {\n        var initV = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0);\n        var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n        if ((this || _global).pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n          }\n\n          return ret;\n        }\n\n        return current - (endV - initV) * repeats;\n      } else if (type === \"continue\") {\n        var firstValue = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / (this || _global).comp.globalData.frameRate, 0);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(firstValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n          }\n\n          return ret;\n        }\n\n        return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n      }\n\n      return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function smooth(width, samples) {\n      if (!(this || _global).k) {\n        return (this || _global).pv;\n      }\n\n      width = (width || 0.4) * 0.5;\n      samples = Math.floor(samples || 5);\n\n      if (samples <= 1) {\n        return (this || _global).pv;\n      }\n\n      var currentTime = (this || _global).comp.renderedFrame / (this || _global).comp.globalData.frameRate;\n      var initFrame = currentTime - width;\n      var endFrame = currentTime + width;\n      var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n      var i = 0;\n      var j = 0;\n      var value;\n\n      if ((this || _global).pv.length) {\n        value = createTypedArray(\"float32\", (this || _global).pv.length);\n      } else {\n        value = 0;\n      }\n\n      var sampleValue;\n\n      while (i < samples) {\n        sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n        if ((this || _global).pv.length) {\n          for (j = 0; j < (this || _global).pv.length; j += 1) {\n            value[j] += sampleValue[j];\n          }\n        } else {\n          value += sampleValue;\n        }\n\n        i += 1;\n      }\n\n      if ((this || _global).pv.length) {\n        for (j = 0; j < (this || _global).pv.length; j += 1) {\n          value[j] /= samples;\n        }\n      } else {\n        value /= samples;\n      }\n\n      return value;\n    }\n\n    function getTransformValueAtTime(time) {\n      if (!(this || _global)._transformCachingAtTime) {\n        (this || _global)._transformCachingAtTime = {\n          v: new Matrix()\n        };\n      } /// /\n\n\n      var matrix = (this || _global)._transformCachingAtTime.v;\n      matrix.cloneFromProps((this || _global).pre.props);\n\n      if ((this || _global).appliedTransformations < 1) {\n        var anchor = (this || _global).a.getValueAtTime(time);\n\n        matrix.translate(-anchor[0] * (this || _global).a.mult, -anchor[1] * (this || _global).a.mult, anchor[2] * (this || _global).a.mult);\n      }\n\n      if ((this || _global).appliedTransformations < 2) {\n        var scale = (this || _global).s.getValueAtTime(time);\n\n        matrix.scale(scale[0] * (this || _global).s.mult, scale[1] * (this || _global).s.mult, scale[2] * (this || _global).s.mult);\n      }\n\n      if ((this || _global).sk && (this || _global).appliedTransformations < 3) {\n        var skew = (this || _global).sk.getValueAtTime(time);\n\n        var skewAxis = (this || _global).sa.getValueAtTime(time);\n\n        matrix.skewFromAxis(-skew * (this || _global).sk.mult, skewAxis * (this || _global).sa.mult);\n      }\n\n      if ((this || _global).r && (this || _global).appliedTransformations < 4) {\n        var rotation = (this || _global).r.getValueAtTime(time);\n\n        matrix.rotate(-rotation * (this || _global).r.mult);\n      } else if (!(this || _global).r && (this || _global).appliedTransformations < 4) {\n        var rotationZ = (this || _global).rz.getValueAtTime(time);\n\n        var rotationY = (this || _global).ry.getValueAtTime(time);\n\n        var rotationX = (this || _global).rx.getValueAtTime(time);\n\n        var orientation = (this || _global).or.getValueAtTime(time);\n\n        matrix.rotateZ(-rotationZ * (this || _global).rz.mult).rotateY(rotationY * (this || _global).ry.mult).rotateX(rotationX * (this || _global).rx.mult).rotateZ(-orientation[2] * (this || _global).or.mult).rotateY(orientation[1] * (this || _global).or.mult).rotateX(orientation[0] * (this || _global).or.mult);\n      }\n\n      if ((this || _global).data.p && (this || _global).data.p.s) {\n        var positionX = (this || _global).px.getValueAtTime(time);\n\n        var positionY = (this || _global).py.getValueAtTime(time);\n\n        if ((this || _global).data.p.z) {\n          var positionZ = (this || _global).pz.getValueAtTime(time);\n\n          matrix.translate(positionX * (this || _global).px.mult, positionY * (this || _global).py.mult, -positionZ * (this || _global).pz.mult);\n        } else {\n          matrix.translate(positionX * (this || _global).px.mult, positionY * (this || _global).py.mult, 0);\n        }\n      } else {\n        var position = (this || _global).p.getValueAtTime(time);\n\n        matrix.translate(position[0] * (this || _global).p.mult, position[1] * (this || _global).p.mult, -position[2] * (this || _global).p.mult);\n      }\n\n      return matrix; /// /\n    }\n\n    function getTransformStaticValueAtTime() {\n      return (this || _global).v.clone(new Matrix());\n    }\n\n    var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n    TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n      var prop = getTransformProperty(elem, data, container);\n\n      if (prop.dynamicProperties.length) {\n        prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      return prop;\n    };\n\n    var propertyGetProp = PropertyFactory.getProp;\n\n    PropertyFactory.getProp = function (elem, data, type, mult, container) {\n      var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n      // prop.loopOut = loopOut;\n      // prop.loopIn = loopIn;\n\n      if (prop.kf) {\n        prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      prop.loopOut = loopOut;\n      prop.loopIn = loopIn;\n      prop.smooth = smooth;\n      prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n      prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n      prop.numKeys = data.a === 1 ? data.k.length : 0;\n      prop.propertyIndex = data.ix;\n      var value = 0;\n\n      if (type !== 0) {\n        value = createTypedArray(\"float32\", data.a === 1 ? data.k[0].s.length : data.k.length);\n      }\n\n      prop._cachingAtTime = {\n        lastFrame: initialDefaultFrame,\n        lastIndex: 0,\n        value: value\n      };\n      expressionHelpers.searchExpressions(elem, data, prop);\n\n      if (prop.k) {\n        container.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n\n    function getShapeValueAtTime(frameNum) {\n      // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n      if (!(this || _global)._cachingAtTime) {\n        (this || _global)._cachingAtTime = {\n          shapeValue: shapePool.clone((this || _global).pv),\n          lastIndex: 0,\n          lastTime: initialDefaultFrame\n        };\n      }\n\n      frameNum *= (this || _global).elem.globalData.frameRate;\n      frameNum -= (this || _global).offsetTime;\n\n      if (frameNum !== (this || _global)._cachingAtTime.lastTime) {\n        (this || _global)._cachingAtTime.lastIndex = (this || _global)._cachingAtTime.lastTime < frameNum ? (this || _global)._caching.lastIndex : 0;\n        (this || _global)._cachingAtTime.lastTime = frameNum;\n        this.interpolateShape(frameNum, (this || _global)._cachingAtTime.shapeValue, (this || _global)._cachingAtTime);\n      }\n\n      return (this || _global)._cachingAtTime.shapeValue;\n    }\n\n    var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n    var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n    function ShapeExpressions() {}\n\n    ShapeExpressions.prototype = {\n      vertices: function (prop, time) {\n        if ((this || _global).k) {\n          this.getValue();\n        }\n\n        var shapePath = (this || _global).v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        var i;\n        var len = shapePath._length;\n        var vertices = shapePath[prop];\n        var points = shapePath.v;\n        var arr = createSizedArray(len);\n\n        for (i = 0; i < len; i += 1) {\n          if (prop === \"i\" || prop === \"o\") {\n            arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n          } else {\n            arr[i] = [vertices[i][0], vertices[i][1]];\n          }\n        }\n\n        return arr;\n      },\n      points: function (time) {\n        return this.vertices(\"v\", time);\n      },\n      inTangents: function (time) {\n        return this.vertices(\"i\", time);\n      },\n      outTangents: function (time) {\n        return this.vertices(\"o\", time);\n      },\n      isClosed: function () {\n        return (this || _global).v.c;\n      },\n      pointOnPath: function (perc, time) {\n        var shapePath = (this || _global).v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        if (!(this || _global)._segmentsLength) {\n          (this || _global)._segmentsLength = bez.getSegmentsLength(shapePath);\n        }\n\n        var segmentsLength = (this || _global)._segmentsLength;\n        var lengths = segmentsLength.lengths;\n        var lengthPos = segmentsLength.totalLength * perc;\n        var i = 0;\n        var len = lengths.length;\n        var accumulatedLength = 0;\n        var pt;\n\n        while (i < len) {\n          if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n            var initIndex = i;\n            var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n            var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n            pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n            break;\n          } else {\n            accumulatedLength += lengths[i].addedLength;\n          }\n\n          i += 1;\n        }\n\n        if (!pt) {\n          pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n        }\n\n        return pt;\n      },\n      vectorOnPath: function (perc, time, vectorType) {\n        // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n        if (perc == 1) {\n          // eslint-disable-line eqeqeq\n          perc = (this || _global).v.c;\n        } else if (perc == 0) {\n          // eslint-disable-line eqeqeq\n          perc = 0.999;\n        }\n\n        var pt1 = this.pointOnPath(perc, time);\n        var pt2 = this.pointOnPath(perc + 0.001, time);\n        var xLength = pt2[0] - pt1[0];\n        var yLength = pt2[1] - pt1[1];\n        var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n        if (magnitude === 0) {\n          return [0, 0];\n        }\n\n        var unitVector = vectorType === \"tangent\" ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n        return unitVector;\n      },\n      tangentOnPath: function (perc, time) {\n        return this.vectorOnPath(perc, time, \"tangent\");\n      },\n      normalOnPath: function (perc, time) {\n        return this.vectorOnPath(perc, time, \"normal\");\n      },\n      setGroupProperty: expressionHelpers.setGroupProperty,\n      getValueAtTime: expressionHelpers.getStaticValueAtTime\n    };\n    extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n    extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n    KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n    KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n    var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n    ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n      var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n      prop.propertyIndex = data.ix;\n      prop.lock = false;\n\n      if (type === 3) {\n        expressionHelpers.searchExpressions(elem, data.pt, prop);\n      } else if (type === 4) {\n        expressionHelpers.searchExpressions(elem, data.ks, prop);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n  })();\n  /* global ExpressionManager, TextProperty */\n\n\n  (function addDecorator() {\n    function searchExpressions() {\n      if ((this || _global).data.d.x) {\n        (this || _global).calculateExpression = ExpressionManager.initiateExpression.bind(this || _global)((this || _global).elem, (this || _global).data.d, this || _global);\n        this.addEffect((this || _global).getExpressionValue.bind(this || _global));\n        return true;\n      }\n\n      return null;\n    }\n\n    TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n      var newValue = this.calculateExpression(text);\n\n      if (currentValue.t !== newValue) {\n        var newData = {};\n        this.copyData(newData, currentValue);\n        newData.t = newValue.toString();\n        newData.__complete = false;\n        return newData;\n      }\n\n      return currentValue;\n    };\n\n    TextProperty.prototype.searchProperty = function () {\n      var isKeyframed = this.searchKeyframes();\n      var hasExpressions = this.searchExpressions();\n      (this || _global).kf = isKeyframed || hasExpressions;\n      return (this || _global).kf;\n    };\n\n    TextProperty.prototype.searchExpressions = searchExpressions;\n  })();\n  /* global propertyGroupFactory, PropertyInterface */\n\n  /* exported ShapePathInterface */\n\n\n  var ShapePathInterface = function () {\n    return function pathInterfaceFactory(shape, view, propertyGroup) {\n      var prop = view.sh;\n\n      function interfaceFunction(val) {\n        if (val === \"Shape\" || val === \"shape\" || val === \"Path\" || val === \"path\" || val === \"ADBE Vector Shape\" || val === 2) {\n          return interfaceFunction.path;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      prop.setGroupProperty(PropertyInterface(\"Path\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        path: {\n          get: function () {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        shape: {\n          get: function () {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        ix: {\n          value: shape.ix\n        },\n        propertyIndex: {\n          value: shape.ix\n        },\n        mn: {\n          value: shape.mn\n        },\n        propertyGroup: {\n          value: propertyGroup\n        }\n      });\n      return interfaceFunction;\n    };\n  }();\n  /* exported propertyGroupFactory */\n\n\n  var propertyGroupFactory = function () {\n    return function (interfaceFunction, parentPropertyGroup) {\n      return function (val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return parentPropertyGroup(val - 1);\n      };\n    };\n  }();\n  /* exported PropertyInterface */\n\n\n  var PropertyInterface = function () {\n    return function (propertyName, propertyGroup) {\n      var interfaceFunction = {\n        _name: propertyName\n      };\n\n      function _propertyGroup(val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return propertyGroup(val - 1);\n      }\n\n      return _propertyGroup;\n    };\n  }();\n  /* global ExpressionPropertyInterface, PropertyInterface, propertyGroupFactory, ShapePathInterface */\n\n  /* exported ShapeExpressionInterface */\n\n\n  var ShapeExpressionInterface = function () {\n    function iterateElements(shapes, view, propertyGroup) {\n      var arr = [];\n      var i;\n      var len = shapes ? shapes.length : 0;\n\n      for (i = 0; i < len; i += 1) {\n        if (shapes[i].ty === \"gr\") {\n          arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"fl\") {\n          arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"st\") {\n          arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"tm\") {\n          arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"tr\") {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n        } else if (shapes[i].ty === \"el\") {\n          arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"sr\") {\n          arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"sh\") {\n          arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rc\") {\n          arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rd\") {\n          arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rp\") {\n          arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n        }\n      }\n\n      return arr;\n    }\n\n    function contentsInterfaceFactory(shape, view, propertyGroup) {\n      var interfaces;\n\n      var interfaceFunction = function _interfaceFunction(value) {\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        if (typeof value === \"number\") {\n          return interfaces[value - 1];\n        }\n\n        return null;\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n      interfaceFunction.numProperties = interfaces.length;\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.transform = transformInterface;\n      interfaceFunction.propertyIndex = shape.cix;\n      interfaceFunction._name = shape.nm;\n      return interfaceFunction;\n    }\n\n    function groupInterfaceFactory(shape, view, propertyGroup) {\n      var interfaceFunction = function _interfaceFunction(value) {\n        switch (value) {\n          case \"ADBE Vectors Group\":\n          case \"Contents\":\n          case 2:\n            return interfaceFunction.content;\n          // Not necessary for now. Keeping them here in case a new case appears\n          // case 'ADBE Vector Transform Group':\n          // case 3:\n\n          default:\n            return interfaceFunction.transform;\n        }\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.content = content;\n      interfaceFunction.transform = transformInterface;\n      Object.defineProperty(interfaceFunction, \"_name\", {\n        get: function () {\n          return shape.nm;\n        }\n      }); // interfaceFunction.content = interfaceFunction;\n\n      interfaceFunction.numProperties = shape.np;\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.nm = shape.nm;\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function fillInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === \"Color\" || val === \"color\") {\n          return interfaceFunction.color;\n        }\n\n        if (val === \"Opacity\" || val === \"opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface(\"Color\", propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Opacity\", propertyGroup));\n      return interfaceFunction;\n    }\n\n    function strokeInterfaceFactory(shape, view, propertyGroup) {\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n      function addPropertyToDashOb(i) {\n        Object.defineProperty(dashOb, shape.d[i].nm, {\n          get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n        });\n      }\n\n      var i;\n      var len = shape.d ? shape.d.length : 0;\n      var dashOb = {};\n\n      for (i = 0; i < len; i += 1) {\n        addPropertyToDashOb(i);\n        view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n      }\n\n      function interfaceFunction(val) {\n        if (val === \"Color\" || val === \"color\") {\n          return interfaceFunction.color;\n        }\n\n        if (val === \"Opacity\" || val === \"opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        if (val === \"Stroke Width\" || val === \"stroke width\") {\n          return interfaceFunction.strokeWidth;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        strokeWidth: {\n          get: ExpressionPropertyInterface(view.w)\n        },\n        dash: {\n          get: function () {\n            return dashOb;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface(\"Color\", _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      view.w.setGroupProperty(PropertyInterface(\"Stroke Width\", _propertyGroup));\n      return interfaceFunction;\n    }\n\n    function trimInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === shape.e.ix || val === \"End\" || val === \"end\") {\n          return interfaceFunction.end;\n        }\n\n        if (val === shape.s.ix) {\n          return interfaceFunction.start;\n        }\n\n        if (val === shape.o.ix) {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      view.s.setGroupProperty(PropertyInterface(\"Start\", _propertyGroup));\n      view.e.setGroupProperty(PropertyInterface(\"End\", _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Offset\", _propertyGroup));\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.propertyGroup = propertyGroup;\n      Object.defineProperties(interfaceFunction, {\n        start: {\n          get: ExpressionPropertyInterface(view.s)\n        },\n        end: {\n          get: ExpressionPropertyInterface(view.e)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function transformInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.a.ix === value || value === \"Anchor Point\") {\n          return interfaceFunction.anchorPoint;\n        }\n\n        if (shape.o.ix === value || value === \"Opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        if (shape.p.ix === value || value === \"Position\") {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value || value === \"Rotation\" || value === \"ADBE Vector Rotation\") {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.s.ix === value || value === \"Scale\") {\n          return interfaceFunction.scale;\n        }\n\n        if (shape.sk && shape.sk.ix === value || value === \"Skew\") {\n          return interfaceFunction.skew;\n        }\n\n        if (shape.sa && shape.sa.ix === value || value === \"Skew Axis\") {\n          return interfaceFunction.skewAxis;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      view.transform.mProps.o.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      view.transform.mProps.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      view.transform.mProps.a.setGroupProperty(PropertyInterface(\"Anchor Point\", _propertyGroup));\n      view.transform.mProps.s.setGroupProperty(PropertyInterface(\"Scale\", _propertyGroup));\n      view.transform.mProps.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n\n      if (view.transform.mProps.sk) {\n        view.transform.mProps.sk.setGroupProperty(PropertyInterface(\"Skew\", _propertyGroup));\n        view.transform.mProps.sa.setGroupProperty(PropertyInterface(\"Skew Angle\", _propertyGroup));\n      }\n\n      view.transform.op.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        opacity: {\n          get: ExpressionPropertyInterface(view.transform.mProps.o)\n        },\n        position: {\n          get: ExpressionPropertyInterface(view.transform.mProps.p)\n        },\n        anchorPoint: {\n          get: ExpressionPropertyInterface(view.transform.mProps.a)\n        },\n        scale: {\n          get: ExpressionPropertyInterface(view.transform.mProps.s)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(view.transform.mProps.r)\n        },\n        skew: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sk)\n        },\n        skewAxis: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sa)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.ty = \"tr\";\n      interfaceFunction.mn = shape.mn;\n      interfaceFunction.propertyGroup = propertyGroup;\n      return interfaceFunction;\n    }\n\n    function ellipseInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.s.ix === value) {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      prop.s.setGroupProperty(PropertyInterface(\"Size\", _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function starInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.pt.ix === value) {\n          return interfaceFunction.points;\n        }\n\n        if (shape.or.ix === value || value === \"ADBE Vector Star Outer Radius\") {\n          return interfaceFunction.outerRadius;\n        }\n\n        if (shape.os.ix === value) {\n          return interfaceFunction.outerRoundness;\n        }\n\n        if (shape.ir && (shape.ir.ix === value || value === \"ADBE Vector Star Inner Radius\")) {\n          return interfaceFunction.innerRadius;\n        }\n\n        if (shape.is && shape.is.ix === value) {\n          return interfaceFunction.innerRoundness;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.or.setGroupProperty(PropertyInterface(\"Outer Radius\", _propertyGroup));\n      prop.os.setGroupProperty(PropertyInterface(\"Outer Roundness\", _propertyGroup));\n      prop.pt.setGroupProperty(PropertyInterface(\"Points\", _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n\n      if (shape.ir) {\n        prop.ir.setGroupProperty(PropertyInterface(\"Inner Radius\", _propertyGroup));\n        prop.is.setGroupProperty(PropertyInterface(\"Inner Roundness\", _propertyGroup));\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        points: {\n          get: ExpressionPropertyInterface(prop.pt)\n        },\n        outerRadius: {\n          get: ExpressionPropertyInterface(prop.or)\n        },\n        outerRoundness: {\n          get: ExpressionPropertyInterface(prop.os)\n        },\n        innerRadius: {\n          get: ExpressionPropertyInterface(prop.ir)\n        },\n        innerRoundness: {\n          get: ExpressionPropertyInterface(prop.is)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function rectInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.roundness;\n        }\n\n        if (shape.s.ix === value || value === \"Size\" || value === \"ADBE Vector Rect Size\") {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      prop.s.setGroupProperty(PropertyInterface(\"Size\", _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        roundness: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function roundedInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.r.ix === value || value === \"Round Corners 1\") {\n          return interfaceFunction.radius;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.rd.setGroupProperty(PropertyInterface(\"Radius\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        radius: {\n          get: ExpressionPropertyInterface(prop.rd)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function repeaterInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.c.ix === value || value === \"Copies\") {\n          return interfaceFunction.copies;\n        }\n\n        if (shape.o.ix === value || value === \"Offset\") {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.c.setGroupProperty(PropertyInterface(\"Copies\", _propertyGroup));\n      prop.o.setGroupProperty(PropertyInterface(\"Offset\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        copies: {\n          get: ExpressionPropertyInterface(prop.c)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(prop.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    return function (shapes, view, propertyGroup) {\n      var interfaces;\n\n      function _interfaceFunction(value) {\n        if (typeof value === \"number\") {\n          value = value === undefined ? 1 : value;\n\n          if (value === 0) {\n            return propertyGroup;\n          }\n\n          return interfaces[value - 1];\n        }\n\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      function parentGroupWrapper() {\n        return propertyGroup;\n      }\n\n      _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n      interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n      _interfaceFunction.numProperties = interfaces.length;\n      _interfaceFunction._name = \"Contents\";\n      return _interfaceFunction;\n    };\n  }();\n  /* exported TextExpressionInterface */\n\n\n  var TextExpressionInterface = function () {\n    return function (elem) {\n      var _prevValue;\n\n      var _sourceText;\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case \"ADBE Text Document\":\n            return _thisLayerFunction.sourceText;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisLayerFunction, \"sourceText\", {\n        get: function () {\n          elem.textProperty.getValue();\n          var stringValue = elem.textProperty.currentData.t;\n\n          if (stringValue !== _prevValue) {\n            elem.textProperty.currentData.t = _prevValue;\n            _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n            // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n            _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n          }\n\n          return _sourceText;\n        }\n      });\n      return _thisLayerFunction;\n    };\n  }();\n  /* global Matrix, MaskManagerInterface, TransformExpressionInterface, getDescriptor */\n\n  /* exported LayerExpressionInterface */\n\n\n  var LayerExpressionInterface = function () {\n    function getMatrix(time) {\n      var toWorldMat = new Matrix();\n\n      if (time !== undefined) {\n        var propMatrix = (this || _global)._elem.finalTransform.mProp.getValueAtTime(time);\n\n        propMatrix.clone(toWorldMat);\n      } else {\n        var transformMat = (this || _global)._elem.finalTransform.mProp;\n        transformMat.applyToMatrix(toWorldMat);\n      }\n\n      return toWorldMat;\n    }\n\n    function toWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function toWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function fromWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function fromWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function applyPoint(matrix, arr) {\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n    }\n\n    function invertPoint(matrix, arr) {\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.inversePoint(arr);\n    }\n\n    function fromComp(arr) {\n      var toWorldMat = new Matrix();\n      toWorldMat.reset();\n\n      (this || _global)._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n        }\n\n        return toWorldMat.inversePoint(arr);\n      }\n\n      return toWorldMat.inversePoint(arr);\n    }\n\n    function sampleImage() {\n      return [1, 1, 1, 1];\n    }\n\n    return function (elem) {\n      var transformInterface;\n\n      function _registerMaskInterface(maskManager) {\n        _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n      }\n\n      function _registerEffectsInterface(effects) {\n        _thisLayerFunction.effect = effects;\n      }\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case \"ADBE Root Vectors Group\":\n          case \"Contents\":\n          case 2:\n            return _thisLayerFunction.shapeInterface;\n\n          case 1:\n          case 6:\n          case \"Transform\":\n          case \"transform\":\n          case \"ADBE Transform Group\":\n            return transformInterface;\n\n          case 4:\n          case \"ADBE Effect Parade\":\n          case \"effects\":\n          case \"Effects\":\n            return _thisLayerFunction.effect;\n\n          case \"ADBE Text Properties\":\n            return _thisLayerFunction.textInterface;\n\n          default:\n            return null;\n        }\n      }\n\n      _thisLayerFunction.getMatrix = getMatrix;\n      _thisLayerFunction.invertPoint = invertPoint;\n      _thisLayerFunction.applyPoint = applyPoint;\n      _thisLayerFunction.toWorld = toWorld;\n      _thisLayerFunction.toWorldVec = toWorldVec;\n      _thisLayerFunction.fromWorld = fromWorld;\n      _thisLayerFunction.fromWorldVec = fromWorldVec;\n      _thisLayerFunction.toComp = toWorld;\n      _thisLayerFunction.fromComp = fromComp;\n      _thisLayerFunction.sampleImage = sampleImage;\n      _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n      _thisLayerFunction._elem = elem;\n      transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n      var anchorPointDescriptor = getDescriptor(transformInterface, \"anchorPoint\");\n      Object.defineProperties(_thisLayerFunction, {\n        hasParent: {\n          get: function () {\n            return elem.hierarchy.length;\n          }\n        },\n        parent: {\n          get: function () {\n            return elem.hierarchy[0].layerInterface;\n          }\n        },\n        rotation: getDescriptor(transformInterface, \"rotation\"),\n        scale: getDescriptor(transformInterface, \"scale\"),\n        position: getDescriptor(transformInterface, \"position\"),\n        opacity: getDescriptor(transformInterface, \"opacity\"),\n        anchorPoint: anchorPointDescriptor,\n        anchor_point: anchorPointDescriptor,\n        transform: {\n          get: function () {\n            return transformInterface;\n          }\n        },\n        active: {\n          get: function () {\n            return elem.isInRange;\n          }\n        }\n      });\n      _thisLayerFunction.startTime = elem.data.st;\n      _thisLayerFunction.index = elem.data.ind;\n      _thisLayerFunction.source = elem.data.refId;\n      _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n      _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n      _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      _thisLayerFunction._name = elem.data.nm;\n      _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n      _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n      return _thisLayerFunction;\n    };\n  }();\n  /* global */\n\n  /* exported FootageInterface */\n\n\n  var FootageInterface = function () {\n    var outlineInterfaceFactory = function (elem) {\n      var currentPropertyName = \"\";\n      var currentProperty = elem.getFootageData();\n\n      function init() {\n        currentPropertyName = \"\";\n        currentProperty = elem.getFootageData();\n        return searchProperty;\n      }\n\n      function searchProperty(value) {\n        if (currentProperty[value]) {\n          currentPropertyName = value;\n          currentProperty = currentProperty[value];\n\n          if (typeof currentProperty === \"object\") {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        var propertyNameIndex = value.indexOf(currentPropertyName);\n\n        if (propertyNameIndex !== -1) {\n          var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n          currentProperty = currentProperty[index];\n\n          if (typeof currentProperty === \"object\") {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        return \"\";\n      }\n\n      return init;\n    };\n\n    var dataInterfaceFactory = function (elem) {\n      function interfaceFunction(value) {\n        if (value === \"Outline\") {\n          return interfaceFunction.outlineInterface();\n        }\n\n        return null;\n      }\n\n      interfaceFunction._name = \"Outline\";\n      interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n      return interfaceFunction;\n    };\n\n    return function (elem) {\n      function _interfaceFunction(value) {\n        if (value === \"Data\") {\n          return _interfaceFunction.dataInterface;\n        }\n\n        return null;\n      }\n\n      _interfaceFunction._name = \"Data\";\n      _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n      return _interfaceFunction;\n    };\n  }();\n  /* exported CompExpressionInterface */\n\n\n  var CompExpressionInterface = function () {\n    return function (comp) {\n      function _thisLayerFunction(name) {\n        var i = 0;\n        var len = comp.layers.length;\n\n        while (i < len) {\n          if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n            return comp.elements[i].layerInterface;\n          }\n\n          i += 1;\n        }\n\n        return null; // return {active:false};\n      }\n\n      Object.defineProperty(_thisLayerFunction, \"_name\", {\n        value: comp.data.nm\n      });\n      _thisLayerFunction.layer = _thisLayerFunction;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n      _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n      _thisLayerFunction.displayStartTime = 0;\n      _thisLayerFunction.numLayers = comp.layers.length;\n      return _thisLayerFunction;\n    };\n  }();\n  /* global ExpressionPropertyInterface */\n\n  /* exported TransformExpressionInterface */\n\n\n  var TransformExpressionInterface = function () {\n    return function (transform) {\n      function _thisFunction(name) {\n        switch (name) {\n          case \"scale\":\n          case \"Scale\":\n          case \"ADBE Scale\":\n          case 6:\n            return _thisFunction.scale;\n\n          case \"rotation\":\n          case \"Rotation\":\n          case \"ADBE Rotation\":\n          case \"ADBE Rotate Z\":\n          case 10:\n            return _thisFunction.rotation;\n\n          case \"ADBE Rotate X\":\n            return _thisFunction.xRotation;\n\n          case \"ADBE Rotate Y\":\n            return _thisFunction.yRotation;\n\n          case \"position\":\n          case \"Position\":\n          case \"ADBE Position\":\n          case 2:\n            return _thisFunction.position;\n\n          case \"ADBE Position_0\":\n            return _thisFunction.xPosition;\n\n          case \"ADBE Position_1\":\n            return _thisFunction.yPosition;\n\n          case \"ADBE Position_2\":\n            return _thisFunction.zPosition;\n\n          case \"anchorPoint\":\n          case \"AnchorPoint\":\n          case \"Anchor Point\":\n          case \"ADBE AnchorPoint\":\n          case 1:\n            return _thisFunction.anchorPoint;\n\n          case \"opacity\":\n          case \"Opacity\":\n          case 11:\n            return _thisFunction.opacity;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisFunction, \"rotation\", {\n        get: ExpressionPropertyInterface(transform.r || transform.rz)\n      });\n      Object.defineProperty(_thisFunction, \"zRotation\", {\n        get: ExpressionPropertyInterface(transform.rz || transform.r)\n      });\n      Object.defineProperty(_thisFunction, \"xRotation\", {\n        get: ExpressionPropertyInterface(transform.rx)\n      });\n      Object.defineProperty(_thisFunction, \"yRotation\", {\n        get: ExpressionPropertyInterface(transform.ry)\n      });\n      Object.defineProperty(_thisFunction, \"scale\", {\n        get: ExpressionPropertyInterface(transform.s)\n      });\n\n      var _px;\n\n      var _py;\n\n      var _pz;\n\n      var _transformFactory;\n\n      if (transform.p) {\n        _transformFactory = ExpressionPropertyInterface(transform.p);\n      } else {\n        _px = ExpressionPropertyInterface(transform.px);\n        _py = ExpressionPropertyInterface(transform.py);\n\n        if (transform.pz) {\n          _pz = ExpressionPropertyInterface(transform.pz);\n        }\n      }\n\n      Object.defineProperty(_thisFunction, \"position\", {\n        get: function () {\n          if (transform.p) {\n            return _transformFactory();\n          }\n\n          return [_px(), _py(), _pz ? _pz() : 0];\n        }\n      });\n      Object.defineProperty(_thisFunction, \"xPosition\", {\n        get: ExpressionPropertyInterface(transform.px)\n      });\n      Object.defineProperty(_thisFunction, \"yPosition\", {\n        get: ExpressionPropertyInterface(transform.py)\n      });\n      Object.defineProperty(_thisFunction, \"zPosition\", {\n        get: ExpressionPropertyInterface(transform.pz)\n      });\n      Object.defineProperty(_thisFunction, \"anchorPoint\", {\n        get: ExpressionPropertyInterface(transform.a)\n      });\n      Object.defineProperty(_thisFunction, \"opacity\", {\n        get: ExpressionPropertyInterface(transform.o)\n      });\n      Object.defineProperty(_thisFunction, \"skew\", {\n        get: ExpressionPropertyInterface(transform.sk)\n      });\n      Object.defineProperty(_thisFunction, \"skewAxis\", {\n        get: ExpressionPropertyInterface(transform.sa)\n      });\n      Object.defineProperty(_thisFunction, \"orientation\", {\n        get: ExpressionPropertyInterface(transform.or)\n      });\n      return _thisFunction;\n    };\n  }();\n  /* exported ProjectInterface */\n\n\n  ProjectInterface = function () {\n    function registerComposition(comp) {\n      (this || _global).compositions.push(comp);\n    }\n\n    return function () {\n      function _thisProjectFunction(name) {\n        var i = 0;\n        var len = (this || _global).compositions.length;\n\n        while (i < len) {\n          if ((this || _global).compositions[i].data && (this || _global).compositions[i].data.nm === name) {\n            if ((this || _global).compositions[i].prepareFrame && (this || _global).compositions[i].data.xt) {\n              (this || _global).compositions[i].prepareFrame((this || _global).currentFrame);\n            }\n\n            return (this || _global).compositions[i].compInterface;\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      _thisProjectFunction.compositions = [];\n      _thisProjectFunction.currentFrame = 0;\n      _thisProjectFunction.registerComposition = registerComposition;\n      return _thisProjectFunction;\n    };\n  }();\n  /* global propertyGroupFactory, ExpressionPropertyInterface, PropertyInterface */\n\n  /* exported EffectsExpressionInterface */\n\n\n  var EffectsExpressionInterface = function () {\n    var ob = {\n      createEffectsInterface: createEffectsInterface\n    };\n\n    function createEffectsInterface(elem, propertyGroup) {\n      if (elem.effectsManager) {\n        var effectElements = [];\n        var effectsData = elem.data.ef;\n        var i;\n        var len = elem.effectsManager.effectElements.length;\n\n        for (i = 0; i < len; i += 1) {\n          effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n        }\n\n        var effects = elem.data.ef || [];\n\n        var groupInterface = function (name) {\n          i = 0;\n          len = effects.length;\n\n          while (i < len) {\n            if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n              return effectElements[i];\n            }\n\n            i += 1;\n          }\n\n          return null;\n        };\n\n        Object.defineProperty(groupInterface, \"numProperties\", {\n          get: function () {\n            return effects.length;\n          }\n        });\n        return groupInterface;\n      }\n\n      return null;\n    }\n\n    function createGroupInterface(data, elements, propertyGroup, elem) {\n      function groupInterface(name) {\n        var effects = data.ef;\n        var i = 0;\n        var len = effects.length;\n\n        while (i < len) {\n          if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n            if (effects[i].ty === 5) {\n              return effectElements[i];\n            }\n\n            return effectElements[i]();\n          }\n\n          i += 1;\n        }\n\n        throw new Error();\n      }\n\n      var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n      var effectElements = [];\n      var i;\n      var len = data.ef.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (data.ef[i].ty === 5) {\n          effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n        } else {\n          effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n        }\n      }\n\n      if (data.mn === \"ADBE Color Control\") {\n        Object.defineProperty(groupInterface, \"color\", {\n          get: function () {\n            return effectElements[0]();\n          }\n        });\n      }\n\n      Object.defineProperties(groupInterface, {\n        numProperties: {\n          get: function () {\n            return data.np;\n          }\n        },\n        _name: {\n          value: data.nm\n        },\n        propertyGroup: {\n          value: _propertyGroup\n        }\n      });\n      groupInterface.enabled = data.en !== 0;\n      groupInterface.active = groupInterface.enabled;\n      return groupInterface;\n    }\n\n    function createValueInterface(element, type, elem, propertyGroup) {\n      var expressionProperty = ExpressionPropertyInterface(element.p);\n\n      function interfaceFunction() {\n        if (type === 10) {\n          return elem.comp.compInterface(element.p.v);\n        }\n\n        return expressionProperty();\n      }\n\n      if (element.p.setGroupProperty) {\n        element.p.setGroupProperty(PropertyInterface(\"\", propertyGroup));\n      }\n\n      return interfaceFunction;\n    }\n\n    return ob;\n  }();\n  /* global createSizedArray */\n\n  /* exported MaskManagerInterface */\n\n\n  var MaskManagerInterface = function () {\n    function MaskInterface(mask, data) {\n      (this || _global)._mask = mask;\n      (this || _global)._data = data;\n    }\n\n    Object.defineProperty(MaskInterface.prototype, \"maskPath\", {\n      get: function () {\n        if ((this || _global)._mask.prop.k) {\n          (this || _global)._mask.prop.getValue();\n        }\n\n        return (this || _global)._mask.prop;\n      }\n    });\n    Object.defineProperty(MaskInterface.prototype, \"maskOpacity\", {\n      get: function () {\n        if ((this || _global)._mask.op.k) {\n          (this || _global)._mask.op.getValue();\n        }\n\n        return (this || _global)._mask.op.v * 100;\n      }\n    });\n\n    var MaskManager = function (maskManager) {\n      var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n      var i;\n      var len = maskManager.viewData.length;\n\n      for (i = 0; i < len; i += 1) {\n        _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n      }\n\n      var maskFunction = function (name) {\n        i = 0;\n\n        while (i < len) {\n          if (maskManager.masksProperties[i].nm === name) {\n            return _masksInterfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      };\n\n      return maskFunction;\n    };\n\n    return MaskManager;\n  }();\n  /* global createTypedArray */\n\n  /* exported ExpressionPropertyInterface */\n\n\n  var ExpressionPropertyInterface = function () {\n    var defaultUnidimensionalValue = {\n      pv: 0,\n      v: 0,\n      mult: 1\n    };\n    var defaultMultidimensionalValue = {\n      pv: [0, 0, 0],\n      v: [0, 0, 0],\n      mult: 1\n    };\n\n    function completeProperty(expressionValue, property, type) {\n      Object.defineProperty(expressionValue, \"velocity\", {\n        get: function () {\n          return property.getVelocityAtTime(property.comp.currentFrame);\n        }\n      });\n      expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n      expressionValue.key = function (pos) {\n        if (!expressionValue.numKeys) {\n          return 0;\n        }\n\n        var value = \"\";\n\n        if (\"s\" in property.keyframes[pos - 1]) {\n          value = property.keyframes[pos - 1].s;\n        } else if (\"e\" in property.keyframes[pos - 2]) {\n          value = property.keyframes[pos - 2].e;\n        } else {\n          value = property.keyframes[pos - 2].s;\n        }\n\n        var valueProp = type === \"unidimensional\" ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n        valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n        valueProp.value = type === \"unidimensional\" ? value[0] : value;\n        return valueProp;\n      };\n\n      expressionValue.valueAtTime = property.getValueAtTime;\n      expressionValue.speedAtTime = property.getSpeedAtTime;\n      expressionValue.velocityAtTime = property.getVelocityAtTime;\n      expressionValue.propertyGroup = property.propertyGroup;\n    }\n\n    function UnidimensionalPropertyInterface(property) {\n      if (!property || !(\"pv\" in property)) {\n        property = defaultUnidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var val = property.pv * mult;\n      var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n      expressionValue.value = val;\n      completeProperty(expressionValue, property, \"unidimensional\");\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        val = property.v * mult;\n\n        if (expressionValue.value !== val) {\n          expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n          expressionValue.value = val;\n          completeProperty(expressionValue, property, \"unidimensional\");\n        }\n\n        return expressionValue;\n      };\n    }\n\n    function MultidimensionalPropertyInterface(property) {\n      if (!property || !(\"pv\" in property)) {\n        property = defaultMultidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var len = property.data && property.data.l || property.pv.length;\n      var expressionValue = createTypedArray(\"float32\", len);\n      var arrValue = createTypedArray(\"float32\", len);\n      expressionValue.value = arrValue;\n      completeProperty(expressionValue, property, \"multidimensional\");\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        for (var i = 0; i < len; i += 1) {\n          arrValue[i] = property.v[i] * mult;\n          expressionValue[i] = arrValue[i];\n        }\n\n        return expressionValue;\n      };\n    } // TODO: try to avoid using this getter\n\n\n    function defaultGetter() {\n      return defaultUnidimensionalValue;\n    }\n\n    return function (property) {\n      if (!property) {\n        return defaultGetter;\n      }\n\n      if (property.propType === \"unidimensional\") {\n        return UnidimensionalPropertyInterface(property);\n      }\n\n      return MultidimensionalPropertyInterface(property);\n    };\n  }();\n  /* global expressionHelpers, TextSelectorProp, ExpressionManager */\n\n  /* exported TextExpressionSelectorProp */\n\n\n  (function () {\n    var TextExpressionSelectorProp = function () {\n      // eslint-disable-line no-unused-vars\n      function getValueProxy(index, total) {\n        (this || _global).textIndex = index + 1;\n        (this || _global).textTotal = total;\n        (this || _global).v = this.getValue() * (this || _global).mult;\n        return (this || _global).v;\n      }\n\n      return function TextExpressionSelectorPropFactory(elem, data) {\n        (this || _global).pv = 1;\n        (this || _global).comp = elem.comp;\n        (this || _global).elem = elem;\n        (this || _global).mult = 0.01;\n        (this || _global).propType = \"textSelector\";\n        (this || _global).textTotal = data.totalChars;\n        (this || _global).selectorValue = 100;\n        (this || _global).lastValue = [1, 1, 1];\n        (this || _global).k = true;\n        (this || _global).x = true;\n        (this || _global).getValue = ExpressionManager.initiateExpression.bind(this || _global)(elem, data, this || _global);\n        (this || _global).getMult = getValueProxy;\n        (this || _global).getVelocityAtTime = expressionHelpers.getVelocityAtTime;\n\n        if ((this || _global).kf) {\n          (this || _global).getValueAtTime = expressionHelpers.getValueAtTime.bind(this || _global);\n        } else {\n          (this || _global).getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(this || _global);\n        }\n\n        (this || _global).setGroupProperty = expressionHelpers.setGroupProperty;\n      };\n    }();\n\n    var propertyGetTextProp = TextSelectorProp.getTextSelectorProp;\n\n    TextSelectorProp.getTextSelectorProp = function (elem, data, arr) {\n      if (data.t === 1) {\n        return new TextExpressionSelectorPropFactory(elem, data, arr); // eslint-disable-line no-undef\n      }\n\n      return propertyGetTextProp(elem, data, arr);\n    };\n  })();\n  /* global PropertyFactory */\n\n  /* exported SliderEffect, AngleEffect, ColorEffect, PointEffect, LayerIndexEffect, MaskIndexEffect, CheckboxEffect, NoValueEffect */\n\n\n  function SliderEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function AngleEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function ColorEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function PointEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function LayerIndexEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function MaskIndexEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function CheckboxEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function NoValueEffect() {\n    (this || _global).p = {};\n  }\n  /* global extendPrototype, SliderEffect, AngleEffect, ColorEffect, PointEffect, CheckboxEffect, LayerIndexEffect,\r\n  MaskIndexEffect, NoValueEffect, DynamicPropertyContainer */\n\n\n  function EffectsManager(data, element) {\n    var effects = data.ef || [];\n    (this || _global).effectElements = [];\n    var i;\n    var len = effects.length;\n    var effectItem;\n\n    for (i = 0; i < len; i += 1) {\n      effectItem = new GroupEffect(effects[i], element);\n\n      (this || _global).effectElements.push(effectItem);\n    }\n  }\n\n  function GroupEffect(data, element) {\n    this.init(data, element);\n  }\n\n  extendPrototype([DynamicPropertyContainer], GroupEffect);\n  GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n  GroupEffect.prototype.init = function (data, element) {\n    (this || _global).data = data;\n    (this || _global).effectElements = [];\n    this.initDynamicPropertyContainer(element);\n    var i;\n    var len = (this || _global).data.ef.length;\n    var eff;\n    var effects = (this || _global).data.ef;\n\n    for (i = 0; i < len; i += 1) {\n      eff = null;\n\n      switch (effects[i].ty) {\n        case 0:\n          eff = new SliderEffect(effects[i], element, this || _global);\n          break;\n\n        case 1:\n          eff = new AngleEffect(effects[i], element, this || _global);\n          break;\n\n        case 2:\n          eff = new ColorEffect(effects[i], element, this || _global);\n          break;\n\n        case 3:\n          eff = new PointEffect(effects[i], element, this || _global);\n          break;\n\n        case 4:\n        case 7:\n          eff = new CheckboxEffect(effects[i], element, this || _global);\n          break;\n\n        case 10:\n          eff = new LayerIndexEffect(effects[i], element, this || _global);\n          break;\n\n        case 11:\n          eff = new MaskIndexEffect(effects[i], element, this || _global);\n          break;\n\n        case 5:\n          eff = new EffectsManager(effects[i], element, this || _global);\n          break;\n        // case 6:\n\n        default:\n          eff = new NoValueEffect(effects[i], element, this || _global);\n          break;\n      }\n\n      if (eff) {\n        (this || _global).effectElements.push(eff);\n      }\n    }\n  };\n\n  var lottie = {};\n\n  function setLocationHref(href) {\n    locationHref = href;\n  }\n\n  function searchAnimations() {\n    if (standalone === true) {\n      animationManager.searchAnimations(animationData, standalone, renderer);\n    } else {\n      animationManager.searchAnimations();\n    }\n  }\n\n  function setSubframeRendering(flag) {\n    subframeEnabled = flag;\n  }\n\n  function loadAnimation(params) {\n    if (standalone === true) {\n      params.animationData = JSON.parse(animationData);\n    }\n\n    return animationManager.loadAnimation(params);\n  }\n\n  function setQuality(value) {\n    if (typeof value === \"string\") {\n      switch (value) {\n        case \"high\":\n          defaultCurveSegments = 200;\n          break;\n\n        default:\n        case \"medium\":\n          defaultCurveSegments = 50;\n          break;\n\n        case \"low\":\n          defaultCurveSegments = 10;\n          break;\n      }\n    } else if (!isNaN(value) && value > 1) {\n      defaultCurveSegments = value;\n    }\n\n    if (defaultCurveSegments >= 50) {\n      roundValues(false);\n    } else {\n      roundValues(true);\n    }\n  }\n\n  function inBrowser() {\n    return typeof navigator !== \"undefined\";\n  }\n\n  function installPlugin(type, plugin) {\n    if (type === \"expressions\") {\n      expressionsPlugin = plugin;\n    }\n  }\n\n  function getFactory(name) {\n    switch (name) {\n      case \"propertyFactory\":\n        return PropertyFactory;\n\n      case \"shapePropertyFactory\":\n        return ShapePropertyFactory;\n\n      case \"matrix\":\n        return Matrix;\n\n      default:\n        return null;\n    }\n  }\n\n  lottie.play = animationManager.play;\n  lottie.pause = animationManager.pause;\n  lottie.setLocationHref = setLocationHref;\n  lottie.togglePause = animationManager.togglePause;\n  lottie.setSpeed = animationManager.setSpeed;\n  lottie.setDirection = animationManager.setDirection;\n  lottie.stop = animationManager.stop;\n  lottie.searchAnimations = searchAnimations;\n  lottie.registerAnimation = animationManager.registerAnimation;\n  lottie.loadAnimation = loadAnimation;\n  lottie.setSubframeRendering = setSubframeRendering;\n  lottie.resize = animationManager.resize; // lottie.start = start;\n\n  lottie.goToAndStop = animationManager.goToAndStop;\n  lottie.destroy = animationManager.destroy;\n  lottie.setQuality = setQuality;\n  lottie.inBrowser = inBrowser;\n  lottie.installPlugin = installPlugin;\n  lottie.freeze = animationManager.freeze;\n  lottie.unfreeze = animationManager.unfreeze;\n  lottie.setVolume = animationManager.setVolume;\n  lottie.mute = animationManager.mute;\n  lottie.unmute = animationManager.unmute;\n  lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n  lottie.__getFactory = getFactory;\n  lottie.version = \"5.7.8\";\n\n  function checkReady() {\n    if (document.readyState === \"complete\") {\n      clearInterval(readyStateCheckInterval);\n      searchAnimations();\n    }\n  }\n\n  function getQueryVariable(variable) {\n    var vars = queryString.split(\"&\");\n\n    for (var i = 0; i < vars.length; i += 1) {\n      var pair = vars[i].split(\"=\");\n\n      if (decodeURIComponent(pair[0]) == variable) {\n        // eslint-disable-line eqeqeq\n        return decodeURIComponent(pair[1]);\n      }\n    }\n\n    return null;\n  }\n\n  var standalone = \"__[STANDALONE]__\";\n  var animationData = \"__[ANIMATIONDATA]__\";\n  var renderer = \"\";\n  var queryString;\n\n  if (standalone) {\n    var scripts = document.getElementsByTagName(\"script\");\n    var index = scripts.length - 1;\n    var myScript = scripts[index] || {\n      src: \"\"\n    };\n    queryString = myScript.src.replace(/^[^\\?]+\\??/, \"\"); // eslint-disable-line no-useless-escape\n\n    renderer = getQueryVariable(\"renderer\");\n  }\n\n  var readyStateCheckInterval = setInterval(checkReady, 100);\n  return lottie;\n});\nvar exports$1 = exports;\n\nexport default exports$1;\n\n//# sourceMappingURL=npm:lottie-web@5.7.8!cjs.map","export { default } from \"/npm:lottie-web@5.7.8!cjs\";\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useCallback,useEffect}from\"react\";import{motion,addPropertyControls,ControlType,RenderTarget}from\"framer\";import{defaultEvents}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{useAutoMotionValue}from\"https://framer.com/m/framer/useAutoMotionValue.js@0.3.0\";import lottie from\"https://jspm.dev/lottie-web@5.7.8\";var SrcType;(function(SrcType){SrcType[\"File\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));var Poster;(function(Poster){Poster[\"Auto\"]=\"Auto\";Poster[\"Custom\"]=\"Custom\";})(Poster||(Poster={}));const placeholderUrl=\"https://misc.framerstatic.com/lottie/logo.json\";/**\n * LOTTIE\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 350\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Lottie(props){const{style,srcUrl,srcFile,srcType,poster,progress:progressRaw,playing,loop,posterProgress,pauseOnCanvas,isForwardsDirection,speed,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,onComplete}=props;const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const shouldPlay=(!pauseOnCanvas||!isOnCanvas)&&playing;const direction=isForwardsDirection?1:-1;const isCustomPoster=poster===\"Custom\";const el=useRef();const didInitialMount=useRef(false);const animationInfo=useRef({data:null,animation:null,duration:null});const progress=useAutoMotionValue(progressRaw,{transform:v=>v*.01});const play=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.play();};const pause=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.pause();};const destroy=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.destroy();};const scrubTo=useCallback((normalizedProgress,shouldPlayAfter)=>{if(!animationInfo.current.duration||!animationInfo.current.animation)return;// Lottie gets weird when scrubbing to the exact last frame\nconst frameNumberTarget=normalizedProgress===1?animationInfo.current.duration-1:normalizedProgress*animationInfo.current.duration;if(shouldPlayAfter)animationInfo.current.animation.goToAndPlay(frameNumberTarget,true);else animationInfo.current.animation.goToAndStop(frameNumberTarget,true);},[]);const fetchLottieData=useCallback(async url=>{if(!url)return null;const data=await fetch(url,{method:\"GET\",credentials:\"omit\",redirect:\"follow\"}).then(d=>d.json());return data;},[]);// Fetch lottie animation & start setup\nconst init=useCallback(async()=>{// Clear current animation\ndestroy();let dataUrl;if(srcType===\"URL\")dataUrl=srcUrl;if(srcType===\"Upload\")dataUrl=srcFile;if(!dataUrl){console.warn(\"No valid Lottie animation provided\");dataUrl=placeholderUrl;}const data=await fetchLottieData(dataUrl);animationInfo.current.data=data;return setup(didInitialMount.current);},[srcType,srcUrl,srcFile]);// Create Lottie animation\nconst setup=useCallback(shouldPlayAfter=>{if(!el.current)return;destroy();const options={container:el.current,renderer:\"svg\",loop:loop,autoplay:shouldPlay,animationData:animationInfo.current.data,rendererSettings:{preserveAspectRatio:\"xMidYMid slice\"}};const anim=animationInfo.current.animation=lottie.loadAnimation(options);animationInfo.current.duration=anim.getDuration(true);anim.setDirection(direction);anim.setSpeed(speed);didInitialMount.current=true;if(isOnCanvas&&isCustomPoster)scrubTo(posterProgress,false);else scrubTo(progress.get(),shouldPlay||shouldPlayAfter);return()=>{anim.destroy();};},[loop,shouldPlay,speed,direction,isOnCanvas,isCustomPoster,posterProgress]);// Initial setup or re-init when source changes\nuseEffect(()=>{let cleanup;init().then(c=>cleanup=c);return()=>{if(cleanup)cleanup();};},[srcType,srcFile,srcUrl]);// No run-time option for loop option, recreating anim\nuseEffect(()=>{if(!didInitialMount.current)return;return setup(false);},[loop]);// Perf hack lets see if anyone notices\nuseEffect(()=>lottie.setQuality(isOnCanvas?\"low\":\"medium\"),[]);// useEffect(() => {\n//     if (!isOnCanvas) return\n//     const normalizedProgress = progress.get() * 0.01\n//     if (shouldPlay) scrubTo(normalizedProgress, true)\n//     else scrubTo(normalizedProgress, false)\n// }, [progressRaw, shouldPlay])\nuseEffect(()=>progress.onChange(val=>{if(isOnCanvas)return;if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);}),[]);useEffect(()=>{const val=progress.get();if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);},[progressRaw]);useEffect(()=>{if(!isOnCanvas)return;const normalizedPosterProgress=posterProgress*.01;if(isCustomPoster)scrubTo(normalizedPosterProgress,false);else scrubTo(progress.get(),false);},[isCustomPoster,posterProgress]);useEffect(()=>{var _animationInfo_current;if(!((_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:_animationInfo_current.animation))return;animationInfo.current.animation.setSpeed(speed);scrubTo(progress.get(),true);},[speed]);useEffect(()=>{var _animationInfo_current;if(!((_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:_animationInfo_current.animation))return;animationInfo.current.animation.setDirection(direction);scrubTo(progress.get(),true);},[direction]);useEffect(()=>{if(shouldPlay)play();else pause();},[shouldPlay]);return /*#__PURE__*/_jsx(motion.div,{ref:el,style:style,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp});}Lottie.defaultProps={height:200,width:200,srcType:\"URL\",pauseOnCanvas:true,srcUrl:placeholderUrl,progress:0,poster:\"Auto\",posterProgress:0};addPropertyControls(Lottie,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",placeholder:\"../example.json\",hidden:props=>props.srcType===\"Upload\"},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"json\"],hidden:props=>props.srcType===\"URL\"},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},// Temporarily disabling for perf\npauseOnCanvas:{type:ControlType.Boolean,title:\"Canvas\",disabledTitle:\"Play\",enabledTitle:\"Pause\",hidden:props=>props.playing===false},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},isForwardsDirection:{title:\"Direction\",type:ControlType.Boolean,enabledTitle:\"Normal\",disabledTitle:\"Reverse\"},speed:{type:ControlType.Number,defaultValue:1,min:0,max:10,step:.5,displayStepper:true,unit:\"x\"},poster:{title:\"Poster\",type:ControlType.Enum,options:[\"Auto\",\"Custom\"],displaySegmentedControl:true},posterProgress:{title:\" \",type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({poster})=>poster===\"Auto\"},progress:{title:\"Progress\",type:ControlType.Number,max:100,min:0,unit:\"%\",description:\"This component is made for JSON files. [Learn more here](https://lottiefiles.com/what-is-lottie).\"},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Lottie\":{\"type\":\"reactComponent\",\"name\":\"Lottie\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"350\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lottie.map","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 9 4.89 L 9 14.538 C 8.874 14.537 8.75 14.505 8.64 14.444 L 0.39 9.929 C 0.15 9.798 0.001 9.546 0 9.273 L 0 0.307 C 0 0.201 0.022 0.096 0.066 0 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"14.537812500000001px\" id=\"o9ypHGnGn\" transform=\"translate(3 7.212)\" width=\"9px\"/><path d=\"M 0 0 L 8.934 4.89 L 17.869 0\" fill=\"transparent\" height=\"4.890000000000001px\" id=\"LzV3sO6UL\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.066 7.211)\" width=\"17.868750000000002px\"/><path d=\"M 9.36 0.092 L 17.61 4.609 C 17.85 4.74 17.999 4.992 18 5.265 L 18 14.231 C 17.999 14.505 17.85 14.756 17.61 14.888 L 9.36 19.405 C 9.136 19.527 8.864 19.527 8.64 19.405 L 0.39 14.888 C 0.15 14.756 0.001 14.505 0 14.231 L 0 5.265 C 0.001 4.992 0.15 4.74 0.39 4.609 L 8.64 0.092 C 8.864 -0.031 9.136 -0.031 9.36 0.092 Z\" fill=\"transparent\" height=\"19.49659726803232px\" id=\"vvoCjHKQ0\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3 2.252)\" width=\"18px\"/><path d=\"M 0 0 L 0 9.648\" fill=\"transparent\" height=\"9.6478125px\" id=\"xWcSfrjmH\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(12 12.102)\" width=\"1px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"3494739676\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-p3lRU\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-p3lRU { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Cube\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-p3lRU\");Icon.displayName=\"Cube\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Cube\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerIntrinsicWidth\":\"24\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerIntrinsicHeight\":\"24\",\"framerImmutableVariables\":\"true\",\"framerDisableUnlink\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 9 C 0 4.036 4.02 0.009 8.984 0 L 8.984 0 C 8.975 4.958 4.958 8.975 0 8.984 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"9px\" id=\"fHoERTSh3\" transform=\"translate(3 3)\" width=\"8.9840625px\"/><path d=\"M 0 9 C 0 4.036 4.02 0.009 8.984 0 L 8.984 0 C 8.975 4.958 4.958 8.975 0 8.984 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"9px\" id=\"VL9NB0Ccg\" transform=\"translate(12.016 12.016)\" width=\"8.984062500011277px\"/><path d=\"M 0 9 C 0 4.029 4.029 0 9 0 C 13.971 0 18 4.029 18 9 C 18 13.971 13.971 18 9 18 C 4.029 18 0 13.971 0 9 Z\" fill=\"transparent\" height=\"18px\" id=\"CHnq_c4XK\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3 3)\" width=\"18px\"/><path d=\"M 8.984 0 C 8.975 4.958 4.958 8.975 0 8.984\" fill=\"transparent\" height=\"8.9840625px\" id=\"y7EPYbHXO\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3 3)\" width=\"8.9840625px\"/><path d=\"M 8.984 0 C 4.026 0.009 0.009 4.026 0 8.984\" fill=\"transparent\" height=\"8.984062499999993px\" id=\"yTgyg6A80\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(12.016 12.016)\" width=\"8.984062500000007px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"260845121\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-s9tC9\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-s9tC9 { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Tennis Ball\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-s9tC9\");Icon.displayName=\"Tennis Ball\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"Tennis Ball\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\",\"framerIntrinsicWidth\":\"24\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (af7f236)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFonts,Link,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import XTwitter from\"https://framerusercontent.com/modules/Xh2LpCymrJOcnDpnJmXt/11az79mLGUbrG0BpGFNC/Gw5FKyFcZ.js\";const XTwitterFonts=getFonts(XTwitter);const enabledGestures={aCbuhSqPe:{hover:true},ZnuFuCaHT:{hover:true},ZpaFNeSos:{hover:true}};const cycleOrder=[\"ZpaFNeSos\",\"aCbuhSqPe\",\"ZnuFuCaHT\"];const serializationHash=\"framer-wqB3C\";const variantClassNames={aCbuhSqPe:\"framer-v-1m0y77e\",ZnuFuCaHT:\"framer-v-yeimo\",ZpaFNeSos:\"framer-v-1j7goui\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Insta:\"ZpaFNeSos\",Linkedin:\"aCbuhSqPe\",X:\"ZnuFuCaHT\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"ZpaFNeSos\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"ZpaFNeSos\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"aCbuhSqPe-hover\",\"ZnuFuCaHT-hover\"].includes(gestureVariant))return false;if([\"aCbuhSqPe\",\"ZnuFuCaHT\"].includes(baseVariant))return false;return true;};const isDisplayed1=()=>{if(gestureVariant===\"aCbuhSqPe-hover\")return true;if(baseVariant===\"aCbuhSqPe\")return true;return false;};const isDisplayed2=()=>{if(gestureVariant===\"ZnuFuCaHT-hover\")return true;if(baseVariant===\"ZnuFuCaHT\")return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:\"https://www.instagram.com/ajaypv4/\",motionChild:true,nodeId:\"ZpaFNeSos\",openInNewTab:true,scopeId:\"a2Ip4OGR8\",...addPropertyOverrides({aCbuhSqPe:{href:\"https://www.linkedin.com/in/ajaypv/\"},ZnuFuCaHT:{href:\"https://x.com/ajaypv4\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-1j7goui\",className,classNames)} framer-18yrcx2`,\"data-framer-name\":\"Insta\",layoutDependency:layoutDependency,layoutId:\"ZpaFNeSos\",ref:refBinding,style:{...style},...addPropertyOverrides({\"aCbuhSqPe-hover\":{\"data-framer-name\":undefined},\"ZnuFuCaHT-hover\":{\"data-framer-name\":undefined},\"ZpaFNeSos-hover\":{\"data-framer-name\":undefined},aCbuhSqPe:{\"data-framer-name\":\"Linkedin\"},ZnuFuCaHT:{\"data-framer-name\":\"X\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsxs(SVG,{className:\"framer-mov9li\",\"data-framer-name\":\"Insta\",layoutDependency:layoutDependency,layoutId:\"wZaK4iaDf\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 93 25.039\" overflow=\"visible\"><path d=\"M 4.786 0.087 C 2.883 0.844 0.79 2.979 0.13 5.662 C -0.707 9.06 2.776 10.496 3.061 10.026 C 3.397 9.472 2.437 9.285 2.239 7.522 C 1.984 5.245 3.099 2.702 4.503 1.584 C 4.763 1.377 4.752 1.666 4.752 2.2 C 4.752 3.154 4.695 11.726 4.695 13.515 C 4.695 15.936 4.591 16.7 4.4 17.456 C 4.21 18.22 3.901 18.738 4.135 18.937 C 4.396 19.16 5.51 18.63 6.155 17.776 C 6.928 16.751 7.198 15.521 7.248 14.185 C 7.306 12.574 7.304 10.017 7.306 8.56 C 7.308 7.223 7.33 3.308 7.282 0.954 C 7.27 0.377 5.583 -0.23 4.787 0.087 Z M 72.381 11.415 C 72.32 12.674 72.026 13.657 71.662 14.351 C 70.956 15.694 69.493 16.112 68.872 14.181 C 68.533 13.129 68.518 11.37 68.761 9.902 C 69.009 8.405 69.7 7.276 70.846 7.378 C 71.977 7.479 72.505 8.86 72.381 11.415 Z M 53.329 19.223 C 53.314 21.313 52.968 23.148 52.224 23.68 C 51.169 24.435 49.751 23.867 50.046 22.343 C 50.305 20.992 51.534 19.613 53.333 17.929 C 53.333 17.929 53.336 18.313 53.329 19.223 Z M 53.041 11.404 C 52.977 12.55 52.664 13.701 52.322 14.352 C 51.618 15.695 50.143 16.114 49.532 14.181 C 49.115 12.859 49.215 11.15 49.421 10.073 C 49.69 8.674 50.34 7.378 51.507 7.378 C 52.642 7.378 53.201 8.56 53.041 11.404 Z M 42.006 11.386 C 41.936 12.6 41.686 13.614 41.287 14.352 C 40.562 15.685 39.128 16.108 38.497 14.181 C 38.041 12.79 38.195 10.896 38.385 9.872 C 38.666 8.352 39.371 7.276 40.471 7.378 C 41.6 7.482 42.15 8.86 42.006 11.386 Z M 92.582 12.804 C 92.306 12.804 92.18 13.074 92.075 13.528 C 91.714 15.109 91.334 15.467 90.844 15.467 C 90.296 15.467 89.804 14.684 89.678 13.117 C 89.578 11.885 89.594 9.616 89.721 7.359 C 89.748 6.896 89.613 6.437 88.302 5.984 C 87.738 5.79 86.918 5.504 86.511 6.439 C 85.357 9.08 84.906 11.178 84.8 12.03 C 84.795 12.073 84.737 12.083 84.728 11.979 C 84.66 11.297 84.509 10.057 84.49 7.452 C 84.486 6.944 84.373 6.511 83.782 6.157 C 83.398 5.927 82.234 5.521 81.815 6.005 C 81.451 6.4 81.03 7.464 80.593 8.726 C 80.238 9.752 79.99 10.445 79.99 10.445 C 79.99 10.445 79.995 7.678 79.999 6.629 C 80.001 6.233 79.714 6.102 79.629 6.077 C 79.241 5.97 78.475 5.791 78.15 5.791 C 77.749 5.791 77.651 6.004 77.651 6.314 C 77.651 6.355 77.589 9.957 77.589 12.475 L 77.589 12.831 C 77.367 13.989 76.648 15.56 75.867 15.56 C 75.083 15.56 74.715 14.903 74.715 11.901 C 74.715 10.148 74.769 9.387 74.797 8.12 C 74.813 7.39 74.844 6.83 74.842 6.703 C 74.836 6.313 74.126 6.116 73.796 6.044 C 73.518 5.977 73.234 5.947 72.949 5.954 C 72.629 5.972 72.403 6.17 72.403 6.443 L 72.405 6.868 C 71.995 6.255 71.334 5.829 70.894 5.705 C 69.71 5.371 68.474 5.667 67.541 6.905 C 66.801 7.888 66.354 9.003 66.178 10.603 C 66.05 11.774 66.092 12.96 66.321 13.964 C 66.043 15.096 65.532 15.56 64.97 15.56 C 64.157 15.56 63.566 14.299 63.634 12.117 C 63.679 10.681 63.982 9.674 64.313 8.216 C 64.453 7.596 64.34 7.27 64.052 6.959 C 63.788 6.673 63.227 6.526 62.419 6.706 C 61.844 6.834 61.021 6.973 60.269 7.078 C 60.269 7.078 60.314 6.906 60.352 6.603 C 60.548 5.013 58.728 5.142 58.147 5.65 C 57.8 5.954 57.564 6.311 57.475 6.953 C 57.333 7.973 58.21 8.455 58.21 8.455 C 57.922 9.704 57.217 11.336 56.489 12.515 C 56.1 13.147 55.801 13.616 55.416 14.114 C 55.404 12.116 55.417 10.118 55.457 8.12 C 55.474 7.39 55.504 6.845 55.502 6.718 C 55.498 6.432 55.323 6.324 54.958 6.188 C 54.604 6.06 54.233 5.981 53.858 5.955 C 53.357 5.918 53.056 6.17 53.065 6.467 C 53.066 6.523 53.066 6.868 53.066 6.868 C 52.655 6.255 51.994 5.829 51.555 5.705 C 50.37 5.371 49.134 5.667 48.202 6.905 C 47.461 7.888 46.977 9.269 46.839 10.592 C 46.711 11.823 46.734 12.87 46.909 13.753 C 46.721 14.636 46.179 15.56 45.567 15.56 C 44.784 15.56 44.339 14.903 44.339 11.901 C 44.339 10.148 44.394 9.387 44.421 8.12 C 44.437 7.39 44.467 6.83 44.466 6.703 C 44.46 6.313 43.75 6.116 43.419 6.044 C 43.133 5.974 42.839 5.945 42.545 5.956 C 42.243 5.977 42.03 6.234 42.03 6.426 L 42.03 6.868 C 41.618 6.255 40.958 5.829 40.518 5.705 C 39.334 5.371 38.104 5.672 37.165 6.905 C 36.553 7.709 36.057 8.6 35.802 10.574 C 35.732 11.105 35.698 11.641 35.7 12.177 C 35.456 13.594 34.377 15.228 33.495 15.228 C 32.979 15.228 32.487 14.278 32.487 12.252 C 32.487 9.554 32.663 5.713 32.693 5.342 C 32.693 5.342 33.808 5.325 34.024 5.323 C 34.58 5.316 35.083 5.329 35.824 5.293 C 36.195 5.275 36.553 4.01 36.17 3.854 C 35.996 3.782 34.768 3.72 34.281 3.71 C 33.872 3.702 32.732 3.621 32.732 3.621 C 32.732 3.621 32.834 1.072 32.858 0.803 C 32.878 0.578 32.571 0.463 32.397 0.392 C 31.97 0.222 31.589 0.139 31.136 0.05 C 30.51 -0.071 30.227 0.049 30.171 0.548 C 30.088 1.309 30.045 3.535 30.045 3.535 C 29.586 3.535 28.019 3.45 27.559 3.45 C 27.134 3.45 26.673 5.19 27.262 5.212 C 27.941 5.237 29.122 5.258 29.907 5.281 C 29.907 5.281 29.871 9.185 29.871 10.391 L 29.873 10.762 C 29.442 12.896 27.923 14.048 27.923 14.048 C 28.249 12.637 27.582 11.577 26.382 10.68 C 25.94 10.349 25.067 9.723 24.09 9.037 C 24.09 9.037 24.656 8.508 25.157 7.444 C 25.513 6.689 25.528 5.826 24.657 5.636 C 23.214 5.322 22.026 6.326 21.671 7.399 C 21.396 8.231 21.543 8.847 22.081 9.487 C 22.122 9.536 22.164 9.583 22.206 9.63 C 21.837 10.311 21.454 10.984 21.055 11.649 C 20.005 13.374 19.211 14.74 18.611 14.74 C 18.13 14.74 18.137 13.354 18.137 12.056 C 18.137 10.938 18.224 9.256 18.294 7.515 C 18.316 6.939 18.013 6.611 17.504 6.314 C 17.196 6.133 16.536 5.778 16.154 5.778 C 15.582 5.778 13.933 5.852 12.374 10.13 C 12.178 10.669 11.793 11.652 11.793 11.652 L 11.825 6.508 C 11.825 6.387 11.758 6.27 11.603 6.19 C 11.341 6.055 10.639 5.779 10.015 5.779 C 9.717 5.779 9.569 5.909 9.569 6.17 L 9.515 14.22 C 9.515 14.832 9.531 15.546 9.596 15.857 C 9.658 16.17 9.762 16.424 9.889 16.575 C 10.017 16.739 10.201 16.851 10.406 16.889 C 10.632 16.933 11.868 17.084 11.932 16.636 C 12.009 16.098 12.013 15.517 12.661 13.349 C 13.672 9.975 14.99 8.328 15.61 7.743 C 15.717 7.641 15.841 7.635 15.835 7.802 C 15.808 8.542 15.716 10.391 15.653 11.962 C 15.485 16.164 16.291 16.943 17.442 16.943 C 18.324 16.943 19.565 16.113 20.896 14.01 C 21.638 12.839 22.376 11.665 23.11 10.49 C 23.514 10.844 23.967 11.225 24.419 11.632 C 25.47 12.579 25.815 13.479 25.587 14.333 C 25.411 14.986 24.751 15.658 23.577 15.004 C 23.236 14.814 23.089 14.667 22.746 14.451 C 22.56 14.336 22.278 14.302 22.109 14.422 C 21.67 14.737 21.418 15.138 21.275 15.632 C 21.135 16.114 21.643 16.369 22.171 16.592 C 22.625 16.784 23.6 16.958 24.223 16.977 C 26.646 17.054 28.589 15.867 29.941 12.801 C 30.183 15.448 31.213 16.946 33.003 16.946 C 34.2 16.946 35.4 15.479 35.924 14.034 C 36.057 14.579 36.28 15.098 36.586 15.568 C 37.964 17.641 40.639 17.195 41.983 15.434 C 42.398 14.89 42.462 14.694 42.462 14.694 C 42.658 16.358 44.069 16.939 44.876 16.939 C 45.781 16.939 46.715 16.532 47.369 15.133 C 47.446 15.285 47.53 15.43 47.621 15.568 C 49 17.641 51.676 17.195 53.019 15.434 C 53.076 15.36 53.131 15.285 53.185 15.209 L 53.225 16.301 L 51.988 17.379 C 49.914 19.182 48.339 20.55 48.223 22.143 C 48.076 24.175 49.81 24.93 51.125 25.029 C 52.519 25.134 53.714 24.403 54.448 23.379 C 55.094 22.479 55.517 20.54 55.485 18.625 C 55.473 17.858 55.452 16.883 55.437 15.838 C 56.288 14.904 57.058 13.899 57.74 12.835 C 58.562 11.542 59.445 9.805 59.896 8.453 C 59.896 8.453 60.663 8.46 61.48 8.409 C 61.742 8.393 61.817 8.444 61.769 8.625 C 61.71 8.845 60.735 12.413 61.626 14.79 C 62.234 16.418 63.607 16.941 64.42 16.941 C 65.374 16.941 66.285 16.258 66.773 15.244 C 66.832 15.358 66.894 15.467 66.961 15.568 C 68.34 17.642 71.006 17.192 72.358 15.434 C 72.664 15.038 72.837 14.694 72.837 14.694 C 73.128 16.416 74.538 16.947 75.345 16.947 C 76.186 16.947 76.985 16.62 77.633 15.165 C 77.66 15.806 77.702 16.329 77.769 16.494 C 77.811 16.595 78.049 16.722 78.224 16.783 C 78.993 17.054 79.778 16.926 80.069 16.87 C 80.27 16.832 80.426 16.679 80.448 16.282 C 80.504 15.245 80.47 13.5 80.802 12.203 C 81.358 10.026 81.878 9.182 82.124 8.765 C 82.262 8.53 82.418 8.492 82.423 8.74 C 82.435 9.24 82.461 10.713 82.677 12.692 C 82.835 14.147 83.046 15.006 83.209 15.279 C 83.674 16.057 84.246 16.094 84.713 16.094 C 85.011 16.094 85.632 16.016 85.576 15.521 C 85.549 15.28 85.596 13.787 86.145 11.643 C 86.503 10.244 87.102 8.978 87.316 8.516 C 87.397 8.346 87.433 8.48 87.433 8.506 C 87.387 9.47 87.285 12.624 87.699 14.349 C 88.26 16.685 89.883 16.947 90.449 16.947 C 91.656 16.947 92.643 16.075 92.976 13.781 C 93.056 13.23 92.937 12.804 92.582 12.804 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"ZpaFNeSos-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 93 25.039\" overflow=\"visible\"><path d=\"M 4.786 0.087 C 2.883 0.844 0.79 2.979 0.13 5.662 C -0.707 9.06 2.776 10.496 3.061 10.026 C 3.397 9.472 2.437 9.285 2.239 7.522 C 1.984 5.245 3.099 2.702 4.503 1.584 C 4.763 1.377 4.752 1.666 4.752 2.2 C 4.752 3.154 4.695 11.726 4.695 13.515 C 4.695 15.936 4.591 16.7 4.4 17.456 C 4.21 18.22 3.901 18.738 4.135 18.937 C 4.396 19.16 5.51 18.63 6.155 17.776 C 6.928 16.751 7.198 15.521 7.248 14.185 C 7.306 12.574 7.304 10.017 7.306 8.56 C 7.308 7.223 7.33 3.308 7.282 0.954 C 7.27 0.377 5.583 -0.23 4.787 0.087 Z M 72.381 11.415 C 72.32 12.674 72.026 13.657 71.662 14.351 C 70.956 15.694 69.493 16.112 68.872 14.181 C 68.533 13.129 68.518 11.37 68.761 9.902 C 69.009 8.405 69.7 7.276 70.846 7.378 C 71.977 7.479 72.505 8.86 72.381 11.415 Z M 53.329 19.223 C 53.314 21.313 52.968 23.148 52.224 23.68 C 51.169 24.435 49.751 23.867 50.046 22.343 C 50.305 20.992 51.534 19.613 53.333 17.929 C 53.333 17.929 53.336 18.313 53.329 19.223 Z M 53.041 11.404 C 52.977 12.55 52.664 13.701 52.322 14.352 C 51.618 15.695 50.143 16.114 49.532 14.181 C 49.115 12.859 49.215 11.15 49.421 10.073 C 49.69 8.674 50.34 7.378 51.507 7.378 C 52.642 7.378 53.201 8.56 53.041 11.404 Z M 42.006 11.386 C 41.936 12.6 41.686 13.614 41.287 14.352 C 40.562 15.685 39.128 16.108 38.497 14.181 C 38.041 12.79 38.195 10.896 38.385 9.872 C 38.666 8.352 39.371 7.276 40.471 7.378 C 41.6 7.482 42.15 8.86 42.006 11.386 Z M 92.582 12.804 C 92.306 12.804 92.18 13.074 92.075 13.528 C 91.714 15.109 91.334 15.467 90.844 15.467 C 90.296 15.467 89.804 14.684 89.678 13.117 C 89.578 11.885 89.594 9.616 89.721 7.359 C 89.748 6.896 89.613 6.437 88.302 5.984 C 87.738 5.79 86.918 5.504 86.511 6.439 C 85.357 9.08 84.906 11.178 84.8 12.03 C 84.795 12.073 84.737 12.083 84.728 11.979 C 84.66 11.297 84.509 10.057 84.49 7.452 C 84.486 6.944 84.373 6.511 83.782 6.157 C 83.398 5.927 82.234 5.521 81.815 6.005 C 81.451 6.4 81.03 7.464 80.593 8.726 C 80.238 9.752 79.99 10.445 79.99 10.445 C 79.99 10.445 79.995 7.678 79.999 6.629 C 80.001 6.233 79.714 6.102 79.629 6.077 C 79.241 5.97 78.475 5.791 78.15 5.791 C 77.749 5.791 77.651 6.004 77.651 6.314 C 77.651 6.355 77.589 9.957 77.589 12.475 L 77.589 12.831 C 77.367 13.989 76.648 15.56 75.867 15.56 C 75.083 15.56 74.715 14.903 74.715 11.901 C 74.715 10.148 74.769 9.387 74.797 8.12 C 74.813 7.39 74.844 6.83 74.842 6.703 C 74.836 6.313 74.126 6.116 73.796 6.044 C 73.518 5.977 73.234 5.947 72.949 5.954 C 72.629 5.972 72.403 6.17 72.403 6.443 L 72.405 6.868 C 71.995 6.255 71.334 5.829 70.894 5.705 C 69.71 5.371 68.474 5.667 67.541 6.905 C 66.801 7.888 66.354 9.003 66.178 10.603 C 66.05 11.774 66.092 12.96 66.321 13.964 C 66.043 15.096 65.532 15.56 64.97 15.56 C 64.157 15.56 63.566 14.299 63.634 12.117 C 63.679 10.681 63.982 9.674 64.313 8.216 C 64.453 7.596 64.34 7.27 64.052 6.959 C 63.788 6.673 63.227 6.526 62.419 6.706 C 61.844 6.834 61.021 6.973 60.269 7.078 C 60.269 7.078 60.314 6.906 60.352 6.603 C 60.548 5.013 58.728 5.142 58.147 5.65 C 57.8 5.954 57.564 6.311 57.475 6.953 C 57.333 7.973 58.21 8.455 58.21 8.455 C 57.922 9.704 57.217 11.336 56.489 12.515 C 56.1 13.147 55.801 13.616 55.416 14.114 C 55.404 12.116 55.417 10.118 55.457 8.12 C 55.474 7.39 55.504 6.845 55.502 6.718 C 55.498 6.432 55.323 6.324 54.958 6.188 C 54.604 6.06 54.233 5.981 53.858 5.955 C 53.357 5.918 53.056 6.17 53.065 6.467 C 53.066 6.523 53.066 6.868 53.066 6.868 C 52.655 6.255 51.994 5.829 51.555 5.705 C 50.37 5.371 49.134 5.667 48.202 6.905 C 47.461 7.888 46.977 9.269 46.839 10.592 C 46.711 11.823 46.734 12.87 46.909 13.753 C 46.721 14.636 46.179 15.56 45.567 15.56 C 44.784 15.56 44.339 14.903 44.339 11.901 C 44.339 10.148 44.394 9.387 44.421 8.12 C 44.437 7.39 44.467 6.83 44.466 6.703 C 44.46 6.313 43.75 6.116 43.419 6.044 C 43.133 5.974 42.839 5.945 42.545 5.956 C 42.243 5.977 42.03 6.234 42.03 6.426 L 42.03 6.868 C 41.618 6.255 40.958 5.829 40.518 5.705 C 39.334 5.371 38.104 5.672 37.165 6.905 C 36.553 7.709 36.057 8.6 35.802 10.574 C 35.732 11.105 35.698 11.641 35.7 12.177 C 35.456 13.594 34.377 15.228 33.495 15.228 C 32.979 15.228 32.487 14.278 32.487 12.252 C 32.487 9.554 32.663 5.713 32.693 5.342 C 32.693 5.342 33.808 5.325 34.024 5.323 C 34.58 5.316 35.083 5.329 35.824 5.293 C 36.195 5.275 36.553 4.01 36.17 3.854 C 35.996 3.782 34.768 3.72 34.281 3.71 C 33.872 3.702 32.732 3.621 32.732 3.621 C 32.732 3.621 32.834 1.072 32.858 0.803 C 32.878 0.578 32.571 0.463 32.397 0.392 C 31.97 0.222 31.589 0.139 31.136 0.05 C 30.51 -0.071 30.227 0.049 30.171 0.548 C 30.088 1.309 30.045 3.535 30.045 3.535 C 29.586 3.535 28.019 3.45 27.559 3.45 C 27.134 3.45 26.673 5.19 27.262 5.212 C 27.941 5.237 29.122 5.258 29.907 5.281 C 29.907 5.281 29.871 9.185 29.871 10.391 L 29.873 10.762 C 29.442 12.896 27.923 14.048 27.923 14.048 C 28.249 12.637 27.582 11.577 26.382 10.68 C 25.94 10.349 25.067 9.723 24.09 9.037 C 24.09 9.037 24.656 8.508 25.157 7.444 C 25.513 6.689 25.528 5.826 24.657 5.636 C 23.214 5.322 22.026 6.326 21.671 7.399 C 21.396 8.231 21.543 8.847 22.081 9.487 C 22.122 9.536 22.164 9.583 22.206 9.63 C 21.837 10.311 21.454 10.984 21.055 11.649 C 20.005 13.374 19.211 14.74 18.611 14.74 C 18.13 14.74 18.137 13.354 18.137 12.056 C 18.137 10.938 18.224 9.256 18.294 7.515 C 18.316 6.939 18.013 6.611 17.504 6.314 C 17.196 6.133 16.536 5.778 16.154 5.778 C 15.582 5.778 13.933 5.852 12.374 10.13 C 12.178 10.669 11.793 11.652 11.793 11.652 L 11.825 6.508 C 11.825 6.387 11.758 6.27 11.603 6.19 C 11.341 6.055 10.639 5.779 10.015 5.779 C 9.717 5.779 9.569 5.909 9.569 6.17 L 9.515 14.22 C 9.515 14.832 9.531 15.546 9.596 15.857 C 9.658 16.17 9.762 16.424 9.889 16.575 C 10.017 16.739 10.201 16.851 10.406 16.889 C 10.632 16.933 11.868 17.084 11.932 16.636 C 12.009 16.098 12.013 15.517 12.661 13.349 C 13.672 9.975 14.99 8.328 15.61 7.743 C 15.717 7.641 15.841 7.635 15.835 7.802 C 15.808 8.542 15.716 10.391 15.653 11.962 C 15.485 16.164 16.291 16.943 17.442 16.943 C 18.324 16.943 19.565 16.113 20.896 14.01 C 21.638 12.839 22.376 11.665 23.11 10.49 C 23.514 10.844 23.967 11.225 24.419 11.632 C 25.47 12.579 25.815 13.479 25.587 14.333 C 25.411 14.986 24.751 15.658 23.577 15.004 C 23.236 14.814 23.089 14.667 22.746 14.451 C 22.56 14.336 22.278 14.302 22.109 14.422 C 21.67 14.737 21.418 15.138 21.275 15.632 C 21.135 16.114 21.643 16.369 22.171 16.592 C 22.625 16.784 23.6 16.958 24.223 16.977 C 26.646 17.054 28.589 15.867 29.941 12.801 C 30.183 15.448 31.213 16.946 33.003 16.946 C 34.2 16.946 35.4 15.479 35.924 14.034 C 36.057 14.579 36.28 15.098 36.586 15.568 C 37.964 17.641 40.639 17.195 41.983 15.434 C 42.398 14.89 42.462 14.694 42.462 14.694 C 42.658 16.358 44.069 16.939 44.876 16.939 C 45.781 16.939 46.715 16.532 47.369 15.133 C 47.446 15.285 47.53 15.43 47.621 15.568 C 49 17.641 51.676 17.195 53.019 15.434 C 53.076 15.36 53.131 15.285 53.185 15.209 L 53.225 16.301 L 51.988 17.379 C 49.914 19.182 48.339 20.55 48.223 22.143 C 48.076 24.175 49.81 24.93 51.125 25.029 C 52.519 25.134 53.714 24.403 54.448 23.379 C 55.094 22.479 55.517 20.54 55.485 18.625 C 55.473 17.858 55.452 16.883 55.437 15.838 C 56.288 14.904 57.058 13.899 57.74 12.835 C 58.562 11.542 59.445 9.805 59.896 8.453 C 59.896 8.453 60.663 8.46 61.48 8.409 C 61.742 8.393 61.817 8.444 61.769 8.625 C 61.71 8.845 60.735 12.413 61.626 14.79 C 62.234 16.418 63.607 16.941 64.42 16.941 C 65.374 16.941 66.285 16.258 66.773 15.244 C 66.832 15.358 66.894 15.467 66.961 15.568 C 68.34 17.642 71.006 17.192 72.358 15.434 C 72.664 15.038 72.837 14.694 72.837 14.694 C 73.128 16.416 74.538 16.947 75.345 16.947 C 76.186 16.947 76.985 16.62 77.633 15.165 C 77.66 15.806 77.702 16.329 77.769 16.494 C 77.811 16.595 78.049 16.722 78.224 16.783 C 78.993 17.054 79.778 16.926 80.069 16.87 C 80.27 16.832 80.426 16.679 80.448 16.282 C 80.504 15.245 80.47 13.5 80.802 12.203 C 81.358 10.026 81.878 9.182 82.124 8.765 C 82.262 8.53 82.418 8.492 82.423 8.74 C 82.435 9.24 82.461 10.713 82.677 12.692 C 82.835 14.147 83.046 15.006 83.209 15.279 C 83.674 16.057 84.246 16.094 84.713 16.094 C 85.011 16.094 85.632 16.016 85.576 15.521 C 85.549 15.28 85.596 13.787 86.145 11.643 C 86.503 10.244 87.102 8.978 87.316 8.516 C 87.397 8.346 87.433 8.48 87.433 8.506 C 87.387 9.47 87.285 12.624 87.699 14.349 C 88.26 16.685 89.883 16.947 90.449 16.947 C 91.656 16.947 92.643 16.075 92.976 13.781 C 93.056 13.23 92.937 12.804 92.582 12.804 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-13tso4b\",layoutDependency:layoutDependency,layoutId:\"qPtUanCxr\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 7.313 18.988\" overflow=\"visible\"><path d=\"M 4.786 0.087 C 2.883 0.844 0.79 2.979 0.13 5.662 C -0.707 9.06 2.776 10.496 3.061 10.026 C 3.397 9.472 2.437 9.285 2.239 7.522 C 1.984 5.245 3.099 2.702 4.503 1.584 C 4.763 1.377 4.752 1.666 4.752 2.2 C 4.752 3.154 4.695 11.726 4.695 13.515 C 4.695 15.936 4.591 16.7 4.4 17.456 C 4.21 18.22 3.901 18.738 4.135 18.937 C 4.396 19.16 5.51 18.63 6.155 17.776 C 6.928 16.751 7.198 15.521 7.248 14.185 C 7.306 12.574 7.304 10.017 7.306 8.56 C 7.308 7.223 7.33 3.308 7.282 0.954 C 7.27 0.377 5.583 -0.23 4.787 0.087 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"ZpaFNeSos-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 7.313 18.988\" overflow=\"visible\"><path d=\"M 4.786 0.087 C 2.883 0.844 0.79 2.979 0.13 5.662 C -0.707 9.06 2.776 10.496 3.061 10.026 C 3.397 9.472 2.437 9.285 2.239 7.522 C 1.984 5.245 3.099 2.702 4.503 1.584 C 4.763 1.377 4.752 1.666 4.752 2.2 C 4.752 3.154 4.695 11.726 4.695 13.515 C 4.695 15.936 4.591 16.7 4.4 17.456 C 4.21 18.22 3.901 18.738 4.135 18.937 C 4.396 19.16 5.51 18.63 6.155 17.776 C 6.928 16.751 7.198 15.521 7.248 14.185 C 7.306 12.574 7.304 10.017 7.306 8.56 C 7.308 7.223 7.33 3.308 7.282 0.954 C 7.27 0.377 5.583 -0.23 4.787 0.087 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-15ueii8\",layoutDependency:layoutDependency,layoutId:\"Fcqq_e0yS\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3.803 8.124\" overflow=\"visible\"><path d=\"M 3.785 4.044 C 3.724 5.303 3.43 6.286 3.066 6.98 C 2.361 8.323 0.898 8.74 0.276 6.81 C -0.063 5.757 -0.078 3.999 0.165 2.531 C 0.413 1.034 1.104 -0.096 2.251 0.006 C 3.381 0.107 3.91 1.489 3.785 4.044 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"ZpaFNeSos-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3.803 8.124\" overflow=\"visible\"><path d=\"M 3.785 4.044 C 3.724 5.303 3.43 6.286 3.066 6.98 C 2.361 8.323 0.898 8.74 0.276 6.81 C -0.063 5.757 -0.078 3.999 0.165 2.531 C 0.413 1.034 1.104 -0.096 2.251 0.006 C 3.381 0.107 3.91 1.489 3.785 4.044 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1yy79cj\",layoutDependency:layoutDependency,layoutId:\"GIGGy2F2B\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3.327 6.083\" overflow=\"visible\"><path d=\"M 3.323 1.294 C 3.308 3.385 2.962 5.219 2.218 5.751 C 1.163 6.506 -0.255 5.939 0.039 4.414 C 0.299 3.064 1.527 1.685 3.327 0 C 3.327 0 3.33 0.385 3.323 1.294 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"ZpaFNeSos-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3.327 6.083\" overflow=\"visible\"><path d=\"M 3.323 1.294 C 3.308 3.385 2.962 5.219 2.218 5.751 C 1.163 6.506 -0.255 5.939 0.039 4.414 C 0.299 3.064 1.527 1.685 3.327 0 C 3.327 0 3.33 0.385 3.323 1.294 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-3zidj5\",layoutDependency:layoutDependency,layoutId:\"dv9B97XVW\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3.825 8.119\" overflow=\"visible\"><path d=\"M 3.798 4.026 C 3.734 5.172 3.421 6.323 3.08 6.974 C 2.375 8.317 0.9 8.737 0.29 6.803 C -0.128 5.482 -0.028 3.772 0.179 2.695 C 0.447 1.297 1.097 0 2.264 0 C 3.4 0 3.959 1.182 3.798 4.026 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"ZpaFNeSos-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3.825 8.119\" overflow=\"visible\"><path d=\"M 3.798 4.026 C 3.734 5.172 3.421 6.323 3.08 6.974 C 2.375 8.317 0.9 8.737 0.29 6.803 C -0.128 5.482 -0.028 3.772 0.179 2.695 C 0.447 1.297 1.097 0 2.264 0 C 3.4 0 3.959 1.182 3.798 4.026 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-kawsd8\",layoutDependency:layoutDependency,layoutId:\"ZbJYxBhhv\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3.83 8.12\" overflow=\"visible\"><path d=\"M 3.807 4.015 C 3.737 5.229 3.488 6.243 3.088 6.981 C 2.364 8.314 0.93 8.737 0.298 6.81 C -0.158 5.419 -0.003 3.525 0.186 2.501 C 0.468 0.981 1.173 -0.095 2.273 0.007 C 3.402 0.111 3.951 1.489 3.807 4.015 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"ZpaFNeSos-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3.83 8.12\" overflow=\"visible\"><path d=\"M 3.807 4.015 C 3.737 5.229 3.488 6.243 3.088 6.981 C 2.364 8.314 0.93 8.737 0.298 6.81 C -0.158 5.419 -0.003 3.525 0.186 2.501 C 0.468 0.981 1.173 -0.095 2.273 0.007 C 3.402 0.111 3.951 1.489 3.807 4.015 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-ugkuhf\",layoutDependency:layoutDependency,layoutId:\"zNHz6k1zn\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 83.485 25.033\" overflow=\"visible\"><path d=\"M 83.067 12.797 C 82.791 12.797 82.665 13.068 82.56 13.522 C 82.199 15.103 81.819 15.461 81.329 15.461 C 80.781 15.461 80.289 14.677 80.163 13.11 C 80.062 11.878 80.079 9.61 80.206 7.353 C 80.232 6.889 80.097 6.431 78.786 5.978 C 78.223 5.784 77.403 5.498 76.995 6.432 C 75.842 9.074 75.391 11.172 75.285 12.023 C 75.279 12.067 75.222 12.077 75.213 11.973 C 75.145 11.291 74.994 10.05 74.974 7.446 C 74.971 6.938 74.858 6.505 74.267 6.151 C 73.882 5.921 72.718 5.515 72.3 5.999 C 71.936 6.394 71.514 7.458 71.077 8.72 C 70.722 9.745 70.475 10.439 70.475 10.439 C 70.475 10.439 70.48 7.672 70.483 6.623 C 70.485 6.227 70.199 6.095 70.113 6.071 C 69.725 5.964 68.96 5.785 68.635 5.785 C 68.234 5.785 68.136 5.998 68.136 6.307 C 68.136 6.348 68.073 9.95 68.073 12.468 L 68.073 12.824 C 67.852 13.982 67.133 15.554 66.351 15.554 C 65.568 15.554 65.199 14.896 65.199 11.894 C 65.199 10.142 65.254 9.381 65.282 8.113 C 65.298 7.384 65.328 6.823 65.326 6.696 C 65.32 6.306 64.61 6.11 64.28 6.037 C 64.003 5.97 63.718 5.94 63.433 5.948 C 63.114 5.966 62.888 6.163 62.888 6.437 L 62.89 6.862 C 62.479 6.249 61.818 5.822 61.378 5.699 C 60.194 5.365 58.959 5.661 58.026 6.898 C 57.285 7.882 56.838 8.996 56.662 10.597 C 56.534 11.767 56.576 12.954 56.805 13.957 C 56.528 15.089 56.017 15.554 55.455 15.554 C 54.641 15.554 54.051 14.293 54.119 12.111 C 54.164 10.675 54.467 9.668 54.798 8.21 C 54.938 7.589 54.825 7.264 54.537 6.953 C 54.273 6.667 53.711 6.52 52.904 6.7 C 52.329 6.828 51.506 6.966 50.754 7.072 C 50.754 7.072 50.799 6.9 50.836 6.597 C 51.033 5.007 49.212 5.136 48.632 5.644 C 48.285 5.948 48.049 6.304 47.96 6.947 C 47.817 7.967 48.695 8.449 48.695 8.449 C 48.407 9.697 47.702 11.329 46.974 12.509 C 46.584 13.141 46.286 13.609 45.901 14.108 C 45.888 12.109 45.902 10.111 45.942 8.113 C 45.958 7.384 45.989 6.838 45.987 6.711 C 45.982 6.426 45.808 6.318 45.442 6.182 C 45.088 6.053 44.718 5.975 44.342 5.949 C 43.842 5.912 43.541 6.163 43.549 6.461 C 43.551 6.516 43.551 6.862 43.551 6.862 C 43.14 6.249 42.479 5.822 42.04 5.699 C 40.855 5.365 39.619 5.661 38.686 6.898 C 37.946 7.882 37.461 9.263 37.323 10.585 C 37.196 11.817 37.219 12.864 37.393 13.746 C 37.205 14.63 36.664 15.554 36.052 15.554 C 35.269 15.554 34.823 14.896 34.823 11.894 C 34.823 10.142 34.879 9.381 34.905 8.113 C 34.922 7.384 34.952 6.823 34.95 6.696 C 34.945 6.306 34.235 6.11 33.904 6.037 C 33.618 5.968 33.324 5.938 33.029 5.949 C 32.727 5.971 32.514 6.228 32.514 6.42 L 32.514 6.862 C 32.103 6.249 31.442 5.822 31.003 5.699 C 29.818 5.365 28.589 5.665 27.65 6.898 C 27.038 7.703 26.542 8.594 26.287 10.567 C 26.216 11.099 26.182 11.634 26.185 12.171 C 25.941 13.588 24.861 15.222 23.98 15.222 C 23.464 15.222 22.972 14.271 22.972 12.246 C 22.972 9.548 23.148 5.706 23.178 5.336 C 23.178 5.336 24.293 5.318 24.508 5.316 C 25.064 5.31 25.568 5.323 26.308 5.287 C 26.679 5.269 27.038 4.004 26.654 3.847 C 26.481 3.776 25.252 3.714 24.766 3.704 C 24.356 3.695 23.217 3.615 23.217 3.615 C 23.217 3.615 23.319 1.066 23.342 0.797 C 23.363 0.572 23.056 0.457 22.882 0.386 C 22.455 0.216 22.073 0.132 21.621 0.044 C 20.995 -0.078 20.711 0.042 20.656 0.542 C 20.573 1.302 20.53 3.529 20.53 3.529 C 20.07 3.529 18.503 3.444 18.044 3.444 C 17.618 3.444 17.158 5.184 17.747 5.205 C 18.426 5.23 19.607 5.252 20.391 5.274 C 20.391 5.274 20.355 9.179 20.355 10.385 L 20.357 10.756 C 19.926 12.89 18.408 14.041 18.408 14.041 C 18.733 12.63 18.067 11.571 16.867 10.674 C 16.424 10.343 15.552 9.717 14.575 9.031 C 14.575 9.031 15.14 8.502 15.642 7.437 C 15.998 6.683 16.013 5.82 15.141 5.629 C 13.699 5.315 12.51 6.32 12.155 7.393 C 11.881 8.224 12.027 8.841 12.566 9.481 C 12.607 9.529 12.648 9.577 12.691 9.624 C 12.322 10.305 11.938 10.978 11.54 11.642 C 10.489 13.368 9.695 14.734 9.095 14.734 C 8.615 14.734 8.621 13.347 8.621 12.05 C 8.621 10.931 8.709 9.249 8.779 7.508 C 8.801 6.932 8.498 6.605 7.989 6.307 C 7.681 6.127 7.021 5.772 6.639 5.772 C 6.066 5.772 4.418 5.846 2.859 10.124 C 2.662 10.663 2.278 11.646 2.278 11.646 L 2.31 6.501 C 2.31 6.38 2.243 6.263 2.087 6.184 C 1.825 6.049 1.123 5.772 0.5 5.772 C 0.202 5.772 0.054 5.903 0.054 6.164 L 0 14.214 C 0 14.826 0.016 15.539 0.08 15.85 C 0.143 16.163 0.247 16.417 0.374 16.568 C 0.502 16.733 0.686 16.845 0.891 16.882 C 1.117 16.927 2.353 17.077 2.417 16.629 C 2.494 16.092 2.498 15.511 3.146 13.343 C 4.156 9.968 5.474 8.322 6.094 7.736 C 6.202 7.634 6.326 7.629 6.32 7.795 C 6.293 8.536 6.201 10.385 6.138 11.955 C 5.97 16.158 6.776 16.937 7.926 16.937 C 8.808 16.937 10.049 16.106 11.381 14.004 C 12.123 12.832 12.861 11.658 13.595 10.483 C 13.998 10.837 14.452 11.218 14.903 11.626 C 15.955 12.573 16.3 13.473 16.071 14.327 C 15.896 14.979 15.236 15.652 14.062 14.997 C 13.72 14.808 13.574 14.66 13.23 14.445 C 13.045 14.329 12.762 14.295 12.593 14.416 C 12.154 14.731 11.902 15.131 11.759 15.626 C 11.62 16.108 12.128 16.363 12.655 16.585 C 13.109 16.778 14.085 16.951 14.707 16.971 C 17.131 17.048 19.074 15.86 20.426 12.795 C 20.668 15.442 21.698 16.94 23.488 16.94 C 24.684 16.94 25.884 15.472 26.408 14.028 C 26.541 14.573 26.765 15.091 27.07 15.562 C 28.448 17.634 31.124 17.189 32.468 15.427 C 32.883 14.884 32.946 14.688 32.946 14.688 C 33.143 16.351 34.553 16.932 35.361 16.932 C 36.266 16.932 37.199 16.526 37.854 15.127 C 37.931 15.279 38.015 15.424 38.106 15.562 C 39.485 17.634 42.16 17.189 43.504 15.427 C 43.561 15.354 43.616 15.279 43.67 15.203 L 43.709 16.295 L 42.472 17.372 C 40.399 19.176 38.824 20.543 38.708 22.137 C 38.56 24.169 40.295 24.923 41.61 25.023 C 43.004 25.127 44.198 24.397 44.933 23.373 C 45.578 22.472 46.001 20.534 45.97 18.619 C 45.957 17.852 45.937 16.877 45.922 15.832 C 46.772 14.897 47.543 13.893 48.224 12.829 C 49.047 11.536 49.93 9.798 50.381 8.447 C 50.381 8.447 51.147 8.453 51.965 8.402 C 52.227 8.386 52.302 8.437 52.254 8.619 C 52.195 8.839 51.22 12.407 52.111 14.784 C 52.719 16.411 54.091 16.934 54.905 16.934 C 55.858 16.934 56.769 16.252 57.258 15.238 C 57.317 15.351 57.378 15.461 57.446 15.562 C 58.824 17.635 61.49 17.185 62.843 15.427 C 63.149 15.031 63.322 14.688 63.322 14.688 C 63.612 16.409 65.022 16.94 65.83 16.94 C 66.67 16.94 67.47 16.613 68.117 15.158 C 68.144 15.799 68.187 16.323 68.254 16.488 C 68.295 16.589 68.534 16.715 68.708 16.777 C 69.477 17.048 70.263 16.92 70.553 16.864 C 70.754 16.825 70.911 16.672 70.932 16.276 C 70.989 15.239 70.955 13.493 71.286 12.197 C 71.843 10.02 72.362 9.176 72.609 8.758 C 72.747 8.524 72.902 8.485 72.908 8.733 C 72.919 9.234 72.945 10.707 73.162 12.686 C 73.32 14.141 73.531 15 73.694 15.273 C 74.159 16.051 74.731 16.087 75.198 16.087 C 75.496 16.087 76.116 16.01 76.061 15.515 C 76.034 15.274 76.08 13.78 76.63 11.637 C 76.988 10.237 77.586 8.972 77.801 8.51 C 77.881 8.34 77.918 8.474 77.917 8.5 C 77.872 9.464 77.77 12.618 78.184 14.343 C 78.744 16.678 80.367 16.94 80.933 16.94 C 82.141 16.94 83.128 16.069 83.461 13.775 C 83.541 13.223 83.422 12.797 83.067 12.797 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"ZpaFNeSos-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 83.485 25.033\" overflow=\"visible\"><path d=\"M 83.067 12.797 C 82.791 12.797 82.665 13.068 82.56 13.522 C 82.199 15.103 81.819 15.461 81.329 15.461 C 80.781 15.461 80.289 14.677 80.163 13.11 C 80.062 11.878 80.079 9.61 80.206 7.353 C 80.232 6.889 80.097 6.431 78.786 5.978 C 78.223 5.784 77.403 5.498 76.995 6.432 C 75.842 9.074 75.391 11.172 75.285 12.023 C 75.279 12.067 75.222 12.077 75.213 11.973 C 75.145 11.291 74.994 10.05 74.974 7.446 C 74.971 6.938 74.858 6.505 74.267 6.151 C 73.882 5.921 72.718 5.515 72.3 5.999 C 71.936 6.394 71.514 7.458 71.077 8.72 C 70.722 9.745 70.475 10.439 70.475 10.439 C 70.475 10.439 70.48 7.672 70.483 6.623 C 70.485 6.227 70.199 6.095 70.113 6.071 C 69.725 5.964 68.96 5.785 68.635 5.785 C 68.234 5.785 68.136 5.998 68.136 6.307 C 68.136 6.348 68.073 9.95 68.073 12.468 L 68.073 12.824 C 67.852 13.982 67.133 15.554 66.351 15.554 C 65.568 15.554 65.199 14.896 65.199 11.894 C 65.199 10.142 65.254 9.381 65.282 8.113 C 65.298 7.384 65.328 6.823 65.326 6.696 C 65.32 6.306 64.61 6.11 64.28 6.037 C 64.003 5.97 63.718 5.94 63.433 5.948 C 63.114 5.966 62.888 6.163 62.888 6.437 L 62.89 6.862 C 62.479 6.249 61.818 5.822 61.378 5.699 C 60.194 5.365 58.959 5.661 58.026 6.898 C 57.285 7.882 56.838 8.996 56.662 10.597 C 56.534 11.767 56.576 12.954 56.805 13.957 C 56.528 15.089 56.017 15.554 55.455 15.554 C 54.641 15.554 54.051 14.293 54.119 12.111 C 54.164 10.675 54.467 9.668 54.798 8.21 C 54.938 7.589 54.825 7.264 54.537 6.953 C 54.273 6.667 53.711 6.52 52.904 6.7 C 52.329 6.828 51.506 6.966 50.754 7.072 C 50.754 7.072 50.799 6.9 50.836 6.597 C 51.033 5.007 49.212 5.136 48.632 5.644 C 48.285 5.948 48.049 6.304 47.96 6.947 C 47.817 7.967 48.695 8.449 48.695 8.449 C 48.407 9.697 47.702 11.329 46.974 12.509 C 46.584 13.141 46.286 13.609 45.901 14.108 C 45.888 12.109 45.902 10.111 45.942 8.113 C 45.958 7.384 45.989 6.838 45.987 6.711 C 45.982 6.426 45.808 6.318 45.442 6.182 C 45.088 6.053 44.718 5.975 44.342 5.949 C 43.842 5.912 43.541 6.163 43.549 6.461 C 43.551 6.516 43.551 6.862 43.551 6.862 C 43.14 6.249 42.479 5.822 42.04 5.699 C 40.855 5.365 39.619 5.661 38.686 6.898 C 37.946 7.882 37.461 9.263 37.323 10.585 C 37.196 11.817 37.219 12.864 37.393 13.746 C 37.205 14.63 36.664 15.554 36.052 15.554 C 35.269 15.554 34.823 14.896 34.823 11.894 C 34.823 10.142 34.879 9.381 34.905 8.113 C 34.922 7.384 34.952 6.823 34.95 6.696 C 34.945 6.306 34.235 6.11 33.904 6.037 C 33.618 5.968 33.324 5.938 33.029 5.949 C 32.727 5.971 32.514 6.228 32.514 6.42 L 32.514 6.862 C 32.103 6.249 31.442 5.822 31.003 5.699 C 29.818 5.365 28.589 5.665 27.65 6.898 C 27.038 7.703 26.542 8.594 26.287 10.567 C 26.216 11.099 26.182 11.634 26.185 12.171 C 25.941 13.588 24.861 15.222 23.98 15.222 C 23.464 15.222 22.972 14.271 22.972 12.246 C 22.972 9.548 23.148 5.706 23.178 5.336 C 23.178 5.336 24.293 5.318 24.508 5.316 C 25.064 5.31 25.568 5.323 26.308 5.287 C 26.679 5.269 27.038 4.004 26.654 3.847 C 26.481 3.776 25.252 3.714 24.766 3.704 C 24.356 3.695 23.217 3.615 23.217 3.615 C 23.217 3.615 23.319 1.066 23.342 0.797 C 23.363 0.572 23.056 0.457 22.882 0.386 C 22.455 0.216 22.073 0.132 21.621 0.044 C 20.995 -0.078 20.711 0.042 20.656 0.542 C 20.573 1.302 20.53 3.529 20.53 3.529 C 20.07 3.529 18.503 3.444 18.044 3.444 C 17.618 3.444 17.158 5.184 17.747 5.205 C 18.426 5.23 19.607 5.252 20.391 5.274 C 20.391 5.274 20.355 9.179 20.355 10.385 L 20.357 10.756 C 19.926 12.89 18.408 14.041 18.408 14.041 C 18.733 12.63 18.067 11.571 16.867 10.674 C 16.424 10.343 15.552 9.717 14.575 9.031 C 14.575 9.031 15.14 8.502 15.642 7.437 C 15.998 6.683 16.013 5.82 15.141 5.629 C 13.699 5.315 12.51 6.32 12.155 7.393 C 11.881 8.224 12.027 8.841 12.566 9.481 C 12.607 9.529 12.648 9.577 12.691 9.624 C 12.322 10.305 11.938 10.978 11.54 11.642 C 10.489 13.368 9.695 14.734 9.095 14.734 C 8.615 14.734 8.621 13.347 8.621 12.05 C 8.621 10.931 8.709 9.249 8.779 7.508 C 8.801 6.932 8.498 6.605 7.989 6.307 C 7.681 6.127 7.021 5.772 6.639 5.772 C 6.066 5.772 4.418 5.846 2.859 10.124 C 2.662 10.663 2.278 11.646 2.278 11.646 L 2.31 6.501 C 2.31 6.38 2.243 6.263 2.087 6.184 C 1.825 6.049 1.123 5.772 0.5 5.772 C 0.202 5.772 0.054 5.903 0.054 6.164 L 0 14.214 C 0 14.826 0.016 15.539 0.08 15.85 C 0.143 16.163 0.247 16.417 0.374 16.568 C 0.502 16.733 0.686 16.845 0.891 16.882 C 1.117 16.927 2.353 17.077 2.417 16.629 C 2.494 16.092 2.498 15.511 3.146 13.343 C 4.156 9.968 5.474 8.322 6.094 7.736 C 6.202 7.634 6.326 7.629 6.32 7.795 C 6.293 8.536 6.201 10.385 6.138 11.955 C 5.97 16.158 6.776 16.937 7.926 16.937 C 8.808 16.937 10.049 16.106 11.381 14.004 C 12.123 12.832 12.861 11.658 13.595 10.483 C 13.998 10.837 14.452 11.218 14.903 11.626 C 15.955 12.573 16.3 13.473 16.071 14.327 C 15.896 14.979 15.236 15.652 14.062 14.997 C 13.72 14.808 13.574 14.66 13.23 14.445 C 13.045 14.329 12.762 14.295 12.593 14.416 C 12.154 14.731 11.902 15.131 11.759 15.626 C 11.62 16.108 12.128 16.363 12.655 16.585 C 13.109 16.778 14.085 16.951 14.707 16.971 C 17.131 17.048 19.074 15.86 20.426 12.795 C 20.668 15.442 21.698 16.94 23.488 16.94 C 24.684 16.94 25.884 15.472 26.408 14.028 C 26.541 14.573 26.765 15.091 27.07 15.562 C 28.448 17.634 31.124 17.189 32.468 15.427 C 32.883 14.884 32.946 14.688 32.946 14.688 C 33.143 16.351 34.553 16.932 35.361 16.932 C 36.266 16.932 37.199 16.526 37.854 15.127 C 37.931 15.279 38.015 15.424 38.106 15.562 C 39.485 17.634 42.16 17.189 43.504 15.427 C 43.561 15.354 43.616 15.279 43.67 15.203 L 43.709 16.295 L 42.472 17.372 C 40.399 19.176 38.824 20.543 38.708 22.137 C 38.56 24.169 40.295 24.923 41.61 25.023 C 43.004 25.127 44.198 24.397 44.933 23.373 C 45.578 22.472 46.001 20.534 45.97 18.619 C 45.957 17.852 45.937 16.877 45.922 15.832 C 46.772 14.897 47.543 13.893 48.224 12.829 C 49.047 11.536 49.93 9.798 50.381 8.447 C 50.381 8.447 51.147 8.453 51.965 8.402 C 52.227 8.386 52.302 8.437 52.254 8.619 C 52.195 8.839 51.22 12.407 52.111 14.784 C 52.719 16.411 54.091 16.934 54.905 16.934 C 55.858 16.934 56.769 16.252 57.258 15.238 C 57.317 15.351 57.378 15.461 57.446 15.562 C 58.824 17.635 61.49 17.185 62.843 15.427 C 63.149 15.031 63.322 14.688 63.322 14.688 C 63.612 16.409 65.022 16.94 65.83 16.94 C 66.67 16.94 67.47 16.613 68.117 15.158 C 68.144 15.799 68.187 16.323 68.254 16.488 C 68.295 16.589 68.534 16.715 68.708 16.777 C 69.477 17.048 70.263 16.92 70.553 16.864 C 70.754 16.825 70.911 16.672 70.932 16.276 C 70.989 15.239 70.955 13.493 71.286 12.197 C 71.843 10.02 72.362 9.176 72.609 8.758 C 72.747 8.524 72.902 8.485 72.908 8.733 C 72.919 9.234 72.945 10.707 73.162 12.686 C 73.32 14.141 73.531 15 73.694 15.273 C 74.159 16.051 74.731 16.087 75.198 16.087 C 75.496 16.087 76.116 16.01 76.061 15.515 C 76.034 15.274 76.08 13.78 76.63 11.637 C 76.988 10.237 77.586 8.972 77.801 8.51 C 77.881 8.34 77.918 8.474 77.917 8.5 C 77.872 9.464 77.77 12.618 78.184 14.343 C 78.744 16.678 80.367 16.94 80.933 16.94 C 82.141 16.94 83.128 16.069 83.461 13.775 C 83.541 13.223 83.422 12.797 83.067 12.797 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)})]}),isDisplayed1()&&/*#__PURE__*/_jsxs(SVG,{className:\"framer-1gwxce4\",\"data-framer-name\":\"Linkedin\",layoutDependency:layoutDependency,layoutId:\"iq9NiN2J4\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 85 21.387\" overflow=\"visible\"></svg>',withExternalLayout:true,...addPropertyOverrides({\"aCbuhSqPe-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 85 21.387\" overflow=\"visible\"><path d=\"M 0 3.254 L 3.302 3.254 L 3.302 15.273 L 9.411 15.273 L 9.411 18.32 L 0 18.32 Z M 10.867 8.113 L 14.035 8.113 L 14.035 18.312 L 10.867 18.312 L 10.867 8.114 Z M 12.451 3.04 C 13.466 3.04 14.289 3.863 14.289 4.878 C 14.289 5.894 13.466 6.716 12.451 6.716 C 11.436 6.716 10.614 5.894 10.614 4.879 C 10.614 3.864 11.436 3.041 12.451 3.041 Z M 27.295 3.254 L 30.463 3.254 L 30.463 12.257 L 34.059 8.1 L 37.942 8.1 L 33.784 12.825 L 37.855 18.319 L 33.871 18.319 L 30.503 13.273 L 30.463 13.273 L 30.463 18.319 L 27.295 18.319 Z M 15.792 8.113 L 18.813 8.113 L 18.813 9.511 L 18.854 9.511 C 19.475 8.451 20.627 7.817 21.855 7.86 C 25.07 7.86 25.658 9.971 25.658 12.719 L 25.658 18.319 L 22.517 18.319 L 22.517 13.353 C 22.517 12.17 22.517 10.68 20.866 10.68 C 19.215 10.68 18.961 11.97 18.961 13.3 L 18.961 18.346 L 15.793 18.346 L 15.793 8.113 Z M 45.306 11.93 C 45.319 11.41 45.119 10.908 44.751 10.541 C 44.384 10.173 43.882 9.973 43.362 9.986 C 42.21 9.913 41.212 10.779 41.123 11.93 L 45.307 11.93 Z M 47.98 16.454 C 46.91 17.738 45.321 18.474 43.649 18.46 C 40.482 18.46 37.941 16.348 37.941 13.067 C 37.941 9.785 40.482 7.679 43.649 7.679 C 46.61 7.679 48.468 9.791 48.468 13.067 L 48.468 14.063 L 41.116 14.063 C 41.297 15.234 42.317 16.091 43.503 16.066 C 44.42 16.065 45.273 15.594 45.762 14.817 Z M 55.078 10.479 C 54.021 10.447 53.049 11.059 52.622 12.027 C 52.194 12.995 52.396 14.126 53.132 14.886 C 53.869 15.646 54.992 15.884 55.973 15.487 C 56.954 15.09 57.597 14.138 57.598 13.08 C 57.656 12.385 57.409 11.699 56.921 11.2 C 56.434 10.701 55.754 10.438 55.058 10.479 M 60.538 18.22 L 57.598 18.22 L 57.598 16.882 C 56.853 17.876 55.691 18.468 54.45 18.486 C 51.402 18.486 49.398 16.287 49.398 13.18 C 49.398 10.326 51.175 7.706 54.076 7.706 C 55.313 7.597 56.527 8.095 57.33 9.043 L 57.37 9.043 L 57.37 3.161 L 60.538 3.161 Z M 83.397 0 L 65.192 0 C 64.774 -0.005 64.372 0.158 64.075 0.452 C 63.779 0.746 63.613 1.147 63.614 1.564 L 63.614 19.843 C 63.618 20.257 63.786 20.653 64.082 20.943 C 64.378 21.232 64.777 21.392 65.192 21.386 L 83.397 21.386 C 83.815 21.397 84.22 21.24 84.521 20.95 C 84.822 20.66 84.995 20.261 85 19.843 L 85 1.564 C 85 1.143 84.83 0.739 84.528 0.444 C 84.226 0.15 83.818 -0.01 83.396 0 Z M 69.95 18.225 L 66.782 18.225 L 66.782 8.021 L 69.95 8.021 L 69.95 18.227 Z M 68.365 6.637 C 67.35 6.637 66.527 5.814 66.527 4.799 C 66.527 3.784 67.35 2.961 68.365 2.961 C 69.38 2.961 70.203 3.784 70.203 4.799 C 70.203 5.814 69.38 6.636 68.365 6.636 Z M 81.819 18.225 L 78.652 18.225 L 78.652 13.267 C 78.652 12.084 78.652 10.594 77.008 10.594 C 75.364 10.594 75.103 11.883 75.103 13.213 L 75.103 18.26 L 71.935 18.26 L 71.935 8.02 L 74.976 8.02 L 74.976 9.424 L 75.016 9.424 C 75.638 8.366 76.791 7.735 78.017 7.78 C 81.225 7.78 81.82 9.892 81.82 12.639 L 81.82 18.226 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'},aCbuhSqPe:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 85 21.387\" overflow=\"visible\"><path d=\"M 0 3.254 L 3.302 3.254 L 3.302 15.273 L 9.411 15.273 L 9.411 18.32 L 0 18.32 Z M 10.867 8.113 L 14.035 8.113 L 14.035 18.312 L 10.867 18.312 L 10.867 8.114 Z M 12.451 3.04 C 13.466 3.04 14.289 3.863 14.289 4.878 C 14.289 5.894 13.466 6.716 12.451 6.716 C 11.436 6.716 10.614 5.894 10.614 4.879 C 10.614 3.864 11.436 3.041 12.451 3.041 Z M 27.295 3.254 L 30.463 3.254 L 30.463 12.257 L 34.059 8.1 L 37.942 8.1 L 33.784 12.825 L 37.855 18.319 L 33.871 18.319 L 30.503 13.273 L 30.463 13.273 L 30.463 18.319 L 27.295 18.319 Z M 15.792 8.113 L 18.813 8.113 L 18.813 9.511 L 18.854 9.511 C 19.475 8.451 20.627 7.817 21.855 7.86 C 25.07 7.86 25.658 9.971 25.658 12.719 L 25.658 18.319 L 22.517 18.319 L 22.517 13.353 C 22.517 12.17 22.517 10.68 20.866 10.68 C 19.215 10.68 18.961 11.97 18.961 13.3 L 18.961 18.346 L 15.793 18.346 L 15.793 8.113 Z M 45.306 11.93 C 45.319 11.41 45.119 10.908 44.751 10.541 C 44.384 10.173 43.882 9.973 43.362 9.986 C 42.21 9.913 41.212 10.779 41.123 11.93 L 45.307 11.93 Z M 47.98 16.454 C 46.91 17.738 45.321 18.474 43.649 18.46 C 40.482 18.46 37.941 16.348 37.941 13.067 C 37.941 9.785 40.482 7.679 43.649 7.679 C 46.61 7.679 48.468 9.791 48.468 13.067 L 48.468 14.063 L 41.116 14.063 C 41.297 15.234 42.317 16.091 43.503 16.066 C 44.42 16.065 45.273 15.594 45.762 14.817 Z M 55.078 10.479 C 54.021 10.447 53.049 11.059 52.622 12.027 C 52.194 12.995 52.396 14.126 53.132 14.886 C 53.869 15.646 54.992 15.884 55.973 15.487 C 56.954 15.09 57.597 14.138 57.598 13.08 C 57.656 12.385 57.409 11.699 56.921 11.2 C 56.434 10.701 55.754 10.438 55.058 10.479 M 60.538 18.22 L 57.598 18.22 L 57.598 16.882 C 56.853 17.876 55.691 18.468 54.45 18.486 C 51.402 18.486 49.398 16.287 49.398 13.18 C 49.398 10.326 51.175 7.706 54.076 7.706 C 55.313 7.597 56.527 8.095 57.33 9.043 L 57.37 9.043 L 57.37 3.161 L 60.538 3.161 Z M 83.397 0 L 65.192 0 C 64.774 -0.005 64.372 0.158 64.075 0.452 C 63.779 0.746 63.613 1.147 63.614 1.564 L 63.614 19.843 C 63.618 20.257 63.786 20.653 64.082 20.943 C 64.378 21.232 64.777 21.392 65.192 21.386 L 83.397 21.386 C 83.815 21.397 84.22 21.24 84.521 20.95 C 84.822 20.66 84.995 20.261 85 19.843 L 85 1.564 C 85 1.143 84.83 0.739 84.528 0.444 C 84.226 0.15 83.818 -0.01 83.396 0 Z M 69.95 18.225 L 66.782 18.225 L 66.782 8.021 L 69.95 8.021 L 69.95 18.227 Z M 68.365 6.637 C 67.35 6.637 66.527 5.814 66.527 4.799 C 66.527 3.784 67.35 2.961 68.365 2.961 C 69.38 2.961 70.203 3.784 70.203 4.799 C 70.203 5.814 69.38 6.636 68.365 6.636 Z M 81.819 18.225 L 78.652 18.225 L 78.652 13.267 C 78.652 12.084 78.652 10.594 77.008 10.594 C 75.364 10.594 75.103 11.883 75.103 13.213 L 75.103 18.26 L 71.935 18.26 L 71.935 8.02 L 74.976 8.02 L 74.976 9.424 L 75.016 9.424 C 75.638 8.366 76.791 7.735 78.017 7.78 C 81.225 7.78 81.82 9.892 81.82 12.639 L 81.82 18.226 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>'}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-dh186m\",layoutDependency:layoutDependency,layoutId:\"rH_YBsmz1\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 9.411 15.066\" overflow=\"visible\"><path d=\"M 0 0 L 3.302 0 L 3.302 12.018 L 9.411 12.018 L 9.411 15.066 L 0 15.066 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"aCbuhSqPe-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 9.411 15.066\" overflow=\"visible\"><path d=\"M 0 0 L 3.302 0 L 3.302 12.018 L 9.411 12.018 L 9.411 15.066 L 0 15.066 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-ofuf0a\",layoutDependency:layoutDependency,layoutId:\"HYos7kcSi\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3.168 10.199\" overflow=\"visible\"><path d=\"M 0 0 L 3.168 0 L 3.168 10.199 L 0 10.199 L 0 0.001 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"aCbuhSqPe-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3.168 10.199\" overflow=\"visible\"><path d=\"M 0 0 L 3.168 0 L 3.168 10.199 L 0 10.199 L 0 0.001 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1wodtsu\",layoutDependency:layoutDependency,layoutId:\"DYvIfgQ9a\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3.676 3.676\" overflow=\"visible\"><path d=\"M 1.838 0 C 2.853 0 3.676 0.823 3.676 1.838 C 3.676 2.853 2.853 3.676 1.838 3.676 C 0.823 3.676 0 2.853 0 1.838 C 0 0.824 0.823 0.001 1.838 0.001 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"aCbuhSqPe-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3.676 3.676\" overflow=\"visible\"><path d=\"M 1.838 0 C 2.853 0 3.676 0.823 3.676 1.838 C 3.676 2.853 2.853 3.676 1.838 3.676 C 0.823 3.676 0 2.853 0 1.838 C 0 0.824 0.823 0.001 1.838 0.001 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-znbclg\",layoutDependency:layoutDependency,layoutId:\"dHvajNy1w\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 10.647 15.065\" overflow=\"visible\"><path d=\"M 0 0 L 3.168 0 L 3.168 9.003 L 6.764 4.846 L 10.647 4.846 L 6.489 9.571 L 10.56 15.065 L 6.576 15.065 L 3.208 10.019 L 3.168 10.019 L 3.168 15.065 L 0 15.065 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"aCbuhSqPe-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 10.647 15.065\" overflow=\"visible\"><path d=\"M 0 0 L 3.168 0 L 3.168 9.003 L 6.764 4.846 L 10.647 4.846 L 6.489 9.571 L 10.56 15.065 L 6.576 15.065 L 3.208 10.019 L 3.168 10.019 L 3.168 15.065 L 0 15.065 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1rqpruw\",layoutDependency:layoutDependency,layoutId:\"C1LHn52I0\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 9.866 10.488\" overflow=\"visible\"><path d=\"M 0 0.255 L 3.021 0.255 L 3.021 1.653 L 3.062 1.653 C 3.683 0.593 4.835 -0.041 6.063 0.002 C 9.278 0.002 9.866 2.113 9.866 4.861 L 9.866 10.461 L 6.724 10.461 L 6.724 5.495 C 6.724 4.313 6.724 2.822 5.074 2.822 C 3.423 2.822 3.169 4.112 3.169 5.442 L 3.169 10.488 L 0.001 10.488 L 0.001 0.255 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"aCbuhSqPe-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 9.866 10.488\" overflow=\"visible\"><path d=\"M 0 0.255 L 3.021 0.255 L 3.021 1.653 L 3.062 1.653 C 3.683 0.593 4.835 -0.041 6.063 0.002 C 9.278 0.002 9.866 2.113 9.866 4.861 L 9.866 10.461 L 6.724 10.461 L 6.724 5.495 C 6.724 4.313 6.724 2.822 5.074 2.822 C 3.423 2.822 3.169 4.112 3.169 5.442 L 3.169 10.488 L 0.001 10.488 L 0.001 0.255 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-azif3o\",layoutDependency:layoutDependency,layoutId:\"LidT54QTk\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 4.184 1.948\" overflow=\"visible\"><path d=\"M 4.183 1.948 C 4.196 1.429 3.996 0.927 3.628 0.559 C 3.261 0.192 2.759 -0.009 2.239 0.004 C 1.087 -0.069 0.09 0.797 0 1.948 L 4.184 1.948 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"aCbuhSqPe-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 4.184 1.948\" overflow=\"visible\"><path d=\"M 4.183 1.948 C 4.196 1.429 3.996 0.927 3.628 0.559 C 3.261 0.192 2.759 -0.009 2.239 0.004 C 1.087 -0.069 0.09 0.797 0 1.948 L 4.184 1.948 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-q0uhii\",layoutDependency:layoutDependency,layoutId:\"RF7j_lSzS\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 10.527 10.781\" overflow=\"visible\"><path d=\"M 10.039 8.775 C 8.968 10.058 7.379 10.794 5.708 10.781 C 2.54 10.781 0 8.669 0 5.387 C 0 2.105 2.54 0 5.708 0 C 8.669 0 10.527 2.112 10.527 5.387 L 10.527 6.383 L 3.175 6.383 C 3.356 7.555 4.376 8.412 5.561 8.387 C 6.479 8.386 7.331 7.914 7.82 7.138 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"aCbuhSqPe-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 10.527 10.781\" overflow=\"visible\"><path d=\"M 10.039 8.775 C 8.968 10.058 7.379 10.794 5.708 10.781 C 2.54 10.781 0 8.669 0 5.387 C 0 2.105 2.54 0 5.708 0 C 8.669 0 10.527 2.112 10.527 5.387 L 10.527 6.383 L 3.175 6.383 C 3.356 7.555 4.376 8.412 5.561 8.387 C 6.479 8.386 7.331 7.914 7.82 7.138 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-szai2u\",layoutDependency:layoutDependency,layoutId:\"zkPlAVlSS\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 5.206 5.201\" overflow=\"visible\"><path d=\"M 2.678 0.004 C 1.621 -0.028 0.649 0.584 0.222 1.552 C -0.206 2.52 -0.004 3.651 0.732 4.411 C 1.469 5.171 2.592 5.408 3.573 5.012 C 4.554 4.615 5.197 3.663 5.198 2.605 C 5.256 1.91 5.009 1.224 4.522 0.725 C 4.034 0.226 3.354 -0.037 2.658 0.004\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"aCbuhSqPe-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 5.206 5.201\" overflow=\"visible\"><path d=\"M 2.678 0.004 C 1.621 -0.028 0.649 0.584 0.222 1.552 C -0.206 2.52 -0.004 3.651 0.732 4.411 C 1.469 5.171 2.592 5.408 3.573 5.012 C 4.554 4.615 5.197 3.663 5.198 2.605 C 5.256 1.91 5.009 1.224 4.522 0.725 C 4.034 0.226 3.354 -0.037 2.658 0.004\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1nuatao\",layoutDependency:layoutDependency,layoutId:\"SofFVTnu0\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 11.141 15.325\" overflow=\"visible\"><path d=\"M 11.141 15.058 L 8.201 15.058 L 8.201 13.721 C 7.456 14.714 6.293 15.306 5.052 15.325 C 2.005 15.325 0 13.126 0 10.019 C 0 7.164 1.778 4.544 4.678 4.544 C 5.916 4.435 7.129 4.934 7.933 5.881 L 7.973 5.881 L 7.973 0 L 11.141 0 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"aCbuhSqPe-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 11.141 15.325\" overflow=\"visible\"><path d=\"M 11.141 15.058 L 8.201 15.058 L 8.201 13.721 C 7.456 14.714 6.293 15.306 5.052 15.325 C 2.005 15.325 0 13.126 0 10.019 C 0 7.164 1.778 4.544 4.678 4.544 C 5.916 4.435 7.129 4.934 7.933 5.881 L 7.973 5.881 L 7.973 0 L 11.141 0 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1dmlgs8\",layoutDependency:layoutDependency,layoutId:\"kr7od5fbr\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 21.386 21.387\" overflow=\"visible\"><path d=\"M 19.783 0 L 1.578 0 C 1.16 -0.005 0.758 0.158 0.461 0.452 C 0.165 0.746 -0.001 1.147 0 1.564 L 0 19.843 C 0.004 20.257 0.172 20.653 0.468 20.943 C 0.764 21.232 1.163 21.392 1.578 21.386 L 19.783 21.386 C 20.201 21.397 20.606 21.24 20.907 20.95 C 21.208 20.66 21.381 20.261 21.386 19.843 L 21.386 1.564 C 21.386 1.143 21.216 0.739 20.914 0.444 C 20.612 0.15 20.204 -0.01 19.782 0 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"aCbuhSqPe-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 21.386 21.387\" overflow=\"visible\"><path d=\"M 19.783 0 L 1.578 0 C 1.16 -0.005 0.758 0.158 0.461 0.452 C 0.165 0.746 -0.001 1.147 0 1.564 L 0 19.843 C 0.004 20.257 0.172 20.653 0.468 20.943 C 0.764 21.232 1.163 21.392 1.578 21.386 L 19.783 21.386 C 20.201 21.397 20.606 21.24 20.907 20.95 C 21.208 20.66 21.381 20.261 21.386 19.843 L 21.386 1.564 C 21.386 1.143 21.216 0.739 20.914 0.444 C 20.612 0.15 20.204 -0.01 19.782 0 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1htbmq7\",layoutDependency:layoutDependency,layoutId:\"mlxhOUD84\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3.168 10.206\" overflow=\"visible\"><path d=\"M 3.168 10.204 L 0 10.204 L 0 0 L 3.168 0 L 3.168 10.206 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"aCbuhSqPe-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3.168 10.206\" overflow=\"visible\"><path d=\"M 3.168 10.204 L 0 10.204 L 0 0 L 3.168 0 L 3.168 10.206 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1gfgyzu\",layoutDependency:layoutDependency,layoutId:\"c9SoQxRxt\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3.676 3.676\" overflow=\"visible\"><path d=\"M 1.838 3.676 C 0.823 3.676 0 2.853 0 1.838 C 0 0.823 0.823 0 1.838 0 C 2.853 0 3.676 0.823 3.676 1.838 C 3.676 2.852 2.853 3.675 1.838 3.675 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"aCbuhSqPe-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 3.676 3.676\" overflow=\"visible\"><path d=\"M 1.838 3.676 C 0.823 3.676 0 2.853 0 1.838 C 0 0.823 0.823 0 1.838 0 C 2.853 0 3.676 0.823 3.676 1.838 C 3.676 2.852 2.853 3.675 1.838 3.675 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-17yyz9g\",layoutDependency:layoutDependency,layoutId:\"EgWQVuxFG\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 9.885 10.482\" overflow=\"visible\"><path d=\"M 9.885 10.448 L 6.717 10.448 L 6.717 5.489 C 6.717 4.307 6.717 2.816 5.073 2.816 C 3.429 2.816 3.168 4.105 3.168 5.436 L 3.168 10.482 L 0 10.482 L 0 0.243 L 3.041 0.243 L 3.041 1.646 L 3.081 1.646 C 3.704 0.589 4.856 -0.042 6.082 0.002 C 9.29 0.002 9.885 2.114 9.885 4.861 L 9.885 10.449 Z\" fill=\"rgb(249, 249, 249)\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({\"aCbuhSqPe-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 9.885 10.482\" overflow=\"visible\"><path d=\"M 9.885 10.448 L 6.717 10.448 L 6.717 5.489 C 6.717 4.307 6.717 2.816 5.073 2.816 C 3.429 2.816 3.168 4.105 3.168 5.436 L 3.168 10.482 L 0 10.482 L 0 0.243 L 3.041 0.243 L 3.041 1.646 L 3.081 1.646 C 3.704 0.589 4.856 -0.042 6.082 0.002 C 9.29 0.002 9.885 2.114 9.885 4.861 L 9.885 10.449 Z\" fill=\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)) /* {&quot;name&quot;:&quot;Orange&quot;} */\"></path></svg>'}},baseVariant,gestureVariant)})]}),isDisplayed2()&&/*#__PURE__*/_jsx(XTwitter,{animated:true,className:\"framer-1qpacim\",layoutDependency:layoutDependency,layoutId:\"U2g6wDVuX\",style:{\"--1ww558a\":2,\"--4rxgx6\":\"rgb(255, 255, 255)\"},variants:{\"ZnuFuCaHT-hover\":{\"--4rxgx6\":\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0))\"}}})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-wqB3C.framer-18yrcx2, .framer-wqB3C .framer-18yrcx2 { display: block; }\",\".framer-wqB3C.framer-1j7goui { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-wqB3C .framer-mov9li { height: 25px; position: relative; width: 93px; }\",\".framer-wqB3C .framer-13tso4b { height: 19px; left: 0px; position: absolute; top: 0px; width: 8px; }\",\".framer-wqB3C .framer-15ueii8 { height: 8px; left: 69px; position: absolute; top: 8px; width: 4px; }\",\".framer-wqB3C .framer-1yy79cj { height: 6px; left: 50px; position: absolute; top: 18px; width: 4px; }\",\".framer-wqB3C .framer-3zidj5 { height: 8px; left: 49px; position: absolute; top: 8px; width: 4px; }\",\".framer-wqB3C .framer-kawsd8 { height: 8px; left: 38px; position: absolute; top: 8px; width: 4px; }\",\".framer-wqB3C .framer-ugkuhf { height: 25px; left: 10px; position: absolute; top: 0px; width: 84px; }\",\".framer-wqB3C .framer-1gwxce4 { height: 22px; position: relative; width: 85px; }\",\".framer-wqB3C .framer-dh186m { height: 15px; left: 0px; position: absolute; top: 4px; width: 10px; }\",\".framer-wqB3C .framer-ofuf0a { height: 10px; left: 11px; position: absolute; top: 8px; width: 3px; }\",\".framer-wqB3C .framer-1wodtsu { height: 4px; left: 11px; position: absolute; top: 3px; width: 4px; }\",\".framer-wqB3C .framer-znbclg { height: 15px; left: 28px; position: absolute; top: 4px; width: 11px; }\",\".framer-wqB3C .framer-1rqpruw { height: 11px; left: 16px; position: absolute; top: 8px; width: 10px; }\",\".framer-wqB3C .framer-azif3o { height: 2px; left: 41px; position: absolute; top: 10px; width: 4px; }\",\".framer-wqB3C .framer-q0uhii { height: 11px; left: 38px; position: absolute; top: 8px; width: 11px; }\",\".framer-wqB3C .framer-szai2u { height: 5px; left: 53px; position: absolute; top: 11px; width: 5px; }\",\".framer-wqB3C .framer-1nuatao { height: 16px; left: 50px; position: absolute; top: 3px; width: 11px; }\",\".framer-wqB3C .framer-1dmlgs8 { height: 22px; left: 64px; position: absolute; top: 0px; width: 22px; }\",\".framer-wqB3C .framer-1htbmq7 { height: 10px; left: 67px; position: absolute; top: 8px; width: 3px; }\",\".framer-wqB3C .framer-1gfgyzu { height: 4px; left: 67px; position: absolute; top: 3px; width: 4px; }\",\".framer-wqB3C .framer-17yyz9g { height: 11px; left: 72px; position: absolute; top: 8px; width: 10px; }\",\".framer-wqB3C .framer-1qpacim { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 20px); position: relative; width: 20px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 25\n * @framerIntrinsicWidth 93\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"aCbuhSqPe\":{\"layout\":[\"auto\",\"auto\"]},\"ZnuFuCaHT\":{\"layout\":[\"auto\",\"auto\"]},\"I_OFt4Dni\":{\"layout\":[\"auto\",\"auto\"]},\"qwIqPcvA7\":{\"layout\":[\"auto\",\"auto\"]},\"jWsfN33Zr\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framera2Ip4OGR8=withCSS(Component,css,\"framer-wqB3C\");export default Framera2Ip4OGR8;Framera2Ip4OGR8.displayName=\"Instagram\";Framera2Ip4OGR8.defaultProps={height:25,width:93};addPropertyControls(Framera2Ip4OGR8,{variant:{options:[\"ZpaFNeSos\",\"aCbuhSqPe\",\"ZnuFuCaHT\"],optionTitles:[\"Insta\",\"Linkedin\",\"X\"],title:\"Variant\",type:ControlType.Enum}});addFonts(Framera2Ip4OGR8,[{explicitInter:true,fonts:[]},...XTwitterFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framera2Ip4OGR8\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"25\",\"framerColorSyntax\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"aCbuhSqPe\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"ZnuFuCaHT\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"I_OFt4Dni\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"qwIqPcvA7\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"jWsfN33Zr\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"93\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./a2Ip4OGR8.map","// Generated by Framer (3bd990b)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useOnVariantChange,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"hb52MFbPG\",\"BRoccBDwU\",\"zlQJKa0hh\",\"xyfA7CWnd\",\"OKtC2X3T2\",\"AVjxKmQ2C\",\"wDHeo3UNN\",\"tYRnfLbVY\",\"R_WKI1ZYb\",\"ZgwRSLzlU\"];const serializationHash=\"framer-bUDZM\";const variantClassNames={AVjxKmQ2C:\"framer-v-1jfgmbz\",BRoccBDwU:\"framer-v-wscx8h\",hb52MFbPG:\"framer-v-uroefe\",OKtC2X3T2:\"framer-v-1m3sn94\",R_WKI1ZYb:\"framer-v-8h4rfr\",tYRnfLbVY:\"framer-v-y2pmmr\",wDHeo3UNN:\"framer-v-oz1i0q\",xyfA7CWnd:\"framer-v-1ih251t\",ZgwRSLzlU:\"framer-v-yivynq\",zlQJKa0hh:\"framer-v-11kl822\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={delay:0,duration:.6,ease:[.7,-.35,.3,1.35],type:\"tween\"};const transformTemplate1=(_,t)=>`translateY(-50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Variant 10\":\"ZgwRSLzlU\",\"Variant 2\":\"BRoccBDwU\",\"Variant 3\":\"zlQJKa0hh\",\"Variant 4\":\"xyfA7CWnd\",\"Variant 5\":\"OKtC2X3T2\",\"Variant 7\":\"wDHeo3UNN\",\"Variant 8\":\"tYRnfLbVY\",\"Variant 9\":\"R_WKI1ZYb\",Desk:\"hb52MFbPG\",Mob:\"AVjxKmQ2C\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"hb52MFbPG\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"hb52MFbPG\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onAppearlmwi0k=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"BRoccBDwU\",true),500);});const onAppear2nirxh=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"zlQJKa0hh\",true),1e3);});const onAppear107w7iv=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"xyfA7CWnd\",true),1300);});const onAppear1l5eyjj=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"OKtC2X3T2\",true),2e3);});const onAppear53kglx=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"BRoccBDwU\",true),2100);});const onAppearihph46=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"wDHeo3UNN\",true),500);});const onAppear1ggj652=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"tYRnfLbVY\",true),1e3);});const onAppearpx5p4n=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"R_WKI1ZYb\",true),1300);});const onAppeari08hll=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"ZgwRSLzlU\",true),2e3);});const onAppear1iyf56n=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"AVjxKmQ2C\",true),500);});useOnVariantChange(baseVariant,{AVjxKmQ2C:onAppearihph46,BRoccBDwU:onAppear2nirxh,default:onAppearlmwi0k,OKtC2X3T2:onAppear53kglx,R_WKI1ZYb:onAppeari08hll,tYRnfLbVY:onAppearpx5p4n,wDHeo3UNN:onAppear1ggj652,xyfA7CWnd:onAppear1l5eyjj,ZgwRSLzlU:onAppear1iyf56n,zlQJKa0hh:onAppear107w7iv});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-uroefe\",className,classNames),\"data-framer-name\":\"Desk\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"hb52MFbPG\",ref:refBinding,style:{...style},...addPropertyOverrides({AVjxKmQ2C:{\"data-framer-name\":\"Mob\"},BRoccBDwU:{\"data-framer-name\":\"Variant 2\"},OKtC2X3T2:{\"data-framer-name\":\"Variant 5\"},R_WKI1ZYb:{\"data-framer-name\":\"Variant 9\"},tYRnfLbVY:{\"data-framer-name\":\"Variant 8\"},wDHeo3UNN:{\"data-framer-name\":\"Variant 7\"},xyfA7CWnd:{\"data-framer-name\":\"Variant 4\"},ZgwRSLzlU:{\"data-framer-name\":\"Variant 10\"},zlQJKa0hh:{\"data-framer-name\":\"Variant 3\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"28px\",\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)))\"},children:\"ajay\"})}),className:\"framer-xlxqke\",fonts:[\"CUSTOMV2;Neue Regrade Semibold\"],layoutDependency:layoutDependency,layoutId:\"Q9isOLc18\",style:{\"--extracted-r6o4lv\":\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",opacity:1},variants:{AVjxKmQ2C:{opacity:1},OKtC2X3T2:{opacity:0},R_WKI1ZYb:{opacity:1},tYRnfLbVY:{opacity:1},wDHeo3UNN:{opacity:1},ZgwRSLzlU:{opacity:1}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({BRoccBDwU:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"36px\",\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)))\"},children:\"ajay\"})})},R_WKI1ZYb:{transformTemplate:transformTemplate1},xyfA7CWnd:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"36px\",\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0)))\"},children:\"ajay\"})}),transformTemplate:transformTemplate1}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"28px\",\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"pv\"})}),className:\"framer-11m2g1g\",fonts:[\"CUSTOMV2;Neue Regrade Semibold\"],layoutDependency:layoutDependency,layoutId:\"pTovZ1dMw\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",opacity:1},variants:{AVjxKmQ2C:{opacity:1},OKtC2X3T2:{opacity:0},R_WKI1ZYb:{opacity:1},tYRnfLbVY:{opacity:1},wDHeo3UNN:{opacity:1},ZgwRSLzlU:{opacity:1}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({R_WKI1ZYb:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"pv\"})})},xyfA7CWnd:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"24px\",\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"pv\"})})},zlQJKa0hh:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"36px\",\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"pv\"})})}},baseVariant,gestureVariant)})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-bUDZM.framer-z9fe, .framer-bUDZM .framer-z9fe { display: block; }\",\".framer-bUDZM.framer-uroefe { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 70px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 138px; }\",\".framer-bUDZM .framer-xlxqke { flex: none; height: auto; left: 0px; position: absolute; top: -40px; white-space: pre; width: auto; z-index: 1; }\",\".framer-bUDZM .framer-11m2g1g { bottom: -40px; flex: none; height: auto; position: absolute; right: 0px; white-space: pre; width: auto; z-index: 1; }\",\".framer-bUDZM.framer-v-wscx8h .framer-xlxqke, .framer-bUDZM.framer-v-oz1i0q .framer-xlxqke { left: unset; position: relative; top: unset; }\",\".framer-bUDZM.framer-v-11kl822 .framer-11m2g1g, .framer-bUDZM.framer-v-y2pmmr .framer-11m2g1g { bottom: unset; position: relative; right: unset; }\",\".framer-bUDZM.framer-v-1ih251t .framer-xlxqke { left: 28px; top: 50%; }\",\".framer-bUDZM.framer-v-1ih251t .framer-11m2g1g { bottom: 10px; right: 24px; }\",\".framer-bUDZM.framer-v-8h4rfr .framer-xlxqke { left: 35px; top: 50%; }\",\".framer-bUDZM.framer-v-8h4rfr .framer-11m2g1g { bottom: 10px; right: 35px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 70\n * @framerIntrinsicWidth 138\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"BRoccBDwU\":{\"layout\":[\"fixed\",\"fixed\"]},\"zlQJKa0hh\":{\"layout\":[\"fixed\",\"fixed\"]},\"xyfA7CWnd\":{\"layout\":[\"fixed\",\"fixed\"]},\"OKtC2X3T2\":{\"layout\":[\"fixed\",\"fixed\"]},\"AVjxKmQ2C\":{\"layout\":[\"fixed\",\"fixed\"]},\"wDHeo3UNN\":{\"layout\":[\"fixed\",\"fixed\"]},\"tYRnfLbVY\":{\"layout\":[\"fixed\",\"fixed\"]},\"R_WKI1ZYb\":{\"layout\":[\"fixed\",\"fixed\"]},\"ZgwRSLzlU\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FrameracIUa1w7M=withCSS(Component,css,\"framer-bUDZM\");export default FrameracIUa1w7M;FrameracIUa1w7M.displayName=\"ajay\";FrameracIUa1w7M.defaultProps={height:70,width:138};addPropertyControls(FrameracIUa1w7M,{variant:{options:[\"hb52MFbPG\",\"BRoccBDwU\",\"zlQJKa0hh\",\"xyfA7CWnd\",\"OKtC2X3T2\",\"AVjxKmQ2C\",\"wDHeo3UNN\",\"tYRnfLbVY\",\"R_WKI1ZYb\",\"ZgwRSLzlU\"],optionTitles:[\"Desk\",\"Variant 2\",\"Variant 3\",\"Variant 4\",\"Variant 5\",\"Mob\",\"Variant 7\",\"Variant 8\",\"Variant 9\",\"Variant 10\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FrameracIUa1w7M,[{explicitInter:true,fonts:[{cssFamilyName:\"Neue Regrade Semibold\",source:\"custom\",style:\"normal\",uiFamilyName:\"Neue Regrade\",url:\"https://framerusercontent.com/assets/r91FIoVSKzBqL1KI7tS58rfrnBM.woff2\",weight:\"600\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameracIUa1w7M\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"BRoccBDwU\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"zlQJKa0hh\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"xyfA7CWnd\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"OKtC2X3T2\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"AVjxKmQ2C\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"wDHeo3UNN\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"tYRnfLbVY\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"R_WKI1ZYb\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"ZgwRSLzlU\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"138\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"70\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./acIUa1w7M.map","// Generated by Framer (aabb2d2)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"kZ4JNk8aZ\",\"Db8qODoxi\"];const serializationHash=\"framer-hKvJ1\";const variantClassNames={Db8qODoxi:\"framer-v-l34lbu\",kZ4JNk8aZ:\"framer-v-19scsof\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const U3Qehpecp=undefined;const x90PuqN5G=undefined;const g_XvC7I_H=undefined;const FcAq59g72=undefined;const mS8LPo3_I=undefined;const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Compact:\"Db8qODoxi\",Default:\"kZ4JNk8aZ\"};const getProps=({background,date,height,id,role,text,title,width,...props})=>{return{...props,FcAq59g72:role??props.FcAq59g72??\"text\",g_XvC7I_H:title??props.g_XvC7I_H??\"Creative Director at Malory House\",mS8LPo3_I:text??props.mS8LPo3_I??\"Mauris convallis non ligula non interdum. Gravida vulputate convallis tempus vestibulum cras imperdiet nun eu dolor lacinia bibendum.\",U3Qehpecp:date??props.U3Qehpecp??\"NOV 2017 - PRESENT\",variant:humanReadableVariantMap[props.variant]??props.variant??\"kZ4JNk8aZ\",x90PuqN5G:background??props.x90PuqN5G??\"var(--token-f0f88879-8f97-453f-bf01-02c87f4fc7ed, rgb(227, 242, 255))\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,U3Qehpecp,g_XvC7I_H,mS8LPo3_I,x90PuqN5G,FcAq59g72,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"kZ4JNk8aZ\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"Db8qODoxi\")return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-19scsof\",className,classNames),\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"kZ4JNk8aZ\",ref:refBinding,style:{...style},...addPropertyOverrides({Db8qODoxi:{\"data-framer-name\":\"Compact\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1mlc9l\",\"data-framer-name\":\"Date\",layoutDependency:layoutDependency,layoutId:\"pFojnyPHL\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h4,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIE1lZGl1bQ==\",\"--framer-font-family\":'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"0.05em\",\"--framer-line-height\":\"18px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-1eung3n, rgb(191, 191, 191))\"},children:\"NOV 2017 - PRESENT\"})}),className:\"framer-rynnr9\",\"data-framer-name\":\"NOV 2017 - PRESENT\",fonts:[\"CUSTOMV2;Neue Regrade Medium\"],layoutDependency:layoutDependency,layoutId:\"HutMcp4PH\",style:{\"--extracted-1eung3n\":\"rgb(191, 191, 191)\",\"--framer-paragraph-spacing\":\"0px\"},text:U3Qehpecp,verticalAlignment:\"top\",withExternalLayout:true})}),isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1wmnc8v\",\"data-framer-name\":\"Circle & Line\",layoutDependency:layoutDependency,layoutId:\"pREOOIvtk\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-j9wsfm\",\"data-framer-name\":\"Circle\",layoutDependency:layoutDependency,layoutId:\"zoQPb5sX3\",style:{backgroundColor:x90PuqN5G,borderBottomLeftRadius:15,borderBottomRightRadius:15,borderTopLeftRadius:15,borderTopRightRadius:15}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-103a8gm\",\"data-framer-name\":\"Line\",layoutDependency:layoutDependency,layoutId:\"y0gHW4yWy\",style:{backgroundColor:\"rgb(191, 191, 191)\"}})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-labmdj\",\"data-framer-name\":\"Text Wrapper\",layoutDependency:layoutDependency,layoutId:\"ysn3h8yfG\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-464geb\",layoutDependency:layoutDependency,layoutId:\"RXe9n8F1A\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIE1lZGl1bQ==\",\"--framer-font-family\":'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',\"--framer-font-size\":\"22px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.005em\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"var(--extracted-a0htzi, rgb(255, 255, 255))\"},children:\"Creative Director at Malory House\"})}),className:\"framer-89k5xz\",\"data-framer-name\":\"Title\",fonts:[\"CUSTOMV2;Neue Regrade Medium\"],layoutDependency:layoutDependency,layoutId:\"fVgzEmSO2\",style:{\"--extracted-a0htzi\":\"rgb(255, 255, 255)\",\"--framer-paragraph-spacing\":\"0px\"},text:g_XvC7I_H,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIE1lZGl1bQ==\",\"--framer-font-family\":'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',\"--framer-font-size\":\"12px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.005em\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"var(--extracted-a0htzi, rgb(191, 191, 191))\"},children:\"text\"})}),className:\"framer-lwxywe\",\"data-framer-name\":\"Title\",fonts:[\"CUSTOMV2;Neue Regrade Medium\"],layoutDependency:layoutDependency,layoutId:\"WqbeM3pbm\",style:{\"--extracted-a0htzi\":\"rgb(191, 191, 191)\",\"--framer-paragraph-spacing\":\"0px\"},text:FcAq59g72,verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFJlZ3VsYXI=\",\"--framer-font-family\":'\"Neue Regrade Regular\", \"Neue Regrade Regular Placeholder\", sans-serif',\"--framer-line-height\":\"1.4em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Mauris convallis non ligula non interdum. Gravida vulputate convallis tempus vestibulum cras imperdiet nun eu dolor lacinia bibendum.\"})}),className:\"framer-lf6uoj\",\"data-framer-name\":\"Text\",fonts:[\"CUSTOMV2;Neue Regrade Regular\"],layoutDependency:layoutDependency,layoutId:\"s2o7o6In7\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:mS8LPo3_I,verticalAlignment:\"top\",withExternalLayout:true})]})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-hKvJ1.framer-11mcla6, .framer-hKvJ1 .framer-11mcla6 { display: block; }\",\".framer-hKvJ1.framer-19scsof { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 30px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 625px; }\",\".framer-hKvJ1 .framer-1mlc9l { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-end; min-width: 170px; overflow: hidden; padding: 5px 0px 0px 0px; position: relative; width: min-content; }\",\".framer-hKvJ1 .framer-rynnr9 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-hKvJ1 .framer-1wmnc8v { align-content: center; align-items: center; align-self: stretch; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: auto; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 2px; }\",\".framer-hKvJ1 .framer-j9wsfm { flex: none; height: 20px; left: calc(50.00000000000002% - 20px / 2); overflow: hidden; position: absolute; top: 4px; width: 20px; will-change: var(--framer-will-change-override, transform); z-index: 1; }\",\".framer-hKvJ1 .framer-103a8gm { flex: none; height: 100%; left: calc(50.00000000000002% - 100% / 2); position: absolute; top: 30px; width: 100%; z-index: 1; }\",\".framer-hKvJ1 .framer-labmdj { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px 0px 40px 0px; position: relative; width: 1px; }\",\".framer-hKvJ1 .framer-464geb { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 6px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-hKvJ1 .framer-89k5xz, .framer-hKvJ1 .framer-lwxywe, .framer-hKvJ1 .framer-lf6uoj { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-hKvJ1.framer-v-l34lbu.framer-19scsof { flex-direction: column; gap: 15px; }\",\".framer-hKvJ1.framer-v-l34lbu .framer-1mlc9l { justify-content: flex-start; padding: 0px; }\",\".framer-hKvJ1.framer-v-l34lbu .framer-labmdj { flex: none; width: 100%; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 167\n * @framerIntrinsicWidth 625\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"Db8qODoxi\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"U3Qehpecp\":\"date\",\"g_XvC7I_H\":\"title\",\"mS8LPo3_I\":\"text\",\"x90PuqN5G\":\"background\",\"FcAq59g72\":\"role\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerc6_VdooEz=withCSS(Component,css,\"framer-hKvJ1\");export default Framerc6_VdooEz;Framerc6_VdooEz.displayName=\"Timeline\";Framerc6_VdooEz.defaultProps={height:167,width:625};addPropertyControls(Framerc6_VdooEz,{variant:{options:[\"kZ4JNk8aZ\",\"Db8qODoxi\"],optionTitles:[\"Default\",\"Compact\"],title:\"Variant\",type:ControlType.Enum},U3Qehpecp:{defaultValue:\"NOV 2017 - PRESENT\",displayTextArea:false,title:\"Date\",type:ControlType.String},g_XvC7I_H:{defaultValue:\"Creative Director at Malory House\",displayTextArea:false,title:\"Title\",type:ControlType.String},mS8LPo3_I:{defaultValue:\"Mauris convallis non ligula non interdum. Gravida vulputate convallis tempus vestibulum cras imperdiet nun eu dolor lacinia bibendum.\",displayTextArea:true,title:\"Text\",type:ControlType.String},x90PuqN5G:{defaultValue:'var(--token-f0f88879-8f97-453f-bf01-02c87f4fc7ed, rgb(227, 242, 255)) /* {\"name\":\"Blue\"} */',title:\"Background\",type:ControlType.Color},FcAq59g72:{defaultValue:\"text\",displayTextArea:false,title:\"Role\",type:ControlType.String}});addFonts(Framerc6_VdooEz,[{explicitInter:true,fonts:[{cssFamilyName:\"Neue Regrade Medium\",source:\"custom\",style:\"normal\",uiFamilyName:\"Neue Regrade\",url:\"https://framerusercontent.com/assets/wGvxXIJQ7L3I70QRmgn73GXnHI.woff2\",weight:\"500\"},{cssFamilyName:\"Neue Regrade Regular\",source:\"custom\",style:\"normal\",uiFamilyName:\"Neue Regrade\",url:\"https://framerusercontent.com/assets/qQaGF3U69wQhEKah417FLXpPiUw.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerc6_VdooEz\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"167\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"Db8qODoxi\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerVariables\":\"{\\\"U3Qehpecp\\\":\\\"date\\\",\\\"g_XvC7I_H\\\":\\\"title\\\",\\\"mS8LPo3_I\\\":\\\"text\\\",\\\"x90PuqN5G\\\":\\\"background\\\",\\\"FcAq59g72\\\":\\\"role\\\"}\",\"framerIntrinsicWidth\":\"625\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./c6_VdooEz.map","// Generated by Framer (cd22f02)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,cx,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const serializationHash=\"framer-zknc1\";const variantClassNames={BQNcdzQyf:\"framer-v-132r10h\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"BQNcdzQyf\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-132r10h\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"BQNcdzQyf\",ref:refBinding,style:{backgroundColor:\"rgb(255, 255, 255)\",...style},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"54px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.07em\",\"--framer-line-height\":\"62px\"},children:\"play\"})}),className:\"framer-64zcud\",fonts:[\"CUSTOMV2;Neue Regrade Extrabold\"],layoutDependency:layoutDependency,layoutId:\"NEJvGswFr\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-zknc1.framer-urpkb1, .framer-zknc1 .framer-urpkb1 { display: block; }\",\".framer-zknc1.framer-132r10h { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 4px; position: relative; width: min-content; }\",\".framer-zknc1 .framer-64zcud { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 70\n * @framerIntrinsicWidth 102\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerEE0ef5Dt3=withCSS(Component,css,\"framer-zknc1\");export default FramerEE0ef5Dt3;FramerEE0ef5Dt3.displayName=\"Cursor\";FramerEE0ef5Dt3.defaultProps={height:70,width:102};addFonts(FramerEE0ef5Dt3,[{explicitInter:true,fonts:[{cssFamilyName:\"Neue Regrade Extrabold\",source:\"custom\",style:\"normal\",uiFamilyName:\"Neue Regrade\",url:\"https://framerusercontent.com/assets/U9a5M235XnGyGBawwQTxbbmz0M.woff2\",weight:\"800\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerEE0ef5Dt3\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"70\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"102\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./EE0ef5Dt3.map","// Generated by Framer (3bd990b)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{Lottie}from\"https://framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/RLfsHd78NBd0kbafA9hd/Lottie.js\";const LottieFonts=getFonts(Lottie);const cycleOrder=[\"TpdCwZIaI\",\"nTSxW_t9I\",\"jwkUlh2D9\",\"bvljWlFct\",\"TbmcotATb\",\"nmdeeiKwO\"];const serializationHash=\"framer-qclfC\";const variantClassNames={bvljWlFct:\"framer-v-11cf6k2\",jwkUlh2D9:\"framer-v-13ulen3\",nmdeeiKwO:\"framer-v-1m8f1po\",nTSxW_t9I:\"framer-v-16y1mzf\",TbmcotATb:\"framer-v-1n4s66x\",TpdCwZIaI:\"framer-v-195xax\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Mob Bangalore\":\"nmdeeiKwO\",\"Mob Dubai\":\"bvljWlFct\",\"Mob Mysore\":\"TbmcotATb\",\"Variant 1\":\"TpdCwZIaI\",\"Variant 2\":\"nTSxW_t9I\",\"Variant 3\":\"jwkUlh2D9\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"TpdCwZIaI\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"TpdCwZIaI\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-195xax\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"TpdCwZIaI\",ref:refBinding,style:{...style},...addPropertyOverrides({bvljWlFct:{\"data-framer-name\":\"Mob Dubai\"},jwkUlh2D9:{\"data-framer-name\":\"Variant 3\"},nmdeeiKwO:{\"data-framer-name\":\"Mob Bangalore\"},nTSxW_t9I:{\"data-framer-name\":\"Variant 2\"},TbmcotATb:{\"data-framer-name\":\"Mob Mysore\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1rdn8jd-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"qXvRvUXnR-container\",nodeId:\"qXvRvUXnR\",rendersWithMotion:true,scopeId:\"v3HOliX1U\",children:/*#__PURE__*/_jsx(Lottie,{height:\"100%\",id:\"qXvRvUXnR\",isForwardsDirection:true,layoutId:\"qXvRvUXnR\",loop:true,pauseOnCanvas:true,playing:true,poster:\"Auto\",posterProgress:0,progress:0,speed:1,srcFile:\"https://framerusercontent.com/assets/amO6TjsXUJNEsBBzdBDObbDmSbs.json\",srcType:\"Upload\",srcUrl:\"https://misc.framerstatic.com/lottie/logo.json\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"120%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"dubai\"})}),className:\"framer-hsxqyx\",fonts:[\"CUSTOMV2;Neue Regrade Semibold\"],layoutDependency:layoutDependency,layoutId:\"O75pJDwEl\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({bvljWlFct:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"24px\",\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"120%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"dubai\"})})},jwkUlh2D9:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"120%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"bangalore\"})})},nmdeeiKwO:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"24px\",\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"120%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"bangalore\"})})},nTSxW_t9I:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"120%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"mysore\"})})},TbmcotATb:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"24px\",\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"120%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"mysore\"})})}},baseVariant,gestureVariant)})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-qclfC.framer-fephs7, .framer-qclfC .framer-fephs7 { display: block; }\",\".framer-qclfC.framer-195xax { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: min-content; }\",\".framer-qclfC .framer-1rdn8jd-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 55px); position: relative; width: 55px; }\",\".framer-qclfC .framer-hsxqyx { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-qclfC.framer-v-11cf6k2 .framer-1rdn8jd-container, .framer-qclfC.framer-v-1n4s66x .framer-1rdn8jd-container, .framer-qclfC.framer-v-1m8f1po .framer-1rdn8jd-container { height: var(--framer-aspect-ratio-supported, 40px); width: 40px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 55\n * @framerIntrinsicWidth 138\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"nTSxW_t9I\":{\"layout\":[\"auto\",\"auto\"]},\"jwkUlh2D9\":{\"layout\":[\"auto\",\"auto\"]},\"bvljWlFct\":{\"layout\":[\"auto\",\"auto\"]},\"TbmcotATb\":{\"layout\":[\"auto\",\"auto\"]},\"nmdeeiKwO\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerv3HOliX1U=withCSS(Component,css,\"framer-qclfC\");export default Framerv3HOliX1U;Framerv3HOliX1U.displayName=\"Place\";Framerv3HOliX1U.defaultProps={height:55,width:138};addPropertyControls(Framerv3HOliX1U,{variant:{options:[\"TpdCwZIaI\",\"nTSxW_t9I\",\"jwkUlh2D9\",\"bvljWlFct\",\"TbmcotATb\",\"nmdeeiKwO\"],optionTitles:[\"Variant 1\",\"Variant 2\",\"Variant 3\",\"Mob Dubai\",\"Mob Mysore\",\"Mob Bangalore\"],title:\"Variant\",type:ControlType.Enum}});addFonts(Framerv3HOliX1U,[{explicitInter:true,fonts:[{cssFamilyName:\"Neue Regrade Semibold\",source:\"custom\",style:\"normal\",uiFamilyName:\"Neue Regrade\",url:\"https://framerusercontent.com/assets/r91FIoVSKzBqL1KI7tS58rfrnBM.woff2\",weight:\"600\"}]},...LottieFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerv3HOliX1U\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"55\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"nTSxW_t9I\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"jwkUlh2D9\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"bvljWlFct\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"TbmcotATb\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"nmdeeiKwO\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"138\",\"framerImmutableVariables\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./v3HOliX1U.map","// Generated by Framer (5940525)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getLoadingLazyAtYPosition,Image,Link,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"vsLuj4Aok\",\"FaMPglGw_\",\"UIu1WWAwk\",\"JryNYOmoQ\",\"kvhqfP6fH\",\"sch4fiwKm\"];const serializationHash=\"framer-E0uzZ\";const variantClassNames={FaMPglGw_:\"framer-v-1rq75ra\",JryNYOmoQ:\"framer-v-1nlztgj\",kvhqfP6fH:\"framer-v-gx8fjq\",sch4fiwKm:\"framer-v-1udx5ep\",UIu1WWAwk:\"framer-v-te0h7s\",vsLuj4Aok:\"framer-v-1pp5mw0\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const xM5FHn4H1=undefined;const LMmTgJP8X=undefined;const E2v5KH9HI=undefined;const transition1={delay:0,duration:.3,ease:[.15,.45,.15,1.35],type:\"tween\"};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Lavender-Hover\":\"FaMPglGw_\",\"Variant 3\":\"UIu1WWAwk\",\"Variant 4\":\"JryNYOmoQ\",\"Variant 5\":\"kvhqfP6fH\",\"Variant 6\":\"sch4fiwKm\",Lavender:\"vsLuj4Aok\"};const getProps=({height,hoverColor,id,link,logo,width,...props})=>{return{...props,E2v5KH9HI:hoverColor??props.E2v5KH9HI??\"rgb(179, 159, 227)\",LMmTgJP8X:logo??props.LMmTgJP8X??{pixelHeight:300,pixelWidth:712,src:\"https://framerusercontent.com/images/JVEnsHOgZXLUvbv9ppxsve239Gg.png?width=712&height=300\",srcSet:\"https://framerusercontent.com/images/JVEnsHOgZXLUvbv9ppxsve239Gg.png?scale-down-to=512&width=712&height=300 512w,https://framerusercontent.com/images/JVEnsHOgZXLUvbv9ppxsve239Gg.png?width=712&height=300 712w\"},variant:humanReadableVariantMap[props.variant]??props.variant??\"vsLuj4Aok\",xM5FHn4H1:link??props.xM5FHn4H1};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,LMmTgJP8X,E2v5KH9HI,xM5FHn4H1,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"vsLuj4Aok\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onMouseEnter9lepyr=activeVariantCallback(async(...args)=>{setGestureState({isHovered:true});setVariant(\"FaMPglGw_\");});const onMouseLeave8rcl32=activeVariantCallback(async(...args)=>{setGestureState({isHovered:false});setVariant(\"vsLuj4Aok\");});const onMouseEnterupbnh9=activeVariantCallback(async(...args)=>{setGestureState({isHovered:true});setVariant(\"JryNYOmoQ\");});const onMouseLeave153wwdo=activeVariantCallback(async(...args)=>{setGestureState({isHovered:false});setVariant(\"UIu1WWAwk\");});const onMouseEnterj84gb3=activeVariantCallback(async(...args)=>{setGestureState({isHovered:true});setVariant(\"sch4fiwKm\");});const onMouseLeavep4bk2v=activeVariantCallback(async(...args)=>{setGestureState({isHovered:false});setVariant(\"kvhqfP6fH\");});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:xM5FHn4H1,motionChild:true,nodeId:\"vsLuj4Aok\",openInNewTab:true,scopeId:\"whZQTHvh0\",smoothScroll:true,children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-1pp5mw0\",className,classNames)} framer-sfad4r`,\"data-framer-name\":\"Lavender\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"vsLuj4Aok\",onMouseEnter:onMouseEnter9lepyr,ref:refBinding,style:{backgroundColor:\"rgb(9, 10, 12)\",...style},...addPropertyOverrides({FaMPglGw_:{\"data-framer-name\":\"Lavender-Hover\",onMouseLeave:onMouseLeave8rcl32},JryNYOmoQ:{\"data-framer-name\":\"Variant 4\",onMouseEnter:onMouseEnterupbnh9,onMouseLeave:onMouseLeave153wwdo},kvhqfP6fH:{\"data-framer-name\":\"Variant 5\",onMouseEnter:onMouseEnterj84gb3},sch4fiwKm:{\"data-framer-name\":\"Variant 6\",onMouseEnter:onMouseEnterj84gb3,onMouseLeave:onMouseLeavep4bk2v},UIu1WWAwk:{\"data-framer-name\":\"Variant 3\",onMouseEnter:onMouseEnterupbnh9}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+((componentViewport?.height||95)*.5052631578947371-37.5)),pixelHeight:300,pixelWidth:712,sizes:\"178px\",...toResponsiveImage(LMmTgJP8X)},className:\"framer-157x1a1\",\"data-border\":true,\"data-framer-name\":\"Front\",layoutDependency:layoutDependency,layoutId:\"wsd_ej0p2\",style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgb(23, 23, 24)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\"},variants:{FaMPglGw_:{\"--border-color\":\"rgba(22, 22, 23, 0)\"}},...addPropertyOverrides({FaMPglGw_:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+1),pixelHeight:300,pixelWidth:712,sizes:\"178px\",...toResponsiveImage(LMmTgJP8X)}},JryNYOmoQ:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+1),pixelHeight:300,pixelWidth:712,sizes:\"128px\",...toResponsiveImage(LMmTgJP8X)}},kvhqfP6fH:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+((componentViewport?.height||48)*.5052631578947371-18)),pixelHeight:300,pixelWidth:712,sizes:\"86px\",...toResponsiveImage(LMmTgJP8X)}},sch4fiwKm:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+1),pixelHeight:300,pixelWidth:712,sizes:\"86px\",...toResponsiveImage(LMmTgJP8X)}},UIu1WWAwk:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+((componentViewport?.height||67)*.5052631578947371-26.5)),pixelHeight:300,pixelWidth:712,sizes:\"128px\",...toResponsiveImage(LMmTgJP8X)}}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-17jd1jw\",\"data-framer-name\":\"Helper\",layoutDependency:layoutDependency,layoutId:\"rTVlesUR3\",style:{backgroundColor:E2v5KH9HI}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1j7kkt1\",\"data-framer-name\":\"Down Helper\",layoutDependency:layoutDependency,layoutId:\"FjZkeJWcA\",style:{backgroundColor:\"rgb(9, 10, 12)\",rotate:-45}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-j3710g\",\"data-framer-name\":\"Up Helper\",layoutDependency:layoutDependency,layoutId:\"G3pmrXm9D\",style:{backgroundColor:\"rgb(9, 10, 12)\",rotate:-40}})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-E0uzZ.framer-sfad4r, .framer-E0uzZ .framer-sfad4r { display: block; }\",\".framer-E0uzZ.framer-1pp5mw0 { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 95px; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 12px; position: relative; text-decoration: none; width: 198px; }\",\".framer-E0uzZ .framer-157x1a1 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 75px; justify-content: center; left: calc(50.00000000000002% - 178px / 2); overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: absolute; top: calc(50.526315789473706% - 75px / 2); width: 178px; will-change: var(--framer-will-change-filter-override, filter); z-index: 2; }\",\".framer-E0uzZ .framer-17jd1jw { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 75px; justify-content: center; left: calc(50.00000000000002% - 178px / 2); overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: absolute; top: calc(50.526315789473706% - 75px / 2); width: 178px; z-index: 1; }\",\".framer-E0uzZ .framer-1j7kkt1 { bottom: -2px; flex: none; height: 23px; left: -2px; overflow: var(--overflow-clip-fallback, clip); position: absolute; width: 10px; z-index: 2; }\",\".framer-E0uzZ .framer-j3710g { flex: none; height: 23px; overflow: var(--overflow-clip-fallback, clip); position: absolute; right: 3px; top: -7px; width: 10px; z-index: 1; }\",\".framer-E0uzZ.framer-v-1rq75ra .framer-157x1a1 { left: calc(45.454545454545475% - 178px / 2); top: 1px; }\",\".framer-E0uzZ.framer-v-1rq75ra .framer-17jd1jw { height: 86px; left: 0px; top: 0px; width: 188px; }\",\".framer-E0uzZ.framer-v-te0h7s.framer-1pp5mw0, .framer-E0uzZ.framer-v-1nlztgj.framer-1pp5mw0 { height: 67px; width: 140px; }\",\".framer-E0uzZ.framer-v-te0h7s .framer-157x1a1, .framer-E0uzZ.framer-v-te0h7s .framer-17jd1jw { height: 53px; left: calc(50.00000000000002% - 128px / 2); top: calc(50.526315789473706% - 53px / 2); width: 128px; }\",\".framer-E0uzZ.framer-v-te0h7s .framer-1j7kkt1 { bottom: -9px; left: -3px; }\",\".framer-E0uzZ.framer-v-te0h7s .framer-j3710g, .framer-E0uzZ.framer-v-1nlztgj .framer-j3710g { right: -4px; top: -8px; }\",\".framer-E0uzZ.framer-v-1nlztgj .framer-157x1a1 { height: 53px; left: calc(46.42857142857145% - 128px / 2); top: 1px; width: 128px; }\",\".framer-E0uzZ.framer-v-1nlztgj .framer-17jd1jw { height: 59px; left: 0px; top: 0px; width: 134px; }\",\".framer-E0uzZ.framer-v-1nlztgj .framer-1j7kkt1 { bottom: -10px; left: -1px; }\",\".framer-E0uzZ.framer-v-gx8fjq.framer-1pp5mw0, .framer-E0uzZ.framer-v-1udx5ep.framer-1pp5mw0 { height: 48px; width: 100px; }\",\".framer-E0uzZ.framer-v-gx8fjq .framer-157x1a1, .framer-E0uzZ.framer-v-gx8fjq .framer-17jd1jw { height: 36px; left: calc(50.00000000000002% - 86px / 2); top: calc(50.526315789473706% - 36px / 2); width: 86px; }\",\".framer-E0uzZ.framer-v-gx8fjq .framer-1j7kkt1 { bottom: -13px; left: -3px; }\",\".framer-E0uzZ.framer-v-gx8fjq .framer-j3710g { right: -7px; top: -9px; }\",\".framer-E0uzZ.framer-v-1udx5ep .framer-157x1a1 { height: 36px; left: 1px; top: 1px; width: 86px; }\",\".framer-E0uzZ.framer-v-1udx5ep .framer-17jd1jw { height: 41px; left: 0px; top: 0px; width: 91px; }\",\".framer-E0uzZ.framer-v-1udx5ep .framer-1j7kkt1 { bottom: -10px; left: -2px; }\",\".framer-E0uzZ.framer-v-1udx5ep .framer-j3710g { right: 0px; top: -9px; }\",'.framer-E0uzZ[data-border=\"true\"]::after, .framer-E0uzZ [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 95\n * @framerIntrinsicWidth 198\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"FaMPglGw_\":{\"layout\":[\"fixed\",\"fixed\"]},\"UIu1WWAwk\":{\"layout\":[\"fixed\",\"fixed\"]},\"JryNYOmoQ\":{\"layout\":[\"fixed\",\"fixed\"]},\"kvhqfP6fH\":{\"layout\":[\"fixed\",\"fixed\"]},\"sch4fiwKm\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"LMmTgJP8X\":\"logo\",\"E2v5KH9HI\":\"hoverColor\",\"xM5FHn4H1\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerwhZQTHvh0=withCSS(Component,css,\"framer-E0uzZ\");export default FramerwhZQTHvh0;FramerwhZQTHvh0.displayName=\"Client\";FramerwhZQTHvh0.defaultProps={height:95,width:198};addPropertyControls(FramerwhZQTHvh0,{variant:{options:[\"vsLuj4Aok\",\"FaMPglGw_\",\"UIu1WWAwk\",\"JryNYOmoQ\",\"kvhqfP6fH\",\"sch4fiwKm\"],optionTitles:[\"Lavender\",\"Lavender-Hover\",\"Variant 3\",\"Variant 4\",\"Variant 5\",\"Variant 6\"],title:\"Variant\",type:ControlType.Enum},LMmTgJP8X:{__defaultAssetReference:\"data:framer/asset-reference,JVEnsHOgZXLUvbv9ppxsve239Gg.png?originalFilename=Scapic.png&width=712&height=300\",title:\"Logo\",type:ControlType.ResponsiveImage},E2v5KH9HI:{defaultValue:\"rgb(179, 159, 227)\",title:\"Hover Color\",type:ControlType.Color},xM5FHn4H1:{title:\"Link\",type:ControlType.Link}});addFonts(FramerwhZQTHvh0,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerwhZQTHvh0\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"FaMPglGw_\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"UIu1WWAwk\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"JryNYOmoQ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"kvhqfP6fH\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"sch4fiwKm\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"198\",\"framerIntrinsicHeight\":\"95\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerVariables\":\"{\\\"LMmTgJP8X\\\":\\\"logo\\\",\\\"E2v5KH9HI\\\":\\\"hoverColor\\\",\\\"xM5FHn4H1\\\":\\\"link\\\"}\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./whZQTHvh0.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useRef,useEffect}from\"react\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */const EmailLetterBounce=({email=\"ajay@shopos.ai\",line1FontSize=140,line2FontSize=116,textColor=\"#FFFFFF\",accentColor=\"#FE6D00\",staggerDelay=.04,bounceHeight=15})=>{const[isHovered,setIsHovered]=useState(false);const[line1Width,setLine1Width]=useState(0);const[line2Width,setLine2Width]=useState(0);const line1Ref=useRef(null);const line2Ref=useRef(null);// Split email into parts\nconst atIndex=email.indexOf(\"@\");const namePart=email.slice(0,atIndex);const domainFull=email.slice(atIndex+1);const dotIndex=domainFull.lastIndexOf(\".\");const domainName=domainFull.slice(0,dotIndex);const domainExt=domainFull.slice(dotIndex);const line1=namePart+\"@\";const totalLetters=line1.length+domainFull.length;useEffect(()=>{if(line1Ref.current)setLine1Width(line1Ref.current.offsetWidth);if(line2Ref.current)setLine2Width(line2Ref.current.offsetWidth);},[email,line1FontSize,line2FontSize]);const keyframesCSS=`\n        @keyframes bounce {\n            0%, 100% { transform: translateY(0); }\n            50% { transform: translateY(-${bounceHeight}px); }\n        }\n    `;const CurvedUnderline=({width,color,isVisible,delay})=>/*#__PURE__*/_jsx(motion.svg,{width:width+20,height:\"40\",viewBox:`0 0 ${width+20} 40`,fill:\"none\",initial:{pathLength:0,opacity:0},animate:{pathLength:isVisible?1:0,opacity:isVisible?1:0},transition:{pathLength:{type:\"spring\",stiffness:200,damping:25,delay:isVisible?delay:0},opacity:{duration:.1,delay:isVisible?delay:0}},style:{position:\"absolute\",bottom:-8,left:-10,zIndex:0},children:/*#__PURE__*/_jsx(motion.path,{d:`M 10 30 Q ${(width+20)/2} 10, ${width+10} 24`,stroke:color,strokeWidth:\"16\",strokeLinecap:\"round\",fill:\"none\",initial:{pathLength:0},animate:{pathLength:isVisible?1:0},transition:{type:\"spring\",stiffness:200,damping:25,delay:isVisible?delay:0}})});return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"inline-block\",fontFamily:\"Neue Regrade Extrabold\",fontWeight:800,cursor:\"pointer\"},onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),children:[/*#__PURE__*/_jsx(\"style\",{children:keyframesCSS}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",marginBottom:line1FontSize*.1},children:[/*#__PURE__*/_jsxs(\"div\",{ref:line1Ref,style:{display:\"flex\",fontSize:line1FontSize,letterSpacing:\"-0.03em\",lineHeight:1,position:\"relative\",zIndex:1},children:[namePart.split(\"\").map((letter,index)=>/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",color:textColor,animation:isHovered?`bounce 0.4s ease-in-out ${index*staggerDelay}s forwards`:\"none\"},children:letter},`name-${index}`)),/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",color:accentColor,animation:isHovered?`bounce 0.4s ease-in-out ${namePart.length*staggerDelay}s forwards`:\"none\"},children:\"@\"})]}),/*#__PURE__*/_jsx(CurvedUnderline,{width:line1Width*.95,color:accentColor,isVisible:isHovered,delay:line1.length*staggerDelay+.1})]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},children:[/*#__PURE__*/_jsxs(\"div\",{ref:line2Ref,style:{display:\"flex\",fontSize:line2FontSize,letterSpacing:\"-0.03em\",lineHeight:1,position:\"relative\",zIndex:1},children:[domainName.split(\"\").map((letter,index)=>{const globalIndex=line1.length+index;return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",color:textColor,animation:isHovered?`bounce 0.4s ease-in-out ${globalIndex*staggerDelay}s forwards`:\"none\"},children:letter},`domain-${index}`);}),domainExt.split(\"\").map((letter,index)=>{const globalIndex=line1.length+domainName.length+index;return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",color:accentColor,animation:isHovered?`bounce 0.4s ease-in-out ${globalIndex*staggerDelay}s forwards`:\"none\"},children:letter},`ext-${index}`);})]}),/*#__PURE__*/_jsx(CurvedUnderline,{width:line2Width,color:accentColor,isVisible:isHovered,delay:totalLetters*staggerDelay+.1})]})]});};addPropertyControls(EmailLetterBounce,{email:{type:ControlType.String,title:\"Email\",defaultValue:\"ajay@shopos.ai\"},line1FontSize:{type:ControlType.Number,title:\"Line 1 Size\",defaultValue:140,min:20,max:300,step:2,unit:\"px\",displayStepper:true},line2FontSize:{type:ControlType.Number,title:\"Line 2 Size\",defaultValue:116,min:20,max:300,step:2,unit:\"px\",displayStepper:true},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\"},accentColor:{type:ControlType.Color,title:\"Accent Color\",defaultValue:\"#FE6D00\"},bounceHeight:{type:ControlType.Number,title:\"Bounce Height\",defaultValue:15,min:4,max:40,step:1,unit:\"px\",displayStepper:true},staggerDelay:{type:ControlType.Number,title:\"Stagger Delay\",defaultValue:.04,min:.01,max:.1,step:.01,unit:\"s\",displayStepper:true}});export default EmailLetterBounce;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"EmailLetterBounce\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./EmailLetterBounce.map","// Framer Code Component: Lorenzo Interactive Portrait (Exact Replica)\n//\n// This is an exact recreation of the Three.js animation from the Lorenzo\n// Motocross landing page. It uses Three.js loaded from CDN.\n//\n// SETUP INSTRUCTIONS:\n// 1. Host your images on Vercel (or any CDN)\n// 2. Set the baseImageUrl and revealImageUrl props to your hosted image URLs\n// 3. The component will load Three.js automatically from CDN\n//\n// Example Vercel URLs:\n// - https://your-project.vercel.app/images/hero-off.png\n// - https://your-project.vercel.app/images/hero-on.png\nfunction _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef,useState}from\"react\";export default function LorenzoInteractivePortrait({baseImageUrl=\"https://your-vercel-project.vercel.app/images/hero-off.png\",revealImageUrl=\"https://your-vercel-project.vercel.app/images/hero-on.png\",backgroundColor=\"#090A0C\",blobRadius=.35,blobFadeSpeed=2.5,mobileBreakpoint=768,mobileImagePosition=\"bottom\",fadeInDelay=.2,fadeInDuration=.8}){const containerRef=useRef(null);const cleanupRef=useRef(null);const initializedRef=useRef(false);const[isReady,setIsReady]=useState(false);useEffect(()=>{if(!containerRef.current||initializedRef.current)return;const loadThreeJS=async()=>{if(window.THREE){initScene(window.THREE);return;}const script=document.createElement(\"script\");script.src=\"https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js\";script.async=true;script.onload=()=>{if(window.THREE){initScene(window.THREE);}};document.head.appendChild(script);};const initScene=THREE=>{const container=containerRef.current;if(!container)return;const width=container.clientWidth;const height=container.clientHeight;if(width===0||height===0){setTimeout(()=>initScene(THREE),50);return;}initializedRef.current=true;// Check if mobile\nconst isMobile=width<mobileBreakpoint;const gu={time:{value:0},dTime:{value:0},aspect:{value:width/height}};const scene=new THREE.Scene;scene.background=new THREE.Color(backgroundColor);const camera=new THREE.OrthographicCamera(width/-2,width/2,height/2,height/-2,.1,1e3);camera.position.z=1;const renderer=new THREE.WebGLRenderer({antialias:true,alpha:true});renderer.setSize(width,height);renderer.setPixelRatio(Math.min(window.devicePixelRatio,2));container.appendChild(renderer.domElement);// Trigger fade-in after delay\nsetTimeout(()=>{setIsReady(true);},fadeInDelay*1e3);class Blob{render(){this.renderer.setRenderTarget(this.rtOutput);this.renderer.render(this.rtScene,this.rtCamera);this.renderer.setRenderTarget(null);const temp=this.prevRenderTarget;this.prevRenderTarget=this.rtOutput;this.rtOutput=temp;this.uniforms.prevFrame.value=this.prevRenderTarget.texture;}constructor(renderer){_define_property(this,\"renderer\",void 0);_define_property(this,\"rtOutput\",void 0);_define_property(this,\"rtScene\",void 0);_define_property(this,\"rtCamera\",void 0);_define_property(this,\"uniforms\",void 0);_define_property(this,\"prevRenderTarget\",void 0);this.renderer=renderer;this.rtOutput=new THREE.WebGLRenderTarget(width,height,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat});this.prevRenderTarget=new THREE.WebGLRenderTarget(width,height,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat});this.uniforms={pointer:{value:new THREE.Vector2(10,10)},pointerDown:{value:1},pointerRadius:{value:blobRadius},pointerDuration:{value:blobFadeSpeed},prevFrame:{value:this.prevRenderTarget.texture},time:gu.time,dTime:gu.dTime,aspect:gu.aspect};const handleMouseMove=event=>{const rect=container.getBoundingClientRect();this.uniforms.pointer.value.x=(event.clientX-rect.left)/width*2-1;this.uniforms.pointer.value.y=-((event.clientY-rect.top)/height)*2+1;};const handleTouchMove=event=>{if(event.touches.length>0){const rect=container.getBoundingClientRect();const touch=event.touches[0];this.uniforms.pointer.value.x=(touch.clientX-rect.left)/width*2-1;this.uniforms.pointer.value.y=-((touch.clientY-rect.top)/height)*2+1;}};const handleMouseLeave=()=>{this.uniforms.pointer.value.set(10,10);};container.addEventListener(\"mousemove\",handleMouseMove);container.addEventListener(\"touchmove\",handleTouchMove);container.addEventListener(\"mouseleave\",handleMouseLeave);container.addEventListener(\"touchend\",handleMouseLeave);const blobMaterial=new THREE.ShaderMaterial({uniforms:this.uniforms,vertexShader:`\n                            varying vec2 vUv;\n                            void main() {\n                                vUv = uv;\n                                gl_Position = vec4(position.xy, 0.0, 1.0);\n                            }\n                        `,fragmentShader:`\n                            uniform float time, dTime, aspect, pointerDown, pointerRadius, pointerDuration;\n                            uniform vec2 pointer;\n                            uniform sampler2D prevFrame;\n                            varying vec2 vUv;\n\n                            float hash(vec2 p) { \n                                return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123); \n                            }\n                            \n                            float noise(vec2 p) {\n                                vec2 i = floor(p); \n                                vec2 f = fract(p); \n                                f = f * f * (3.0 - 2.0 * f);\n                                float a = hash(i); \n                                float b = hash(i + vec2(1.0, 0.0)); \n                                float c = hash(i + vec2(0.0, 1.0)); \n                                float d = hash(i + vec2(1.0, 1.0));\n                                return mix(mix(a, b, f.x), mix(c, d, f.x), f.y);\n                            }\n\n                            void main() {\n                                float rVal = texture2D(prevFrame, vUv).r;\n                                rVal -= clamp(dTime / pointerDuration, 0.0, 0.05);\n                                rVal = clamp(rVal, 0.0, 1.0);\n                                \n                                float f = 0.0;\n                                if (pointerDown > 0.5) {\n                                    vec2 uv = (vUv - 0.5) * 2.0 * vec2(aspect, 1.0);\n                                    vec2 mouse = pointer * vec2(aspect, 1.0);\n                                    vec2 toMouse = uv - mouse;\n                                    float angle = atan(toMouse.y, toMouse.x);\n                                    float dist = length(toMouse);\n                                    \n                                    float noiseVal = noise(vec2(angle * 3.0 + time * 0.5, dist * 5.0));\n                                    float noiseVal2 = noise(vec2(angle * 5.0 - time * 0.3, dist * 3.0 + time));\n                                    float radiusVariation = 0.7 + noiseVal * 0.5 + noiseVal2 * 0.3;\n                                    float organicRadius = pointerRadius * radiusVariation;\n                                    \n                                    f = 1.0 - smoothstep(organicRadius * 0.05, organicRadius * 1.2, dist);\n                                    f *= 0.8 + noiseVal * 0.2;\n                                }\n                                \n                                rVal += f * 0.25;\n                                rVal = clamp(rVal, 0.0, 1.0);\n                                \n                                gl_FragColor = vec4(vec3(rVal), 1.0);\n                            }\n                        `});this.rtScene=new THREE.Mesh(new THREE.PlaneGeometry(2,2),blobMaterial);this.rtCamera=new THREE.Camera;}}const blob=new Blob(renderer);const textureLoader=new THREE.TextureLoader;textureLoader.crossOrigin=\"anonymous\";let baseImage;let helmetImage;let bgPlane;// Function to calculate image position based on device\nconst calculateImagePosition=(planeHeight,containerHeight,isMobileDevice)=>{if(!isMobileDevice){return 0// Centered on desktop/tablet\n;}// On mobile, position based on setting\nswitch(mobileImagePosition){case\"bottom\":return-(containerHeight/2)+planeHeight/2;case\"top\":return containerHeight/2-planeHeight/2;case\"center\":default:return 0;}};const baseTexture=textureLoader.load(baseImageUrl,texture=>{texture.encoding=THREE.sRGBEncoding;const img=texture.image;const imgAspect=img.width/img.height;const containerAspect=width/height;let planeWidth,planeHeight;if(imgAspect>containerAspect){planeWidth=width;planeHeight=width/imgAspect;}else{planeHeight=height;planeWidth=height*imgAspect;}baseImage.geometry.dispose();baseImage.geometry=new THREE.PlaneGeometry(planeWidth,planeHeight);// Position image based on device\nconst yPosition=calculateImagePosition(planeHeight,height,isMobile);baseImage.position.y=yPosition;if(helmetImage){helmetImage.geometry.dispose();helmetImage.geometry=new THREE.PlaneGeometry(planeWidth,planeHeight);helmetImage.position.y=yPosition;}});const helmetTexture=textureLoader.load(revealImageUrl,texture=>{texture.encoding=THREE.sRGBEncoding;});const baseImageMaterial=new THREE.MeshBasicMaterial({map:baseTexture,transparent:true});baseImage=new THREE.Mesh(new THREE.PlaneGeometry(width,height),baseImageMaterial);scene.add(baseImage);const bgPlaneMaterial=new THREE.ShaderMaterial({uniforms:{texBlob:{value:blob.rtOutput.texture},time:gu.time},vertexShader:`\n                    varying vec2 vUv;\n                    varying vec4 vPosProj;\n                    void main() {\n                        vUv = uv;\n                        gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n                        vPosProj = gl_Position;\n                    }\n                `,fragmentShader:`\n                    uniform sampler2D texBlob;\n                    uniform float time;\n                    varying vec2 vUv;\n                    varying vec4 vPosProj;\n\n                    float hash(vec2 p) { \n                        return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123); \n                    }\n                    \n                    float noise(vec2 p) {\n                        vec2 i = floor(p); \n                        vec2 f = fract(p); \n                        f = f * f * (3.0 - 2.0 * f);\n                        float a = hash(i); \n                        float b = hash(i + vec2(1.0, 0.0)); \n                        float c = hash(i + vec2(0.0, 1.0)); \n                        float d = hash(i + vec2(1.0, 1.0));\n                        return mix(mix(a, b, f.x), mix(c, d, f.x), f.y);\n                    }\n                    \n                    float fbm(vec2 p) {\n                        float value = 0.0;\n                        float amplitude = 0.5;\n                        for (int i = 0; i < 4; i++) {\n                            value += amplitude * noise(p);\n                            p *= 2.1;\n                            amplitude *= 0.3;\n                        }\n                        return value;\n                    }\n\n                    void main() {\n                        vec2 blobUV = ((vPosProj.xy / vPosProj.w) + 1.0) * 0.5;\n                        vec4 blobData = texture2D(texBlob, blobUV);\n                        \n                        if (blobData.r < 0.02) discard;\n\n                        // Inverted colors (dark background)\n                        vec3 colorBg = vec3(0.0);           // Black #000000\n                        vec3 colorSoftShape = vec3(0.08);   // Dark grey #141414\n                        vec3 colorLine = vec3(0.996, 0.427, 0.0);  // Orange #FE6D00\n\n                        vec2 uv = vUv * 3.5;\n                        vec2 distortionField = vUv * 2.0;\n                        float distortion = fbm(distortionField + time * 0.2);\n                        float distortionStrength = 0.7;\n                        vec2 warpedUv = uv + (distortion - 0.5) * distortionStrength;\n                        float n = fbm(warpedUv);\n\n                        float softShapeMix = smoothstep(0.1, 0.9, sin(n * 3.0));\n                        vec3 baseColor = mix(colorBg, colorSoftShape, softShapeMix);\n                        float linePattern = fract(n * 15.0);\n                        float lineMix = 1.0 - smoothstep(0.49, 0.51, linePattern);\n                        vec3 finalColor = mix(baseColor, colorLine, lineMix);\n\n                        gl_FragColor = vec4(finalColor, 1.0);\n                    }\n                `,transparent:true});bgPlane=new THREE.Mesh(new THREE.PlaneGeometry(width,height),bgPlaneMaterial);scene.add(bgPlane);const helmetImageMaterial=new THREE.ShaderMaterial({uniforms:{texBlob:{value:blob.rtOutput.texture},map:{value:helmetTexture}},vertexShader:`\n                    varying vec2 vUv;\n                    varying vec4 vPosProj;\n                    void main() {\n                        vUv = uv;\n                        gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n                        vPosProj = gl_Position;\n                    }\n                `,fragmentShader:`\n                    uniform sampler2D texBlob;\n                    uniform sampler2D map;\n                    varying vec2 vUv;\n                    varying vec4 vPosProj;\n\n                    void main() {\n                        vec2 blobUV = ((vPosProj.xy / vPosProj.w) + 1.0) * 0.5;\n                        vec4 blobData = texture2D(texBlob, blobUV);\n                        \n                        if (blobData.r < 0.02) discard;\n\n                        vec4 texColor = texture2D(map, vUv);\n                        gl_FragColor = texColor;\n                    }\n                `,transparent:true});helmetImage=new THREE.Mesh(new THREE.PlaneGeometry(width,height),helmetImageMaterial);scene.add(helmetImage);baseImage.position.z=0;bgPlane.position.z=.05;helmetImage.position.z=.1;const clock=new THREE.Clock;let animationId;const animate=()=>{const dt=clock.getDelta();gu.time.value+=dt;gu.dTime.value=dt;bgPlaneMaterial.uniforms.texBlob.value=blob.rtOutput.texture;helmetImageMaterial.uniforms.texBlob.value=blob.rtOutput.texture;blob.render();renderer.render(scene,camera);animationId=requestAnimationFrame(animate);};animate();const handleResize=()=>{const newWidth=container.clientWidth;const newHeight=container.clientHeight;if(newWidth===0||newHeight===0)return;const isNowMobile=newWidth<mobileBreakpoint;camera.left=newWidth/-2;camera.right=newWidth/2;camera.top=newHeight/2;camera.bottom=newHeight/-2;camera.updateProjectionMatrix();renderer.setSize(newWidth,newHeight);gu.aspect.value=newWidth/newHeight;if(baseTexture.image){const img=baseTexture.image;const imgAspect=img.width/img.height;const containerAspect=newWidth/newHeight;let planeWidth,planeHeight;if(imgAspect>containerAspect){planeWidth=newWidth;planeHeight=newWidth/imgAspect;}else{planeHeight=newHeight;planeWidth=newHeight*imgAspect;}baseImage.geometry.dispose();baseImage.geometry=new THREE.PlaneGeometry(planeWidth,planeHeight);helmetImage.geometry.dispose();helmetImage.geometry=new THREE.PlaneGeometry(planeWidth,planeHeight);bgPlane.geometry.dispose();bgPlane.geometry=new THREE.PlaneGeometry(newWidth,newHeight);// Update position based on new size\nconst yPosition=calculateImagePosition(planeHeight,newHeight,isNowMobile);baseImage.position.y=yPosition;helmetImage.position.y=yPosition;}};window.addEventListener(\"resize\",handleResize);cleanupRef.current=()=>{window.removeEventListener(\"resize\",handleResize);cancelAnimationFrame(animationId);if(container.contains(renderer.domElement)){container.removeChild(renderer.domElement);}renderer.dispose();baseTexture.dispose();helmetTexture.dispose();blob.rtOutput.dispose();blob.prevRenderTarget.dispose();scene.traverse(object=>{if(object.geometry)object.geometry.dispose();if(object.material){if(Array.isArray(object.material)){object.material.forEach(m=>m.dispose());}else{object.material.dispose();}}});};};loadThreeJS();return()=>{if(cleanupRef.current){cleanupRef.current();cleanupRef.current=null;}initializedRef.current=false;};},[baseImageUrl,revealImageUrl,backgroundColor,blobRadius,blobFadeSpeed,mobileBreakpoint,mobileImagePosition,fadeInDelay]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",backgroundColor,cursor:\"default\",overflow:\"hidden\",touchAction:\"none\",position:\"relative\"},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundColor:backgroundColor,opacity:isReady?0:1,transition:`opacity ${fadeInDuration}s ease-out`,pointerEvents:isReady?\"none\":\"auto\",zIndex:10}})});}addPropertyControls(LorenzoInteractivePortrait,{baseImageUrl:{type:ControlType.String,title:\"Base Image URL\",description:\"URL to the base image (without helmet)\",defaultValue:\"https://your-vercel-project.vercel.app/images/hero-off.png\"},revealImageUrl:{type:ControlType.String,title:\"Reveal Image URL\",description:\"URL to the reveal image (with helmet)\",defaultValue:\"https://your-vercel-project.vercel.app/images/hero-on.png\"},backgroundColor:{type:ControlType.Color,title:\"Background Color\",defaultValue:\"#090A0C\"},blobRadius:{type:ControlType.Number,title:\"Blob Size\",defaultValue:.35,min:.1,max:1,step:.05,description:\"Size of the reveal blob\"},blobFadeSpeed:{type:ControlType.Number,title:\"Fade Speed\",defaultValue:2.5,min:.5,max:5,step:.1,description:\"How fast the blob fades\"},mobileBreakpoint:{type:ControlType.Number,title:\"Mobile Breakpoint\",defaultValue:768,min:320,max:1024,step:1,unit:\"px\",description:\"Width below which mobile positioning applies\"},mobileImagePosition:{type:ControlType.Enum,title:\"Mobile Position\",defaultValue:\"bottom\",options:[\"bottom\",\"center\",\"top\"],optionTitles:[\"Bottom\",\"Center\",\"Top\"],description:\"Image position on mobile devices\"},fadeInDelay:{type:ControlType.Number,title:\"Fade In Delay\",defaultValue:.2,min:0,max:2,step:.1,unit:\"s\",description:\"Delay before fade in starts\"},fadeInDuration:{type:ControlType.Number,title:\"Fade In Duration\",defaultValue:.8,min:.1,max:3,step:.1,unit:\"s\",description:\"How long the fade in animation takes\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LorenzoInteractivePortrait\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LorenzoInteractivePortrait.map","// Generated by Framer (02004a2)\nexport default function metadata(params,activeLocale){return{description:\"Create and run commerce systems that think for themselves.\",favicon:\"https://framerusercontent.com/assets/w7KvarTro5PNgGgWyTPASN8BUM.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/Gxkxuyj4V4snO1t5zDOGtj9SA.png\",title:\"Ajay PV | Building ShopOS\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (02004a2)\nimport siteMetadata from\"https://framerusercontent.com/modules/unMugBafMIiBthAYP7eq/moKFe7vt5n290kwEOA16/siteMetadata.js\";export default function metadata(params,activeLocale){return{breakpoints:[{hash:\"72rtr7\",mediaQuery:\"(min-width: 1440px)\"},{hash:\"m3irj0\",mediaQuery:\"(min-width: 1000px) and (max-width: 1439.98px)\"},{hash:\"5ntll5\",mediaQuery:\"(min-width: 810px) and (max-width: 999.98px)\"},{hash:\"90sqtx\",mediaQuery:\"(max-width: 809.98px)\"}],description:siteMetadata(params,activeLocale).description,elements:{Dmkji1AWt:\"my-thesis\",hdJmVqnPT:\"whi4\",HfTQbWcaz:\"whi1\",hYmrCCNQt:\"about-1\",JOkR93D6F:\"work\",LfdzWov9L:\"whi1-3\",QB02S0a53:\"whi1-2\",u0EbhQrWw:\"contact\",UZH61u4bt:\"about\",vIcuJSLjn:\"whi1-1\",VLAOgD4md:\"about-3\",xncRtHxEj:\"about-2\",zz6Vb161I:\"whi2\"},robots:\"max-image-preview:large\",serializationId:\"framer-zXyoy\",socialImage:\"https://framerusercontent.com/assets/Gxkxuyj4V4snO1t5zDOGtj9SA.png\",title:siteMetadata(params,activeLocale).title||\"Home\",viewport:\"width=device-width\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (02004a2)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,getLoadingLazyAtYPosition,Image,Link,PropertyOverrides,RichText,SVG,useComponentViewport,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,useMetadata,useRouteElementId,withCSS,withFX,withOptimizedAppearEffect}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import CurrencyEth from\"https://framerusercontent.com/modules/5raBGd4KDRcUTz8ojjLf/7o8iqFulnPaGKDZXUCFi/SJfDxsK1u.js\";import Ticker from\"https://framerusercontent.com/modules/B2xAlJLcN0gOnt11mSPw/plhC5PVnCMllW5QXjFK5/Ticker.js\";import Play from\"https://framerusercontent.com/modules/HAXb8usAsbryfPorbMS4/szDG4SSfU1UCFng50IhF/nyoPQewhK.js\";import Reveal from\"https://framerusercontent.com/modules/iF2BK3XJGo26hqTEzvZb/JmouPMNIChcfxCFyYd75/Text_reveal.js\";import CookingPot from\"https://framerusercontent.com/modules/iu0p202iEjNfPwRyYr9k/zchUf4GIYlz0eAFi943k/MGKQMYcU_.js\";import BowlingBall from\"https://framerusercontent.com/modules/IW8eT5WIk3KTWFMS60ea/RnmeAR2cnxQveMoaotee/ROMgNYbWo.js\";import Physics from\"https://framerusercontent.com/modules/J5dvZmKgCR2VeJUGUW9R/NOka49dL3NFIzOG8ITuA/Physics.js\";import{Video}from\"https://framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/7qT0r3So12155VV5Jq5x/Video.js\";import Dog from\"https://framerusercontent.com/modules/mnUzXNoSANQW9sdZt1dp/uyBl5cgMASxoO0ySyB2t/ld7AB1Ee5.js\";import BuildingApartment from\"https://framerusercontent.com/modules/nHWpbcOHROwZuHrCuGcp/QkZJMqtGBwYQnlno0lGp/mkmWZVJfb.js\";import AirplaneTakeoff from\"https://framerusercontent.com/modules/oRZNz1OhAISK82DtcOGB/N62yml5nm6Kfn4RfwfiC/nIWEFZ57c.js\";import City from\"https://framerusercontent.com/modules/sAXeBdgUfCO8OkP6W85o/m7gbS9fiDJD3PfwUSOpB/L7I4zONfC.js\";import BluetoothConnected from\"https://framerusercontent.com/modules/SXms8QPV7HOdv0ymi7XL/xwXB3bgRHYCQxlj7S87e/WaQj1TO0h.js\";import XTwitter from\"https://framerusercontent.com/modules/Xh2LpCymrJOcnDpnJmXt/11az79mLGUbrG0BpGFNC/Gw5FKyFcZ.js\";import Baby from\"https://framerusercontent.com/modules/XZjGh6WNSSoYvnWKMVf4/TznB3kyVH5yQerzixc4h/DxG26HiGs.js\";import{Lottie}from\"https://framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/RLfsHd78NBd0kbafA9hd/Lottie.js\";import Cube from\"https://framerusercontent.com/modules/Z3SvZ0jTKaMZmlhJRmcE/mkaBUKIOEu7xMwHKV3w4/O8tBtOdoQ.js\";import TennisBall from\"https://framerusercontent.com/modules/zPrwTKz9iM7sILyOOAPR/kJGJ0UHfX5g4v9E9poiq/AX0IJInwb.js\";import Instagram from\"#framer/local/canvasComponent/a2Ip4OGR8/a2Ip4OGR8.js\";import Ajay from\"#framer/local/canvasComponent/acIUa1w7M/acIUa1w7M.js\";import Timeline from\"#framer/local/canvasComponent/c6_VdooEz/c6_VdooEz.js\";import Cursor from\"#framer/local/canvasComponent/EE0ef5Dt3/EE0ef5Dt3.js\";import Place from\"#framer/local/canvasComponent/v3HOliX1U/v3HOliX1U.js\";import Client from\"#framer/local/canvasComponent/whZQTHvh0/whZQTHvh0.js\";import EmailLetterBounce from\"#framer/local/codeFile/x8U54Mu/EmailLetterBounce.js\";import LorenzoInteractivePortrait from\"#framer/local/codeFile/bL1U5MN/LorenzoInteractivePortrait.js\";import metadataProvider from\"#framer/local/webPageMetadata/augiA20Il/augiA20Il.js\";const LorenzoInteractivePortraitFonts=getFonts(LorenzoInteractivePortrait);const ContainerWithOptimizedAppearEffect=withOptimizedAppearEffect(Container);const LottieFonts=getFonts(Lottie);const MotionDivWithOptimizedAppearEffect=withOptimizedAppearEffect(motion.div);const PlaceFonts=getFonts(Place);const AjayFonts=getFonts(Ajay);const TickerFonts=getFonts(Ticker);const MotionDivWithFX=withFX(motion.div);const VideoFonts=getFonts(Video);const PlayFonts=getFonts(Play);const CubeFonts=getFonts(Cube);const CurrencyEthFonts=getFonts(CurrencyEth);const MotionSectionWithFX=withFX(motion.section);const TimelineFonts=getFonts(Timeline);const RevealFonts=getFonts(Reveal);const ImageWithFX=withFX(Image);const BabyFonts=getFonts(Baby);const DogFonts=getFonts(Dog);const CookingPotFonts=getFonts(CookingPot);const TennisBallFonts=getFonts(TennisBall);const BowlingBallFonts=getFonts(BowlingBall);const BluetoothConnectedFonts=getFonts(BluetoothConnected);const BuildingApartmentFonts=getFonts(BuildingApartment);const CityFonts=getFonts(City);const AirplaneTakeoffFonts=getFonts(AirplaneTakeoff);const PhysicsFonts=getFonts(Physics);const ClientFonts=getFonts(Client);const EmailLetterBounceFonts=getFonts(EmailLetterBounce);const InstagramFonts=getFonts(Instagram);const XTwitterFonts=getFonts(XTwitter);const CursorFonts=getFonts(Cursor);const breakpoints={avdoUquCU:\"(min-width: 1000px) and (max-width: 1439.98px)\",CWxCCguB2:\"(max-width: 809.98px)\",WQLkyLRf1:\"(min-width: 1440px)\",Y9g6bPdzL:\"(min-width: 810px) and (max-width: 999.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-zXyoy\";const variantClassNames={avdoUquCU:\"framer-v-m3irj0\",CWxCCguB2:\"framer-v-90sqtx\",WQLkyLRf1:\"framer-v-72rtr7\",Y9g6bPdzL:\"framer-v-5ntll5\"};const getRootLayoutProp=(hasLayoutTemplate,hasInheritedFlowEffect,fallback)=>{if(!hasLayoutTemplate)return fallback;return hasInheritedFlowEffect?\"position\":fallback;};const transition1={delay:.2,duration:.6,ease:[.44,0,.56,1],type:\"tween\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition1,x:0,y:0};const animation1={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:0};const transition2={delay:0,duration:.4,ease:[.44,0,.56,1],type:\"tween\"};const animation2={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,x:0,y:0};const transformTemplate1=(_,t)=>`translateX(-50%) ${t}`;const animation3={opacity:.001,rotate:0,scale:1,skewX:0,skewY:0,x:0,y:10};const transition3={delay:.075,duration:.4,ease:[.44,0,.56,1],type:\"tween\"};const textEffect={effect:animation3,tokenization:\"word\",transition:transition3,trigger:\"onMount\",type:\"appear\"};const animation4={opacity:.001,rotate:0,scale:1,skewX:0,skewY:0,x:0,y:6};const textEffect1={effect:animation4,startDelay:.3,tokenization:\"word\",transition:transition3,trigger:\"onMount\",type:\"appear\"};const transformTemplate2=(_,t)=>`translate(-50%, -50%) ${t}`;const animation5={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:20};const transition4={delay:.5,duration:.5,ease:[.44,0,.56,1],type:\"tween\"};const animation6={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition4,x:0,y:20};const transition5={bounce:0,delay:.075,duration:.4,type:\"spring\"};const textEffect2={effect:animation4,threshold:.5,tokenization:\"word\",transition:transition5,trigger:\"onInView\",type:\"appear\"};const transition6={delay:0,duration:.6,ease:[.44,0,.56,1],type:\"tween\"};const transition7={delay:.7,duration:.5,ease:[.44,0,.56,1],type:\"tween\"};const animation7={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition7,x:0,y:20};const animation8={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:0};const transition8={delay:.9,duration:.5,ease:[.44,0,.56,1],type:\"tween\"};const animation9={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition8,x:0,y:0};const animation10={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:30};const animation11={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:140};const transition9={bounce:0,delay:0,duration:1,type:\"spring\"};const addImageAlt=(image,alt)=>{if(!image||typeof image!==\"object\"){return;}return{...image,alt};};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const humanReadableVariantMap={Desktop:\"WQLkyLRf1\",Lap:\"avdoUquCU\",Phone:\"CWxCCguB2\",Tablet:\"Y9g6bPdzL\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"WQLkyLRf1\"};};const cursor={component:Cursor,variant:\"BQNcdzQyf\"};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const metadata=React.useMemo(()=>metadataProvider({},activeLocale),[activeLocale]);useMetadata(metadata);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const hasLayoutTemplate=React.useContext(GeneratedComponentContext)?.isLayoutTemplate;const hasInheritedFlowEffect=Boolean(React.useContext(MotionConfigContext)?.transition?.layout);const motionLayout=getRootLayoutProp(hasLayoutTemplate,hasInheritedFlowEffect);const isDisplayed=()=>{if(!isBrowser())return true;if(baseVariant===\"CWxCCguB2\")return false;return true;};const isDisplayed1=()=>{if(!isBrowser())return true;if(baseVariant===\"CWxCCguB2\")return true;return false;};const elementId=useRouteElementId(\"UZH61u4bt\");const ref1=React.useRef(null);const elementId1=useRouteElementId(\"hYmrCCNQt\");const ref2=React.useRef(null);const isDisplayed2=()=>{if(!isBrowser())return true;if([\"Y9g6bPdzL\",\"CWxCCguB2\"].includes(baseVariant))return false;return true;};const isDisplayed3=()=>{if(!isBrowser())return true;if(baseVariant===\"Y9g6bPdzL\")return true;return false;};const elementId2=useRouteElementId(\"Dmkji1AWt\");const ref3=React.useRef(null);const elementId3=useRouteElementId(\"xncRtHxEj\");const ref4=React.useRef(null);const elementId4=useRouteElementId(\"u0EbhQrWw\");const ref5=React.useRef(null);useCustomCursors({\"1zx6rb\":cursor});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{primaryVariantId:\"WQLkyLRf1\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\"html body { background: var(--token-010b0db2-3da8-478c-9431-ed687e622849, rgb(9, 10, 12)); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-72rtr7\",className),ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1ce3lk2\",layout:motionLayout,children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(ContainerWithOptimizedAppearEffect,{animate:animation,className:\"framer-9eqbgt-container\",\"data-framer-appear-id\":\"9eqbgt\",initial:animation1,isAuthoredByUser:true,nodeId:\"IAQFpHFYh\",optimized:true,rendersWithMotion:true,scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{blobFadeSpeed:2,blobRadius:.2}},children:/*#__PURE__*/_jsx(LorenzoInteractivePortrait,{backgroundColor:\"rgb(9, 10, 12)\",baseImageUrl:\"https://ajaypv.vercel.app/images/ajaypv-off.png\",blobFadeSpeed:2.5,blobRadius:.35,fadeInDelay:.5,fadeInDuration:.9,height:\"100%\",id:\"IAQFpHFYh\",layoutId:\"IAQFpHFYh\",mobileBreakpoint:500,mobileImagePosition:\"bottom\",revealImageUrl:\"https://ajaypv.vercel.app/images/ajaypv-on.png\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{transformTemplate:transformTemplate1},Y9g6bPdzL:{transformTemplate:transformTemplate1}},children:/*#__PURE__*/_jsxs(MotionDivWithOptimizedAppearEffect,{animate:animation2,className:\"framer-1ijbad4\",\"data-framer-appear-id\":\"1ijbad4\",initial:animation1,optimized:true,children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"Hi, I'm Ajay\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"40px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"Hi, I'm Ajay\"})}),className:\"framer-1hm7u2d\",effect:textEffect,fonts:[\"CUSTOMV2;Neue Regrade Extrabold\"],verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIE1lZGl1bQ==\",\"--framer-font-family\":'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"20px\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"I build internet primitives that power commerce.\"})}),className:\"framer-1m4o69m\",effect:textEffect1,fonts:[\"CUSTOMV2;Neue Regrade Medium\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-15drsev-container\",\"data-framer-name\":\"Wave\",isAuthoredByUser:true,isModuleExternal:true,name:\"Wave\",nodeId:\"mFlzIVnYp\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Lottie,{height:\"100%\",id:\"mFlzIVnYp\",isForwardsDirection:true,layoutId:\"mFlzIVnYp\",loop:true,name:\"Wave\",pauseOnCanvas:false,playing:true,poster:\"Auto\",posterProgress:0,progress:0,speed:1,srcType:\"URL\",srcUrl:\"https://framerusercontent.com/assets/w5cI1EiCVrSnE3ZhPArYj65LDYk.json\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]})})]}),isDisplayed()&&/*#__PURE__*/_jsx(motion.section,{className:\"framer-w5hgzp hidden-90sqtx\",\"data-border\":true,\"data-framer-name\":\"Border-Ticker\",layout:motionLayout,children:/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__spring:{bounce:0,damping:60,delay:0,duration:.2,durationBasedSpring:true,ease:[.44,0,.56,1],mass:1,stagger:0,stiffness:500,type:\"spring\"},__framer__styleTransformEffectEnabled:true,__framer__transformTargets:[{target:{opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:0}},{target:{opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:-1800,y:0}}],__framer__transformTrigger:\"onScroll\",__perspectiveFX:false,__targetOpacity:1,className:\"framer-1d1eykn\",\"data-framer-name\":\"Length\",children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-198d5cd\",\"data-framer-name\":\"Ani\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1jforzm-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"VqcFsMTcX\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Ticker,{alignment:\"center\",direction:\"left\",fadeOptions:{fadeAlpha:0,fadeContent:false,fadeInset:0,fadeWidth:25,overflow:false},gap:40,height:\"100%\",hoverFactor:1,id:\"VqcFsMTcX\",layoutId:\"VqcFsMTcX\",padding:0,paddingBottom:0,paddingLeft:0,paddingPerSide:false,paddingRight:0,paddingTop:0,sizingOptions:{heightType:true,widthType:true},slots:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:55,width:\"163px\",children:/*#__PURE__*/_jsx(Container,{className:\"framer-1s96zdl-container\",inComponentSlot:true,nodeId:\"BlejW8it3\",rendersWithMotion:true,scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Place,{height:\"100%\",id:\"BlejW8it3\",layoutId:\"BlejW8it3\",variant:\"nTSxW_t9I\",width:\"100%\"})})}),/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:48,intrinsicWidth:56,pixelHeight:48,pixelWidth:56,sizes:\"13px\",src:\"https://framerusercontent.com/images/fuX6Y7k2xAKdy47Ton1GiV7LO5A.png?width=56&height=48\"},className:\"framer-rvmwwh\",\"data-framer-name\":\"Svgviewer-png-output (3)\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:55,width:\"203px\",children:/*#__PURE__*/_jsx(Container,{className:\"framer-1a76qj9-container\",inComponentSlot:true,nodeId:\"CIJzYKJR9\",rendersWithMotion:true,scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Place,{height:\"100%\",id:\"CIJzYKJR9\",layoutId:\"CIJzYKJR9\",variant:\"jwkUlh2D9\",width:\"100%\"})})}),/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:48,intrinsicWidth:56,pixelHeight:48,pixelWidth:56,sizes:\"13px\",src:\"https://framerusercontent.com/images/fuX6Y7k2xAKdy47Ton1GiV7LO5A.png?width=56&height=48\"},className:\"framer-rvmwwh\",\"data-framer-name\":\"Svgviewer-png-output (3)\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:55,width:\"138px\",children:/*#__PURE__*/_jsx(Container,{className:\"framer-c3k29n-container\",inComponentSlot:true,nodeId:\"b5sZcZye_\",rendersWithMotion:true,scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Place,{height:\"100%\",id:\"b5sZcZye_\",layoutId:\"b5sZcZye_\",variant:\"TpdCwZIaI\",width:\"100%\"})})}),/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:48,intrinsicWidth:56,pixelHeight:48,pixelWidth:56,sizes:\"13px\",src:\"https://framerusercontent.com/images/fuX6Y7k2xAKdy47Ton1GiV7LO5A.png?width=56&height=48\"},className:\"framer-rvmwwh\",\"data-framer-name\":\"Svgviewer-png-output (3)\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:70,width:\"138px\",children:/*#__PURE__*/_jsx(Container,{className:\"framer-u1eg73-container\",\"data-framer-name\":\"ajay\",inComponentSlot:true,name:\"ajay\",nodeId:\"j348mnORe\",rendersWithMotion:true,scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Ajay,{height:\"100%\",id:\"j348mnORe\",layoutId:\"j348mnORe\",name:\"ajay\",style:{height:\"100%\",width:\"100%\"},variant:\"hb52MFbPG\",width:\"100%\"})})}),/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:48,intrinsicWidth:56,pixelHeight:48,pixelWidth:56,sizes:\"13px\",src:\"https://framerusercontent.com/images/fuX6Y7k2xAKdy47Ton1GiV7LO5A.png?width=56&height=48\"},className:\"framer-rvmwwh\",\"data-framer-name\":\"Svgviewer-png-output (3)\"})],speed:50,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})}),isDisplayed1()&&/*#__PURE__*/_jsx(motion.section,{className:\"framer-m2c625 hidden-72rtr7 hidden-5ntll5 hidden-m3irj0\",\"data-border\":true,\"data-framer-name\":\"Mob-Border-Ticker\",layout:motionLayout,children:/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__spring:{bounce:0,damping:60,delay:0,duration:.2,durationBasedSpring:true,ease:[.44,0,.56,1],mass:1,stagger:0,stiffness:500,type:\"spring\"},__framer__styleTransformEffectEnabled:true,__framer__transformTargets:[{target:{opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:0}},{target:{opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:-1800,y:0}}],__framer__transformTrigger:\"onScroll\",__perspectiveFX:false,__targetOpacity:1,className:\"framer-1s509nf\",\"data-framer-name\":\"Length\",children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-1pz7fn6\",\"data-framer-name\":\"Ani\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-18zefxp-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"gSFAULf9O\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Ticker,{alignment:\"center\",direction:\"left\",fadeOptions:{fadeAlpha:0,fadeContent:false,fadeInset:0,fadeWidth:25,overflow:false},gap:24,height:\"100%\",hoverFactor:1,id:\"gSFAULf9O\",layoutId:\"gSFAULf9O\",padding:0,paddingBottom:0,paddingLeft:0,paddingPerSide:false,paddingRight:0,paddingTop:0,sizingOptions:{heightType:true,widthType:true},slots:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:55,width:\"121px\",children:/*#__PURE__*/_jsx(Container,{className:\"framer-1wte4zi-container\",inComponentSlot:true,nodeId:\"nczQNFTW5\",rendersWithMotion:true,scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Place,{height:\"100%\",id:\"nczQNFTW5\",layoutId:\"nczQNFTW5\",variant:\"TbmcotATb\",width:\"100%\"})})}),/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:48,intrinsicWidth:56,pixelHeight:48,pixelWidth:56,sizes:\"13px\",src:\"https://framerusercontent.com/images/fuX6Y7k2xAKdy47Ton1GiV7LO5A.png?width=56&height=48\"},className:\"framer-rvmwwh\",\"data-framer-name\":\"Svgviewer-png-output (3)\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:55,width:\"151px\",children:/*#__PURE__*/_jsx(Container,{className:\"framer-1vqk6mj-container\",inComponentSlot:true,nodeId:\"gpOCs7TWJ\",rendersWithMotion:true,scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Place,{height:\"100%\",id:\"gpOCs7TWJ\",layoutId:\"gpOCs7TWJ\",variant:\"nmdeeiKwO\",width:\"100%\"})})}),/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:48,intrinsicWidth:56,pixelHeight:48,pixelWidth:56,sizes:\"13px\",src:\"https://framerusercontent.com/images/fuX6Y7k2xAKdy47Ton1GiV7LO5A.png?width=56&height=48\"},className:\"framer-rvmwwh\",\"data-framer-name\":\"Svgviewer-png-output (3)\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:55,width:\"102px\",children:/*#__PURE__*/_jsx(Container,{className:\"framer-1nsg8fx-container\",inComponentSlot:true,nodeId:\"si_IOo0f1\",rendersWithMotion:true,scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Place,{height:\"100%\",id:\"si_IOo0f1\",layoutId:\"si_IOo0f1\",variant:\"bvljWlFct\",width:\"100%\"})})}),/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:48,intrinsicWidth:56,pixelHeight:48,pixelWidth:56,sizes:\"13px\",src:\"https://framerusercontent.com/images/fuX6Y7k2xAKdy47Ton1GiV7LO5A.png?width=56&height=48\"},className:\"framer-rvmwwh\",\"data-framer-name\":\"Svgviewer-png-output (3)\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:70,width:\"138px\",children:/*#__PURE__*/_jsx(Container,{className:\"framer-yeuxpl-container\",\"data-framer-name\":\"ajay\",inComponentSlot:true,name:\"ajay\",nodeId:\"SHT80XPx9\",rendersWithMotion:true,scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Ajay,{height:\"100%\",id:\"SHT80XPx9\",layoutId:\"SHT80XPx9\",name:\"ajay\",variant:\"AVjxKmQ2C\",width:\"100%\"})})}),/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:48,intrinsicWidth:56,pixelHeight:48,pixelWidth:56,sizes:\"13px\",src:\"https://framerusercontent.com/images/fuX6Y7k2xAKdy47Ton1GiV7LO5A.png?width=56&height=48\"},className:\"framer-rvmwwh\",\"data-framer-name\":\"Svgviewer-png-output (3)\"})],speed:50,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})}),/*#__PURE__*/_jsxs(motion.section,{className:\"framer-efrhph\",\"data-framer-name\":\"Showreel\",layout:motionLayout,children:[/*#__PURE__*/_jsx(Link,{href:\"https://www.youtube.com/watch?v=EVul4zK1YMY\",motionChild:true,nodeId:\"rDrhs67KB\",openInNewTab:true,scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1t9275a framer-lux5qc\",\"data-framer-cursor\":\"1zx6rb\"})}),isDisplayed1()&&/*#__PURE__*/_jsx(Link,{href:\"https://www.youtube.com/watch?v=EVul4zK1YMY\",motionChild:true,nodeId:\"dlsdzMYlm\",openInNewTab:true,scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-17tecgw hidden-72rtr7 hidden-5ntll5 hidden-m3irj0 framer-lux5qc\",\"data-framer-name\":\"Cursor\",transformTemplate:transformTemplate2,children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.07em\",\"--framer-line-height\":\"40px\"},children:\"play\"})}),className:\"framer-j3qd8m\",fonts:[\"CUSTOMV2;Neue Regrade Extrabold\"],verticalAlignment:\"top\",withExternalLayout:true})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-krl7gi-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"NSS_f71NG\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Video,{backgroundColor:\"rgba(0, 0, 0, 0)\",borderRadius:0,bottomLeftRadius:0,bottomRightRadius:0,controls:false,height:\"100%\",id:\"NSS_f71NG\",isMixedBorderRadius:false,layoutId:\"NSS_f71NG\",loop:true,muted:true,objectFit:\"cover\",playing:true,posterEnabled:true,srcFile:\"https://framerusercontent.com/assets/pGuynlPJM7ULTg5HfvH4vGrgfs.mp4\",srcType:\"Upload\",srcUrl:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",startTime:0,style:{height:\"100%\",width:\"100%\"},topLeftRadius:0,topRightRadius:0,volume:25,width:\"100%\"})})})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1b1y4r9\",layout:motionLayout,children:/*#__PURE__*/_jsxs(MotionDivWithFX,{__framer__animate:{transition:transition4},__framer__animateOnce:true,__framer__enter:animation5,__framer__exit:animation6,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__targetOpacity:1,className:\"framer-1if9o0m\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-13o6xag\",\"data-border\":true,children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{Y9g6bPdzL:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"28px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"HLS livestreaming at Cisco\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"HLS livestreaming at Cisco\"})}),className:\"framer-1k8zag6\",effect:textEffect2,fonts:[\"CUSTOMV2;Neue Regrade Extrabold\"],verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(Play,{animated:false,className:\"framer-15z0q3x\",ezTt3ayMo:true,layoutId:\"Jrl71y90h\",lschgej4H:true,qxTvv_EBh:true}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-5k9ikt\"})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1x401tk\",\"data-border\":true,children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{Y9g6bPdzL:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"28px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"GLTF 3D at Scapic\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"GLTF 3D at Scapic\"})}),className:\"framer-ywoem5\",effect:textEffect2,fonts:[\"CUSTOMV2;Neue Regrade Extrabold\"],verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(Cube,{animated:false,className:\"framer-49meog\",ezTt3ayMo:true,layoutId:\"OqZlLMnN9\",lschgej4H:true,qxTvv_EBh:true}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-1dlc6y5\"})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-19zzdz\",\"data-border\":true,children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{Y9g6bPdzL:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"28px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"zk provers at Polygon\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"zk provers at Polygon\"})}),className:\"framer-khf7gb\",effect:textEffect2,fonts:[\"CUSTOMV2;Neue Regrade Extrabold\"],verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(CurrencyEth,{animated:false,className:\"framer-1vy8vdo\",ezTt3ayMo:true,layoutId:\"isRFb_mSe\",lschgej4H:true,qxTvv_EBh:true}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-1x47wgb\"})]})]})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1pjgv6x\",layout:motionLayout,children:[/*#__PURE__*/_jsxs(MotionDivWithFX,{__framer__animate:{transition:transition4},__framer__animateOnce:true,__framer__enter:animation5,__framer__exit:animation6,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__targetOpacity:1,className:\"framer-nh9v6r\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-5gdvzy\",\"data-border\":true,children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-010b0db2-3da8-478c-9431-ed687e622849, rgb(9, 10, 12))\"},children:\"There's a pattern here.\"})}),className:\"framer-1hanv5e\",effect:textEffect2,fonts:[\"CUSTOMV2;Neue Regrade Extrabold\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIE1lZGl1bQ==\",\"--framer-font-family\":'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-010b0db2-3da8-478c-9431-ed687e622849, rgb(9, 10, 12))\"},children:\"Every fast primitive on the internet gains momentum when it enables commerce at scale. Because here's what I've learned: commerce runs on content.\"})}),className:\"framer-jospzw\",effect:textEffect2,fonts:[\"CUSTOMV2;Neue Regrade Medium\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-of7vcw\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-f2pbp7\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"01\"})}),className:\"framer-1jrtwrl\",effect:textEffect2,fonts:[\"CUSTOMV2;Neue Regrade Semibold\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIE1lZGl1bQ==\",\"--framer-font-family\":'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"Content that feels personal to each customer.\"})}),className:\"framer-d7yw5k\",effect:textEffect2,fonts:[\"CUSTOMV2;Neue Regrade Medium\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-e61m2m\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"02\"})}),className:\"framer-9cgrsa\",effect:textEffect2,fonts:[\"CUSTOMV2;Neue Regrade Semibold\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIE1lZGl1bQ==\",\"--framer-font-family\":'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"Content that actually drives conversions.\"})}),className:\"framer-1ps1zvr\",effect:textEffect2,fonts:[\"CUSTOMV2;Neue Regrade Medium\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-prmhf8\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"03\"})}),className:\"framer-71ujlb\",effect:textEffect2,fonts:[\"CUSTOMV2;Neue Regrade Semibold\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIE1lZGl1bQ==\",\"--framer-font-family\":'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"Content that can act autonomously.\"})}),className:\"framer-1skzkff\",effect:textEffect2,fonts:[\"CUSTOMV2;Neue Regrade Medium\"],verticalAlignment:\"top\",withExternalLayout:true})]})]})]}),/*#__PURE__*/_jsxs(MotionDivWithFX,{__framer__animate:{transition:transition4},__framer__animateOnce:true,__framer__enter:animation5,__framer__exit:animation6,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__targetOpacity:1,className:\"framer-1b538en\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"This is why I'm building ShopOS.\"})}),className:\"framer-124zjyc\",effect:textEffect2,fonts:[\"CUSTOMV2;Neue Regrade Extrabold\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIE1lZGl1bQ==\",\"--framer-font-family\":'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"An operating system that transforms customer intent into measurable output for brands.\"})}),className:\"framer-iqjszg\",effect:textEffect2,fonts:[\"CUSTOMV2;Neue Regrade Medium\"],verticalAlignment:\"top\",withExternalLayout:true})]})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1921e05\",\"data-border\":true,layout:motionLayout,children:/*#__PURE__*/_jsxs(MotionSectionWithFX,{__framer__animate:{transition:transition4},__framer__animateOnce:true,__framer__enter:animation5,__framer__exit:animation6,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__targetOpacity:1,className:\"framer-ss1z6h\",\"data-framer-name\":\"About\",id:elementId,ref:ref1,children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-010b0db2-3da8-478c-9431-ed687e622849, rgb(9, 10, 12))\"},children:\"what I'm building\"})})},Y9g6bPdzL:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-010b0db2-3da8-478c-9431-ed687e622849, rgb(9, 10, 12))\"},children:\"what I'm building\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"60px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-010b0db2-3da8-478c-9431-ed687e622849, rgb(9, 10, 12))\"},children:\"what I'm building\"})}),className:\"framer-ediik9\",effect:textEffect2,fonts:[\"CUSTOMV2;Neue Regrade Extrabold\"],verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__animate:{transition:transition6},__framer__animateOnce:true,__framer__enter:animation5,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__targetOpacity:1,className:\"framer-1o4du9l\",\"data-framer-name\":\"Parent\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-703vja\",\"data-framer-name\":\"Text-conainer\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1gv57wt\",\"data-framer-name\":\"1st\",children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIE1lZGl1bQ==\",\"--framer-font-family\":'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--token-010b0db2-3da8-478c-9431-ed687e622849, rgb(9, 10, 12))\"},children:\"An operating system designed to reimagine        how commerce works in the age of AI. Instead of showing every customer the same static product page, ShopOS creates customer-context-first experiences where visuals, copy, and recommendations adapt in real time based on intent, behavior, and channel.\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIE1lZGl1bQ==\",\"--framer-font-family\":'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',\"--framer-font-size\":\"18px\",\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"1.4em\",\"--framer-text-color\":\"var(--token-010b0db2-3da8-478c-9431-ed687e622849, rgb(9, 10, 12))\"},children:\"An operating system designed to reimagine        how commerce works in the age of AI. Instead of showing every customer the same static product page, ShopOS creates customer-context-first experiences where visuals, copy, and recommendations adapt in real time based on intent, behavior, and channel.\"})}),className:\"framer-1g158vc\",fonts:[\"CUSTOMV2;Neue Regrade Medium\"],verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-kx1a3j-container\",\"data-framer-name\":\"sparks\",isAuthoredByUser:true,isModuleExternal:true,name:\"sparks\",nodeId:\"GhvVucwMi\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Lottie,{height:\"100%\",id:\"GhvVucwMi\",isForwardsDirection:true,layoutId:\"GhvVucwMi\",loop:true,name:\"sparks\",pauseOnCanvas:true,playing:true,poster:\"Auto\",posterProgress:0,progress:0,speed:1,srcType:\"URL\",srcUrl:\"https://framerusercontent.com/assets/wxQHyS7sEQE2r2K2exjLkyKP5d8.json\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-976h5w-container\",\"data-framer-name\":\"Pencil\",isAuthoredByUser:true,isModuleExternal:true,name:\"Pencil\",nodeId:\"rBqQ9s612\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Lottie,{height:\"100%\",id:\"rBqQ9s612\",isForwardsDirection:true,layoutId:\"rBqQ9s612\",loop:true,name:\"Pencil\",pauseOnCanvas:false,playing:true,poster:\"Auto\",posterProgress:0,progress:0,speed:1,srcType:\"URL\",srcUrl:\"https://framerusercontent.com/assets/Ih8bEZIBoOJ5rGkvoeqXgM0V3so.json\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-1t3e9ef\",\"data-framer-name\":\"Spacer\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-ug57pf\",\"data-framer-name\":\"2nd\",children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIE1lZGl1bQ==\",\"--framer-font-family\":'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--token-010b0db2-3da8-478c-9431-ed687e622849, rgb(9, 10, 12))\"},children:\"Autonomous AI agents handle the heavy lifting: cataloging products, generating marketing content, optimizing pricing, personalizing experiences, and improving discovery. The store learns continuously, testing what works and shipping improvements every week across every channel.\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIE1lZGl1bQ==\",\"--framer-font-family\":'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',\"--framer-font-size\":\"18px\",\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"1.4em\",\"--framer-text-color\":\"var(--token-010b0db2-3da8-478c-9431-ed687e622849, rgb(9, 10, 12))\"},children:\"Autonomous AI agents handle the heavy lifting: cataloging products, generating marketing content, optimizing pricing, personalizing experiences, and improving discovery. The store learns continuously, testing what works and shipping improvements every week across every channel.\"})}),className:\"framer-hobbwj\",fonts:[\"CUSTOMV2;Neue Regrade Medium\"],verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-9hab33-container\",\"data-framer-name\":\"fire\",isAuthoredByUser:true,isModuleExternal:true,name:\"fire\",nodeId:\"AMrDY9XBx\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Lottie,{height:\"100%\",id:\"AMrDY9XBx\",isForwardsDirection:true,layoutId:\"AMrDY9XBx\",loop:true,name:\"fire\",pauseOnCanvas:false,playing:true,poster:\"Auto\",posterProgress:0,progress:0,speed:1,srcType:\"URL\",srcUrl:\"https://framerusercontent.com/assets/yAJhOUdCtpe2K4mPSnpfxvQmIKc.json\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-etz7uj\",\"data-framer-name\":\"Spacer\"}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-udzrbi\",\"data-framer-name\":\"3rd\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIE1lZGl1bQ==\",\"--framer-font-family\":'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"1.4em\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:'\"Think of it as the infrastructure layer between customer intent and brand output. ShopOS doesn\\'t just automate tasks, it orchestrates the entire commerce experience.\"'})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIE1lZGl1bQ==\",\"--framer-font-family\":'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"1.4em\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:'\"Think of it as the infrastructure layer between customer intent and brand output. ShopOS doesn\\'t just automate tasks, it orchestrates the entire commerce experience.\"'})}),className:\"framer-w7fuqd\",fonts:[\"CUSTOMV2;Neue Regrade Medium\"],verticalAlignment:\"top\",withExternalLayout:true})})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-2kzsqb\",\"data-framer-name\":\"Spacer\"})]})})]})}),/*#__PURE__*/_jsx(motion.section,{className:\"framer-15hgv2\",\"data-framer-name\":\"About\",id:elementId1,layout:motionLayout,ref:ref2,children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-ie0xzn\",\"data-framer-name\":\"Container\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-n3oabx\",\"data-framer-name\":\"Main Wrapper\",children:[/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__animate:{transition:transition4},__framer__animateOnce:true,__framer__enter:animation5,__framer__exit:animation6,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__targetOpacity:1,className:\"framer-148z2pe\",\"data-framer-name\":\"Content Wrapper\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1va3py3\",\"data-framer-name\":\"Text Wrapper\",children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h3\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"before shopos\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h3\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"60px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"before shopos\"})}),className:\"framer-ivd4p3\",\"data-framer-name\":\"Title\",fonts:[\"CUSTOMV2;Neue Regrade Extrabold\"],verticalAlignment:\"top\",withExternalLayout:true})}),isDisplayed2()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFJlZ3VsYXI=\",\"--framer-font-family\":'\"Neue Regrade Regular\", \"Neue Regrade Regular Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-line-height\":\"20px\",\"--framer-text-color\":\"rgb(217, 217, 217)\"},children:\"Before that, I worked on zero-knowledge cryptography at Polygon and video streaming infrastructure at Cisco.  \"}),/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFJlZ3VsYXI=\",\"--framer-font-family\":'\"Neue Regrade Regular\", \"Neue Regrade Regular Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-line-height\":\"20px\",\"--framer-text-color\":\"rgb(217, 217, 217)\"},children:/*#__PURE__*/_jsx(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFJlZ3VsYXI=\",\"--framer-font-family\":'\"Neue Regrade Regular\", \"Neue Regrade Regular Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-line-height\":\"20px\",\"--framer-text-color\":\"rgb(217, 217, 217)\"},children:\"Most of my career has lived at the edge of emerging tech and retail AR, 3D, blockchain, AI always asking: how does this make commerce better?\"})]}),className:\"framer-1ne4lal hidden-5ntll5 hidden-90sqtx\",\"data-framer-name\":\"Text\",fonts:[\"CUSTOMV2;Neue Regrade Regular\"],verticalAlignment:\"top\",withExternalLayout:true})]})}),/*#__PURE__*/_jsxs(MotionDivWithFX,{__framer__animate:{transition:transition7},__framer__animateOnce:true,__framer__enter:animation5,__framer__exit:animation7,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__targetOpacity:1,className:\"framer-1ndbkbb\",\"data-framer-name\":\"Timeline\",children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{width:`calc(min(max(${componentViewport?.width||\"100vw\"} - 200px, 1px), 1160px) * 0.6)`,y:(componentViewport?.y||0)+0+3950+80+0+0+0+0+0},CWxCCguB2:{width:`min(max(${componentViewport?.width||\"100vw\"} - 60px, 1px), 1160px)`,y:(componentViewport?.y||0)+0+5126+60+0+0+0+32+30+0},Y9g6bPdzL:{width:`min(max(${componentViewport?.width||\"100vw\"} - 60px, 1px), 1160px)`,y:(componentViewport?.y||0)+0+3962+19+0+0+0+100+0+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:167,width:\"700px\",y:(componentViewport?.y||0)+0+3990+80+0+0+0+0+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-36rb2i-container\",nodeId:\"Wkyb1WMAV\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{variant:\"Db8qODoxi\"},Y9g6bPdzL:{variant:\"Db8qODoxi\"}},children:/*#__PURE__*/_jsx(Timeline,{FcAq59g72:\"Product Lead\",g_XvC7I_H:\"Flipkart Labs\",height:\"100%\",id:\"Wkyb1WMAV\",layoutId:\"Wkyb1WMAV\",mS8LPo3_I:\"Camera — AR try-on for products\\nFiredrops — Gamified shopping experiences\\nFlipverse — India's first metaverse shopping experience\",style:{width:\"100%\"},U3Qehpecp:\"2020 — 2023\",variant:\"kZ4JNk8aZ\",width:\"100%\",x90PuqN5G:\"rgb(201, 201, 201)\"})})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{width:`calc(min(max(${componentViewport?.width||\"100vw\"} - 200px, 1px), 1160px) * 0.6)`,y:(componentViewport?.y||0)+0+3950+80+0+0+0+0+169},CWxCCguB2:{width:`min(max(${componentViewport?.width||\"100vw\"} - 60px, 1px), 1160px)`,y:(componentViewport?.y||0)+0+5126+60+0+0+0+32+30+182},Y9g6bPdzL:{width:`min(max(${componentViewport?.width||\"100vw\"} - 60px, 1px), 1160px)`,y:(componentViewport?.y||0)+0+3962+19+0+0+0+100+0+169}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:167,width:\"700px\",y:(componentViewport?.y||0)+0+3990+80+0+0+0+0+169,children:/*#__PURE__*/_jsx(Container,{className:\"framer-ahfl2t-container\",nodeId:\"ixWeophxG\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{variant:\"Db8qODoxi\"},Y9g6bPdzL:{variant:\"Db8qODoxi\"}},children:/*#__PURE__*/_jsx(Timeline,{FcAq59g72:\"Co-founder (Acquired by Flipkart)\",g_XvC7I_H:\"Scapic\",height:\"100%\",id:\"ixWeophxG\",layoutId:\"ixWeophxG\",mS8LPo3_I:\"A no-code platform that let brands create immersive 3D and AR experiences for e-commerce.\",style:{width:\"100%\"},U3Qehpecp:\"2017 — 2020\",variant:\"kZ4JNk8aZ\",width:\"100%\",x90PuqN5G:\"rgb(201, 201, 201)\"})})})})})]}),isDisplayed1()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFJlZ3VsYXI=\",\"--framer-font-family\":'\"Neue Regrade Regular\", \"Neue Regrade Regular Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-line-height\":\"20px\",\"--framer-text-color\":\"rgb(217, 217, 217)\"},children:\"Before that, I worked on zero-knowledge cryptography at Polygon and video streaming infrastructure at Cisco.  \"}),/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFJlZ3VsYXI=\",\"--framer-font-family\":'\"Neue Regrade Regular\", \"Neue Regrade Regular Placeholder\", sans-serif',\"--framer-line-height\":\"20px\",\"--framer-text-color\":\"rgb(217, 217, 217)\"},children:/*#__PURE__*/_jsx(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFJlZ3VsYXI=\",\"--framer-font-family\":'\"Neue Regrade Regular\", \"Neue Regrade Regular Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-line-height\":\"20px\",\"--framer-text-color\":\"rgb(217, 217, 217)\"},children:\"Most of my career has lived at the edge of emerging tech and retail—AR, 3D, blockchain, AI—always asking: how does this make commerce better?\"})]}),className:\"framer-13fjbno hidden-72rtr7 hidden-5ntll5 hidden-m3irj0\",\"data-framer-name\":\"Text\",fonts:[\"CUSTOMV2;Neue Regrade Regular\"],verticalAlignment:\"top\",withExternalLayout:true}),isDisplayed3()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFJlZ3VsYXI=\",\"--framer-font-family\":'\"Neue Regrade Regular\", \"Neue Regrade Regular Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-line-height\":\"20px\",\"--framer-text-color\":\"rgb(217, 217, 217)\"},children:\"Before that, I worked on zero-knowledge cryptography at Polygon and video streaming infrastructure at Cisco.  \"}),/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFJlZ3VsYXI=\",\"--framer-font-family\":'\"Neue Regrade Regular\", \"Neue Regrade Regular Placeholder\", sans-serif',\"--framer-line-height\":\"20px\",\"--framer-text-color\":\"rgb(217, 217, 217)\"},children:/*#__PURE__*/_jsx(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFJlZ3VsYXI=\",\"--framer-font-family\":'\"Neue Regrade Regular\", \"Neue Regrade Regular Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-line-height\":\"20px\",\"--framer-text-color\":\"rgb(217, 217, 217)\"},children:\"Most of my career has lived at the edge of emerging tech and retail—AR, 3D, blockchain, AI—always asking: how does this make commerce better?\"})]}),className:\"framer-1luugms hidden-72rtr7 hidden-90sqtx hidden-m3irj0\",\"data-framer-name\":\"Text\",fonts:[\"CUSTOMV2;Neue Regrade Regular\"],verticalAlignment:\"top\",withExternalLayout:true})]}),isDisplayed2()&&/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__animate:{transition:transition8},__framer__animateOnce:true,__framer__enter:animation8,__framer__exit:animation9,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__targetOpacity:1,className:\"framer-4ox92q hidden-5ntll5 hidden-90sqtx\",\"data-framer-name\":\"Shape\",style:{rotate:-15},children:/*#__PURE__*/_jsxs(SVG,{className:\"framer-1cd4ptu\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 78.665 130\" overflow=\"visible\"><path d=\"M 38.292 0.176 C 38.667 -0.111 39.203 -0.04 39.491 0.335 C 50.247 14.381 59.299 33.043 55.323 51.478 C 54.351 55.985 52.168 60.277 49.187 63.936 C 62.501 81.435 69.499 104.964 66.189 126.194 C 67.808 124.285 69.615 121.826 71.338 119.326 C 73.672 115.941 75.817 112.535 77.076 110.436 C 77.319 110.03 77.844 109.9 78.249 110.142 C 78.654 110.385 78.786 110.91 78.543 111.316 C 77.267 113.441 75.103 116.879 72.746 120.297 C 70.399 123.701 67.827 127.137 65.739 129.225 L 64.965 130 L 64.401 129.06 C 63.142 126.961 60.997 123.555 58.663 120.17 C 56.32 116.772 53.823 113.449 51.854 111.481 C 51.52 111.146 51.52 110.605 51.854 110.271 C 52.188 109.937 52.73 109.937 53.064 110.271 C 55.151 112.359 57.724 115.795 60.071 119.199 C 61.72 121.591 63.275 123.992 64.497 125.947 C 67.713 105.349 60.978 82.417 48.046 65.263 C 43.215 70.587 36.599 74.383 29.575 75.098 C 18.275 76.249 6.037 72.683 1.374 61.181 C 0.17 58.21 -0.332 55.101 0.23 52.222 C 0.797 49.319 2.435 46.712 5.386 44.777 C 9.882 41.828 15.613 41.735 21.014 43.01 C 26.429 44.289 31.662 46.975 35.306 49.802 C 40.006 53.449 44.301 57.759 48.108 62.549 C 50.81 59.145 52.769 55.209 53.652 51.117 C 57.466 33.432 48.794 15.297 38.133 1.375 C 37.846 1 37.917 0.463 38.292 0.176 Z M 46.984 63.885 C 43.202 59.085 38.93 54.779 34.258 51.153 C 30.796 48.467 25.784 45.894 20.621 44.675 C 15.445 43.452 10.265 43.623 6.324 46.207 C 3.753 47.893 2.386 50.106 1.908 52.55 C 1.426 55.017 1.842 57.782 2.959 60.539 C 7.207 71.016 18.448 74.513 29.402 73.397 C 36.036 72.721 42.371 69.072 46.984 63.885 Z\" fill=\"var(--token-4905cbc5-920c-46e6-ae67-5eefd4b3b71a, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;White&quot;} */\"></path></svg>',withExternalLayout:true,children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-gxtbt2\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 78.665 130\" overflow=\"visible\"><path d=\"M 38.292 0.176 C 38.667 -0.111 39.203 -0.04 39.491 0.335 C 50.247 14.381 59.299 33.043 55.323 51.478 C 54.351 55.985 52.168 60.277 49.187 63.936 C 62.501 81.435 69.499 104.964 66.189 126.194 C 67.808 124.285 69.615 121.826 71.338 119.326 C 73.672 115.941 75.817 112.535 77.076 110.436 C 77.319 110.03 77.844 109.9 78.249 110.142 C 78.654 110.385 78.786 110.91 78.543 111.316 C 77.267 113.441 75.103 116.879 72.746 120.297 C 70.399 123.701 67.827 127.137 65.739 129.225 L 64.965 130 L 64.401 129.06 C 63.142 126.961 60.997 123.555 58.663 120.17 C 56.32 116.772 53.823 113.449 51.854 111.481 C 51.52 111.146 51.52 110.605 51.854 110.271 C 52.188 109.937 52.73 109.937 53.064 110.271 C 55.151 112.359 57.724 115.795 60.071 119.199 C 61.72 121.591 63.275 123.992 64.497 125.947 C 67.713 105.349 60.978 82.417 48.046 65.263 C 43.215 70.587 36.599 74.383 29.575 75.098 C 18.275 76.249 6.037 72.683 1.374 61.181 C 0.17 58.21 -0.332 55.101 0.23 52.222 C 0.797 49.319 2.435 46.712 5.386 44.777 C 9.882 41.828 15.613 41.735 21.014 43.01 C 26.429 44.289 31.662 46.975 35.306 49.802 C 40.006 53.449 44.301 57.759 48.108 62.549 C 50.81 59.145 52.769 55.209 53.652 51.117 C 57.466 33.432 48.794 15.297 38.133 1.375 C 37.846 1 37.917 0.463 38.292 0.176 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1sze1qv\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 45.274 29.655\" overflow=\"visible\"><path d=\"M 45.274 19.945 C 41.492 15.145 37.22 10.839 32.547 7.213 C 29.086 4.527 24.074 1.953 18.911 0.734 C 13.735 -0.488 8.555 -0.318 4.614 2.266 C 2.042 3.952 0.675 6.165 0.198 8.609 C -0.284 11.077 0.131 13.842 1.249 16.598 C 5.496 27.076 16.738 30.572 27.691 29.457 C 34.325 28.781 40.661 25.131 45.274 19.945 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true})]})})]})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1xypgs\",layout:motionLayout,children:/*#__PURE__*/_jsxs(\"section\",{className:\"framer-1v9xi92\",\"data-border\":true,\"data-framer-name\":\"About\",id:elementId2,ref:ref3,children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"my thesis\"})})},Y9g6bPdzL:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"my thesis\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"60px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"my thesis\"})}),className:\"framer-ziimlw\",fonts:[\"CUSTOMV2;Neue Regrade Extrabold\"],verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{__framer__styleAppearEffectEnabled:undefined}},children:/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__animate:{transition:transition2},__framer__animateOnce:true,__framer__enter:animation10,__framer__styleAppearEffectEnabled:true,__framer__threshold:.5,__perspectiveFX:false,__targetOpacity:1,className:\"framer-v2wa3l\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-fund4t-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"xQYVR2LjM\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{font:{fontFamily:'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',fontSize:\"20px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"-0.03em\",lineHeight:\"28px\",textAlign:\"left\"}}},children:/*#__PURE__*/_jsx(Reveal,{damping:60,endOffset:.36,endOpacity:1,font:{fontFamily:'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',fontSize:\"32px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"-0.03em\",lineHeight:\"40px\",textAlign:\"left\"},height:\"100%\",id:\"xQYVR2LjM\",layoutId:\"xQYVR2LjM\",startOffset:1,startOpacity:.2,stiffness:140,style:{width:\"100%\"},text:\"The companies that win tomorrow are those that make marketing, design, and distribution work as a unified system. Technology should dissolve the friction between intent and execution, particularly with commerce.\",textColor:\"rgb(255, 255, 255)\",width:\"100%\"})})})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:1017.4999595681842,intrinsicWidth:1066.6666242811432,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+4486+0+20),pixelHeight:1093,pixelWidth:959,sizes:`calc(min(max(${componentViewport?.width||\"100vw\"}, 1px), 1440px) * 0.4)`,src:\"https://framerusercontent.com/images/rnfggi7NjzLeZRFwXofjp3wdM1g.png?width=959&height=1093\",srcSet:\"https://framerusercontent.com/images/rnfggi7NjzLeZRFwXofjp3wdM1g.png?scale-down-to=1024&width=959&height=1093 898w,https://framerusercontent.com/images/rnfggi7NjzLeZRFwXofjp3wdM1g.png?width=959&height=1093 959w\"}},CWxCCguB2:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:1017.4999595681842,intrinsicWidth:1066.6666242811432,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+5977+0+19+426),pixelHeight:1093,pixelWidth:959,sizes:`calc((min(max(${componentViewport?.width||\"100vw\"}, 1px), 1440px) - 60px) * 0.8)`,src:\"https://framerusercontent.com/images/rnfggi7NjzLeZRFwXofjp3wdM1g.png?width=959&height=1093\",srcSet:\"https://framerusercontent.com/images/rnfggi7NjzLeZRFwXofjp3wdM1g.png?scale-down-to=1024&width=959&height=1093 898w,https://framerusercontent.com/images/rnfggi7NjzLeZRFwXofjp3wdM1g.png?width=959&height=1093 959w\"}},Y9g6bPdzL:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:1017.4999595681842,intrinsicWidth:1066.6666242811432,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+4788+0+19+440),pixelHeight:1093,pixelWidth:959,sizes:`calc((min(max(${componentViewport?.width||\"100vw\"}, 1px), 1440px) - 60px) * 0.6)`,src:\"https://framerusercontent.com/images/rnfggi7NjzLeZRFwXofjp3wdM1g.png?width=959&height=1093\",srcSet:\"https://framerusercontent.com/images/rnfggi7NjzLeZRFwXofjp3wdM1g.png?scale-down-to=1024&width=959&height=1093 898w,https://framerusercontent.com/images/rnfggi7NjzLeZRFwXofjp3wdM1g.png?width=959&height=1093 959w\"}}},children:/*#__PURE__*/_jsx(ImageWithFX,{__framer__animate:{transition:transition9},__framer__animateOnce:false,__framer__enter:animation11,__framer__styleAppearEffectEnabled:true,__framer__targets:[{ref:ref3,target:\"animate\"}],__framer__threshold:.5,__perspectiveFX:false,__targetOpacity:1,background:{alt:\"\",fit:\"fill\",intrinsicHeight:1017.4999595681842,intrinsicWidth:1066.6666242811432,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+4526+0+20),pixelHeight:1093,pixelWidth:959,sizes:`calc(min(max(${componentViewport?.width||\"100vw\"}, 1px), 1440px) * 0.4)`,src:\"https://framerusercontent.com/images/rnfggi7NjzLeZRFwXofjp3wdM1g.png?width=959&height=1093\",srcSet:\"https://framerusercontent.com/images/rnfggi7NjzLeZRFwXofjp3wdM1g.png?scale-down-to=1024&width=959&height=1093 898w,https://framerusercontent.com/images/rnfggi7NjzLeZRFwXofjp3wdM1g.png?width=959&height=1093 959w\"},className:\"framer-12ik72m\",\"data-framer-name\":\"Gemini Generated_Image_rv8828rv8828rv88-Photoroom\"})})]})}),/*#__PURE__*/_jsxs(motion.section,{className:\"framer-1uv7bc4\",\"data-border\":true,\"data-framer-name\":\"Interest\",id:elementId3,layout:motionLayout,ref:ref4,children:[/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__animate:{transition:transition4},__framer__animateOnce:true,__framer__enter:animation5,__framer__exit:animation6,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__targetOpacity:1,className:\"framer-1cr9syj\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"interests\"})})},Y9g6bPdzL:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"interests\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"60px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"interests\"})}),className:\"framer-da74v9\",effect:textEffect2,fonts:[\"CUSTOMV2;Neue Regrade Extrabold\"],verticalAlignment:\"top\",withExternalLayout:true})})}),/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__animate:{transition:transition4},__framer__animateOnce:true,__framer__enter:animation5,__framer__exit:animation6,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__targetOpacity:1,className:\"framer-y9grer\",\"data-border\":true,\"data-framer-name\":\"VR\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1aybml6\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1s5ssx9\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"26px\",\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"1.3em\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"AR & Spatial Commerce\"})}),className:\"framer-s3wm5a\",fonts:[\"CUSTOMV2;Neue Regrade Semibold\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-1jo2wld\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:853.3332994249146,intrinsicWidth:853.3332994249146,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+4891+80+350+20+0+0+0+199+0),pixelHeight:836,pixelWidth:1024,sizes:`calc(max((min(${componentViewport?.width||\"100vw\"} - 200px, 1160px) - 80px) / 2, 1px) * 0.75)`,src:\"https://framerusercontent.com/images/PzMqaWyF7WX97XSGQJ17Ig8Ft0.png?width=1024&height=836\",srcSet:\"https://framerusercontent.com/images/PzMqaWyF7WX97XSGQJ17Ig8Ft0.png?scale-down-to=512&width=1024&height=836 512w,https://framerusercontent.com/images/PzMqaWyF7WX97XSGQJ17Ig8Ft0.png?width=1024&height=836 1024w\"}},CWxCCguB2:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:853.3332994249146,intrinsicWidth:853.3332994249146,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+6601+40+243+20+0+0+0+0+199+0),pixelHeight:836,pixelWidth:1024,sizes:`max(min(${componentViewport?.width||\"100vw\"} - 60px, 1160px), 1px)`,src:\"https://framerusercontent.com/images/PzMqaWyF7WX97XSGQJ17Ig8Ft0.png?width=1024&height=836\",srcSet:\"https://framerusercontent.com/images/PzMqaWyF7WX97XSGQJ17Ig8Ft0.png?scale-down-to=512&width=1024&height=836 512w,https://framerusercontent.com/images/PzMqaWyF7WX97XSGQJ17Ig8Ft0.png?width=1024&height=836 1024w\"}},Y9g6bPdzL:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:853.3332994249146,intrinsicWidth:853.3332994249146,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+5619+60+210+20+0+0+0+199+0),pixelHeight:836,pixelWidth:1024,sizes:`calc(max((min(${componentViewport?.width||\"100vw\"} - 60px, 1160px) - 80px) / 2, 1px) * 0.75)`,src:\"https://framerusercontent.com/images/PzMqaWyF7WX97XSGQJ17Ig8Ft0.png?width=1024&height=836\",srcSet:\"https://framerusercontent.com/images/PzMqaWyF7WX97XSGQJ17Ig8Ft0.png?scale-down-to=512&width=1024&height=836 512w,https://framerusercontent.com/images/PzMqaWyF7WX97XSGQJ17Ig8Ft0.png?width=1024&height=836 1024w\"}}},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:853.3332994249146,intrinsicWidth:853.3332994249146,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+5066+100+350+20+0+0+0+199+0),pixelHeight:836,pixelWidth:1024,sizes:`calc(max((min(${componentViewport?.width||\"100vw\"} - 280px, 1160px) - 80px) / 2, 1px) * 0.75)`,src:\"https://framerusercontent.com/images/PzMqaWyF7WX97XSGQJ17Ig8Ft0.png?width=1024&height=836\",srcSet:\"https://framerusercontent.com/images/PzMqaWyF7WX97XSGQJ17Ig8Ft0.png?scale-down-to=512&width=1024&height=836 512w,https://framerusercontent.com/images/PzMqaWyF7WX97XSGQJ17Ig8Ft0.png?width=1024&height=836 1024w\"},className:\"framer-10wz1n1\",\"data-framer-name\":\"ChatGPT Image Dec 5, 2025, 05 30_20 PM\"})})})]}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-egnq31\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFJlZ3VsYXI=\",\"--framer-font-family\":'\"Neue Regrade Regular\", \"Neue Regrade Regular Placeholder\", sans-serif',\"--framer-line-height\":\"130%\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"Built, backed, and exited multiple AR and VR companies. Deeply convinced that immersive commerce is inevitable—not as a novelty, but as the default way people shop online.\"})}),className:\"framer-jiozuf\",fonts:[\"CUSTOMV2;Neue Regrade Regular\"],verticalAlignment:\"top\",withExternalLayout:true})})]})}),/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__animate:{transition:transition4},__framer__animateOnce:true,__framer__enter:animation5,__framer__exit:animation6,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__targetOpacity:1,className:\"framer-1sl17nd\",\"data-border\":true,\"data-framer-name\":\"Investing\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1y79blt\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1lwvrd3\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-size\":\"26px\",\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"1.3em\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"Investing\"})}),className:\"framer-1lz6us\",fonts:[\"CUSTOMV2;Neue Regrade Semibold\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-pk21vl\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:1493.3332739936004,intrinsicWidth:1999.9999205271436,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+4891+80+991+20+0+0+0+199+0),pixelHeight:719,pixelWidth:1015,sizes:`calc(max((min(${componentViewport?.width||\"100vw\"} - 200px, 1160px) - 80px) / 2, 1px) * 0.75)`,src:\"https://framerusercontent.com/images/gEr5a7hF1UmhJ82xcx7ya1G8j6w.png?width=1015&height=719\",srcSet:\"https://framerusercontent.com/images/gEr5a7hF1UmhJ82xcx7ya1G8j6w.png?scale-down-to=512&width=1015&height=719 512w,https://framerusercontent.com/images/gEr5a7hF1UmhJ82xcx7ya1G8j6w.png?width=1015&height=719 1015w\"}},CWxCCguB2:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:1493.3332739936004,intrinsicWidth:1999.9999205271436,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+6601+40+1061+20+0+0+0+0+199+0),pixelHeight:719,pixelWidth:1015,sizes:`max(min(${componentViewport?.width||\"100vw\"} - 60px, 1160px), 1px)`,src:\"https://framerusercontent.com/images/gEr5a7hF1UmhJ82xcx7ya1G8j6w.png?width=1015&height=719\",srcSet:\"https://framerusercontent.com/images/gEr5a7hF1UmhJ82xcx7ya1G8j6w.png?scale-down-to=512&width=1015&height=719 512w,https://framerusercontent.com/images/gEr5a7hF1UmhJ82xcx7ya1G8j6w.png?width=1015&height=719 1015w\"}},Y9g6bPdzL:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:1493.3332739936004,intrinsicWidth:1999.9999205271436,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+5619+60+851+20+0+0+0+199+0),pixelHeight:719,pixelWidth:1015,sizes:`calc(max((min(${componentViewport?.width||\"100vw\"} - 60px, 1160px) - 80px) / 2, 1px) * 0.75)`,src:\"https://framerusercontent.com/images/gEr5a7hF1UmhJ82xcx7ya1G8j6w.png?width=1015&height=719\",srcSet:\"https://framerusercontent.com/images/gEr5a7hF1UmhJ82xcx7ya1G8j6w.png?scale-down-to=512&width=1015&height=719 512w,https://framerusercontent.com/images/gEr5a7hF1UmhJ82xcx7ya1G8j6w.png?width=1015&height=719 1015w\"}}},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:1493.3332739936004,intrinsicWidth:1999.9999205271436,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+5066+100+991+20+0+0+0+199+0),pixelHeight:719,pixelWidth:1015,sizes:`calc(max((min(${componentViewport?.width||\"100vw\"} - 280px, 1160px) - 80px) / 2, 1px) * 0.75)`,src:\"https://framerusercontent.com/images/gEr5a7hF1UmhJ82xcx7ya1G8j6w.png?width=1015&height=719\",srcSet:\"https://framerusercontent.com/images/gEr5a7hF1UmhJ82xcx7ya1G8j6w.png?scale-down-to=512&width=1015&height=719 512w,https://framerusercontent.com/images/gEr5a7hF1UmhJ82xcx7ya1G8j6w.png?width=1015&height=719 1015w\"},className:\"framer-17a5crh\",\"data-framer-name\":\"Gemini Generated_Image_8eimmz8eimmz8eim\"})})})]}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-mq22nc\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFJlZ3VsYXI=\",\"--framer-font-family\":'\"Neue Regrade Regular\", \"Neue Regrade Regular Placeholder\", sans-serif',\"--framer-line-height\":\"130%\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"I back early-stage teams working on problems I care about. Portfolio includes 14 companies. I invest in founders building the primitives that power the next generation of the internet.\"})}),className:\"framer-13y84pd\",fonts:[\"CUSTOMV2;Neue Regrade Regular\"],verticalAlignment:\"top\",withExternalLayout:true})})]})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-jx0221\",\"data-framer-name\":\"Gravity\",layout:motionLayout,children:[/*#__PURE__*/_jsx(\"div\",{className:\"framer-1uls3bx\",\"data-framer-name\":\"Content \",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h1\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"life\"})}),effect:undefined},Y9g6bPdzL:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h1\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"life\"})}),effect:undefined}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h1\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"60px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"life\"})}),className:\"framer-y74y8y\",effect:textEffect2,fonts:[\"CUSTOMV2;Neue Regrade Extrabold\"],verticalAlignment:\"top\",withExternalLayout:true})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-x4tlx6-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"SXJH6t8YJ\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsxs(Physics,{densityOptions:{density:.05,enable:true},friction:{friction:.08,frictionAir:.01},gravX:0,gravY:.5,height:\"100%\",id:\"SXJH6t8YJ\",layoutId:\"SXJH6t8YJ\",mouseOptions:{angularStiffness:0,enable:true,stiffness:.2},sleeping:false,style:{height:\"100%\",maxWidth:\"100%\",width:\"100%\"},wallOptions:{bottom:true,left:true,right:true,top:true},width:\"100%\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1eo6s9p\",\"data-framer-name\":\"Girl Dad\",children:[/*#__PURE__*/_jsx(Baby,{animated:false,className:\"framer-1ylgb82\",ezTt3ayMo:true,layoutId:\"yna6jIbad\",lschgej4H:true,qxTvv_EBh:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"var(--token-010b0db2-3da8-478c-9431-ed687e622849, rgb(9, 10, 12))\"},children:\"Girl Dad\"})}),className:\"framer-1bml4ev\",fonts:[\"CUSTOMV2;Neue Regrade Semibold\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-phq09p\",\"data-framer-name\":\"Google\",children:[/*#__PURE__*/_jsx(Dog,{animated:false,className:\"framer-7k7ql9\",ezTt3ayMo:true,layoutId:\"AwRDKKgqh\",lschgej4H:true,qxTvv_EBh:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"English Retriever\"})}),className:\"framer-jc7ghz\",fonts:[\"CUSTOMV2;Neue Regrade Semibold\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-14jhohw\",\"data-framer-name\":\"Cook\",children:[/*#__PURE__*/_jsx(CookingPot,{animated:false,className:\"framer-8jsb6s\",ezTt3ayMo:true,layoutId:\"EEArA7PC_\",lschgej4H:true,qxTvv_EBh:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"var(--token-010b0db2-3da8-478c-9431-ed687e622849, rgb(9, 10, 12))\"},children:\"Cooking\"})}),className:\"framer-1tgib87\",fonts:[\"CUSTOMV2;Neue Regrade Semibold\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-27qg7a\",\"data-framer-name\":\"Tennis\",children:[/*#__PURE__*/_jsx(TennisBall,{animated:false,className:\"framer-zf5e5w\",ezTt3ayMo:true,layoutId:\"KqIsOz2F9\",lschgej4H:true,qxTvv_EBh:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"Tennis\"})}),className:\"framer-1qken0n\",fonts:[\"CUSTOMV2;Neue Regrade Semibold\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-27aak1\",\"data-framer-name\":\"Paddle\",children:[/*#__PURE__*/_jsx(BowlingBall,{animated:false,className:\"framer-jybovi\",ezTt3ayMo:true,layoutId:\"SjdwXjOnJ\",lschgej4H:true,qxTvv_EBh:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"var(--token-010b0db2-3da8-478c-9431-ed687e622849, rgb(9, 10, 12))\"},children:\"Paddle\"})}),className:\"framer-1o9r5ru\",fonts:[\"CUSTOMV2;Neue Regrade Semibold\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-xd71sb\",\"data-framer-name\":\"Bio Hacker\",children:[/*#__PURE__*/_jsx(BluetoothConnected,{animated:false,className:\"framer-9iov2r\",ezTt3ayMo:true,layoutId:\"a4g39ArNk\",lschgej4H:true,qxTvv_EBh:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"Bio Hacker\"})}),className:\"framer-1k50qag\",fonts:[\"CUSTOMV2;Neue Regrade Semibold\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-145xl1v\",\"data-framer-name\":\"Mysore\",children:[/*#__PURE__*/_jsx(BuildingApartment,{animated:false,className:\"framer-20828h\",ezTt3ayMo:true,layoutId:\"OZode0nW1\",lschgej4H:true,qxTvv_EBh:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"var(--token-010b0db2-3da8-478c-9431-ed687e622849, rgb(9, 10, 12))\"},children:\"Mysore\"})}),className:\"framer-11d50dv\",fonts:[\"CUSTOMV2;Neue Regrade Semibold\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1kfz873\",\"data-framer-name\":\"Bangalore\",children:[/*#__PURE__*/_jsx(City,{animated:false,className:\"framer-itob2i\",ezTt3ayMo:true,layoutId:\"CVUD_Umpt\",lschgej4H:true,qxTvv_EBh:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:\"Bangalore\"})}),className:\"framer-1s1i2gq\",fonts:[\"CUSTOMV2;Neue Regrade Semibold\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-gylif9\",\"data-framer-name\":\"Dubai\",children:[/*#__PURE__*/_jsx(AirplaneTakeoff,{animated:false,className:\"framer-1mf7vvt\",ezTt3ayMo:true,layoutId:\"Keyy3bDX4\",lschgej4H:true,qxTvv_EBh:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIFNlbWlib2xk\",\"--framer-font-family\":'\"Neue Regrade Semibold\", \"Neue Regrade Semibold Placeholder\", sans-serif',\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"var(--token-010b0db2-3da8-478c-9431-ed687e622849, rgb(9, 10, 12))\"},children:\"Dubai\"})}),className:\"framer-1vofemy\",fonts:[\"CUSTOMV2;Neue Regrade Semibold\"],verticalAlignment:\"top\",withExternalLayout:true})]})]})})})]}),/*#__PURE__*/_jsxs(motion.section,{className:\"framer-meail9\",\"data-border\":true,\"data-framer-name\":\"Selected Clients\",layout:motionLayout,children:[/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__animate:{transition:transition6},__framer__animateOnce:true,__framer__enter:animation5,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__targetOpacity:1,className:\"framer-1800ryk\",\"data-framer-name\":\"Built\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"built & backed\"})})},Y9g6bPdzL:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"built & backed\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"60px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"built & backed\"})}),className:\"framer-caksj5\",fonts:[\"CUSTOMV2;Neue Regrade Extrabold\"],verticalAlignment:\"top\",withExternalLayout:true})})}),/*#__PURE__*/_jsxs(MotionDivWithFX,{__framer__animate:{transition:transition6},__framer__animateOnce:true,__framer__enter:animation5,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__targetOpacity:1,className:\"framer-5j1d3\",\"data-framer-name\":\"Parent\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-tcfrye\",\"data-framer-name\":\"1st\",children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{y:(componentViewport?.y||0)+0+7149+40+100+0+0+0},CWxCCguB2:{y:(componentViewport?.y||0)+0+8984+40+51+0+0+0},Y9g6bPdzL:{y:(componentViewport?.y||0)+0+7697+19+72+0+0+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:95,y:(componentViewport?.y||0)+0+7364+80+100+0+0+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-z3v1ox-container\",nodeId:\"oGjYcwD7K\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{variant:\"UIu1WWAwk\"},CWxCCguB2:{variant:\"kvhqfP6fH\"},Y9g6bPdzL:{variant:\"UIu1WWAwk\"}},children:/*#__PURE__*/_jsx(Client,{E2v5KH9HI:\"rgb(189, 69, 246)\",height:\"100%\",id:\"oGjYcwD7K\",layoutId:\"oGjYcwD7K\",LMmTgJP8X:addImageAlt({pixelHeight:300,pixelWidth:712,src:\"https://framerusercontent.com/images/Hs2EECwg8rsQ49wv7B6KkMMYlHc.png?width=712&height=300\",srcSet:\"https://framerusercontent.com/images/Hs2EECwg8rsQ49wv7B6KkMMYlHc.png?scale-down-to=512&width=712&height=300 512w,https://framerusercontent.com/images/Hs2EECwg8rsQ49wv7B6KkMMYlHc.png?width=712&height=300 712w\"},\"\"),variant:\"vsLuj4Aok\",width:\"100%\",xM5FHn4H1:\"https://shopos.ai\"})})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{y:(componentViewport?.y||0)+0+7149+40+100+0+0+0},CWxCCguB2:{y:(componentViewport?.y||0)+0+8984+40+51+0+0+0},Y9g6bPdzL:{y:(componentViewport?.y||0)+0+7697+19+72+0+0+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:95,y:(componentViewport?.y||0)+0+7364+80+100+0+0+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1y6hnzs-container\",nodeId:\"O9TYRw3pt\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{variant:\"UIu1WWAwk\"},CWxCCguB2:{variant:\"kvhqfP6fH\"},Y9g6bPdzL:{variant:\"UIu1WWAwk\"}},children:/*#__PURE__*/_jsx(Client,{E2v5KH9HI:\"rgb(171, 112, 73)\",height:\"100%\",id:\"O9TYRw3pt\",layoutId:\"O9TYRw3pt\",LMmTgJP8X:addImageAlt({pixelHeight:300,pixelWidth:712,src:\"https://framerusercontent.com/images/TJxbSOmGuHejapEZSOMNpoRXZBs.png?width=712&height=300\",srcSet:\"https://framerusercontent.com/images/TJxbSOmGuHejapEZSOMNpoRXZBs.png?scale-down-to=512&width=712&height=300 512w,https://framerusercontent.com/images/TJxbSOmGuHejapEZSOMNpoRXZBs.png?width=712&height=300 712w\"},\"\"),variant:\"vsLuj4Aok\",width:\"100%\",xM5FHn4H1:\"https://spuddish.com/\"})})})})}),isDisplayed()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{y:(componentViewport?.y||0)+0+7149+40+100+0+0+0},Y9g6bPdzL:{y:(componentViewport?.y||0)+0+7697+19+72+0+0+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:95,y:(componentViewport?.y||0)+0+7364+80+100+0+0+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-u6wbka-container hidden-90sqtx\",nodeId:\"SoaRPyz2G\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{variant:\"UIu1WWAwk\"},Y9g6bPdzL:{variant:\"UIu1WWAwk\"}},children:/*#__PURE__*/_jsx(Client,{E2v5KH9HI:\"rgb(94, 49, 235)\",height:\"100%\",id:\"SoaRPyz2G\",layoutId:\"SoaRPyz2G\",LMmTgJP8X:addImageAlt({pixelHeight:300,pixelWidth:712,src:\"https://framerusercontent.com/images/RsvHc8yrvG2U8Bjpvfpa6MHWIj4.png?width=712&height=300\",srcSet:\"https://framerusercontent.com/images/RsvHc8yrvG2U8Bjpvfpa6MHWIj4.png?scale-down-to=512&width=712&height=300 512w,https://framerusercontent.com/images/RsvHc8yrvG2U8Bjpvfpa6MHWIj4.png?width=712&height=300 712w\"},\"\"),variant:\"vsLuj4Aok\",width:\"100%\",xM5FHn4H1:\"https://polygon.technology/\"})})})})}),isDisplayed()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{y:(componentViewport?.y||0)+0+7149+40+100+0+0+0},Y9g6bPdzL:{y:(componentViewport?.y||0)+0+7697+19+72+0+0+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:95,y:(componentViewport?.y||0)+0+7364+80+100+0+0+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1dsz7kf-container hidden-90sqtx\",nodeId:\"oYgb4maIN\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{variant:\"UIu1WWAwk\"},Y9g6bPdzL:{variant:\"UIu1WWAwk\"}},children:/*#__PURE__*/_jsx(Client,{E2v5KH9HI:\"rgb(255, 200, 33)\",height:\"100%\",id:\"oYgb4maIN\",layoutId:\"oYgb4maIN\",LMmTgJP8X:addImageAlt({pixelHeight:300,pixelWidth:712,src:\"https://framerusercontent.com/images/UKDhrDVRYjOzOK6nwZ4Y2McVfgs.png?width=712&height=300\",srcSet:\"https://framerusercontent.com/images/UKDhrDVRYjOzOK6nwZ4Y2McVfgs.png?scale-down-to=512&width=712&height=300 512w,https://framerusercontent.com/images/UKDhrDVRYjOzOK6nwZ4Y2McVfgs.png?width=712&height=300 712w\"},\"\"),variant:\"vsLuj4Aok\",width:\"100%\",xM5FHn4H1:\"https://flipkartlabs.com/\"})})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{y:(componentViewport?.y||0)+0+7149+40+100+0+0+0},CWxCCguB2:{y:(componentViewport?.y||0)+0+8984+40+51+0+0+0},Y9g6bPdzL:{y:(componentViewport?.y||0)+0+7697+19+72+0+0+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:95,y:(componentViewport?.y||0)+0+7364+80+100+0+0+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1hr18ox-container\",nodeId:\"S_H85ND4w\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{variant:\"UIu1WWAwk\"},CWxCCguB2:{variant:\"kvhqfP6fH\"},Y9g6bPdzL:{variant:\"UIu1WWAwk\"}},children:/*#__PURE__*/_jsx(Client,{E2v5KH9HI:\"rgb(245, 69, 71)\",height:\"100%\",id:\"S_H85ND4w\",layoutId:\"S_H85ND4w\",LMmTgJP8X:addImageAlt({pixelHeight:300,pixelWidth:712,src:\"https://framerusercontent.com/images/aAwIR54yTadgdfXZFIDhFnVskQ.png?width=712&height=300\",srcSet:\"https://framerusercontent.com/images/aAwIR54yTadgdfXZFIDhFnVskQ.png?scale-down-to=512&width=712&height=300 512w,https://framerusercontent.com/images/aAwIR54yTadgdfXZFIDhFnVskQ.png?width=712&height=300 712w\"},\"\"),variant:\"vsLuj4Aok\",width:\"100%\",xM5FHn4H1:\"https://www.linkedin.com/company/scapic\"})})})})})]}),isDisplayed1()&&/*#__PURE__*/_jsxs(\"div\",{className:\"framer-2w59ni hidden-72rtr7 hidden-5ntll5 hidden-m3irj0\",\"data-framer-name\":\"2nd\",children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{y:(componentViewport?.y||0)+0+8984+40+51+0+99+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:95,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1cd1b3x-container\",nodeId:\"StO9LCwEI\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Client,{E2v5KH9HI:\"rgb(179, 159, 227)\",height:\"100%\",id:\"StO9LCwEI\",layoutId:\"StO9LCwEI\",LMmTgJP8X:addImageAlt({pixelHeight:300,pixelWidth:712,src:\"https://framerusercontent.com/images/UKDhrDVRYjOzOK6nwZ4Y2McVfgs.png?width=712&height=300\",srcSet:\"https://framerusercontent.com/images/UKDhrDVRYjOzOK6nwZ4Y2McVfgs.png?scale-down-to=512&width=712&height=300 512w,https://framerusercontent.com/images/UKDhrDVRYjOzOK6nwZ4Y2McVfgs.png?width=712&height=300 712w\"},\"\"),variant:\"kvhqfP6fH\",width:\"100%\"})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{y:(componentViewport?.y||0)+0+8984+40+51+0+99+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:95,children:/*#__PURE__*/_jsx(Container,{className:\"framer-h942qj-container\",nodeId:\"VzogYCZG0\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Client,{E2v5KH9HI:\"rgb(191, 255, 0)\",height:\"100%\",id:\"VzogYCZG0\",layoutId:\"VzogYCZG0\",LMmTgJP8X:addImageAlt({pixelHeight:300,pixelWidth:712,src:\"https://framerusercontent.com/images/RsvHc8yrvG2U8Bjpvfpa6MHWIj4.png?width=712&height=300\",srcSet:\"https://framerusercontent.com/images/RsvHc8yrvG2U8Bjpvfpa6MHWIj4.png?scale-down-to=512&width=712&height=300 512w,https://framerusercontent.com/images/RsvHc8yrvG2U8Bjpvfpa6MHWIj4.png?width=712&height=300 712w\"},\"\"),variant:\"kvhqfP6fH\",width:\"100%\"})})})})]})]})]}),/*#__PURE__*/_jsxs(MotionSectionWithFX,{__framer__animate:{transition:transition4},__framer__animateOnce:true,__framer__enter:animation5,__framer__exit:animation6,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__targetOpacity:1,className:\"framer-1y486g6\",\"data-border\":true,\"data-framer-name\":\"Contact\",id:elementId4,layout:motionLayout,ref:ref5,children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"contact\"})})},Y9g6bPdzL:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"contact\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"60px\",\"--framer-font-weight\":\"800\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"contact\"})}),className:\"framer-vsokvh\",fonts:[\"CUSTOMV2;Neue Regrade Extrabold\"],verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1xpzlsa\",children:[/*#__PURE__*/_jsx(Link,{href:\"mailto:ajay@shopos.ai\",motionChild:true,nodeId:\"ZjAmWwrHU\",openInNewTab:true,scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-1exnfu0 framer-lux5qc\",children:[isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1y8frl9-container hidden-90sqtx\",isAuthoredByUser:true,nodeId:\"RessJzLeY\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(EmailLetterBounce,{accentColor:\"rgb(254, 109, 0)\",bounceHeight:30,email:\"ajay@shopos.ai\",height:\"100%\",id:\"RessJzLeY\",layoutId:\"RessJzLeY\",line1FontSize:140,line2FontSize:116,staggerDelay:.02,textColor:\"rgb(255, 255, 255)\",width:\"100%\"})})}),isDisplayed1()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsxs(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"60px\",\"--framer-font-weight\":\"800\",\"--framer-line-height\":\"110%\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:[\"ajay\",/*#__PURE__*/_jsx(\"span\",{style:{\"--framer-text-color\":\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0))\"},children:\"@\"})]}),/*#__PURE__*/_jsxs(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIEV4dHJhYm9sZA==\",\"--framer-font-family\":'\"Neue Regrade Extrabold\", \"Neue Regrade Extrabold Placeholder\", sans-serif',\"--framer-font-size\":\"60px\",\"--framer-font-weight\":\"800\",\"--framer-line-height\":\"110%\",\"--framer-text-color\":\"rgb(255, 255, 255)\"},children:[\"shopos\",/*#__PURE__*/_jsx(\"span\",{style:{\"--framer-text-color\":\"var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, rgb(254, 109, 0))\"},children:\".ai\"})]})]}),className:\"framer-1t2apkv hidden-72rtr7 hidden-5ntll5 hidden-m3irj0\",fonts:[\"CUSTOMV2;Neue Regrade Extrabold\"],verticalAlignment:\"top\",withExternalLayout:true})]})}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-j8m68x\",children:[isDisplayed()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{y:(componentViewport?.y||0)+0+7449+40+353+0+240+0},Y9g6bPdzL:{y:(componentViewport?.y||0)+0+7914+19+179+0+155+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:25,y:(componentViewport?.y||0)+0+7724+53+353+0+155+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1q5uj95-container hidden-90sqtx\",\"data-framer-name\":\"Linkedin\",name:\"Linkedin\",nodeId:\"xW6MItOSc\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Instagram,{height:\"100%\",id:\"xW6MItOSc\",layoutId:\"xW6MItOSc\",name:\"Linkedin\",variant:\"ZnuFuCaHT\",width:\"100%\"})})})}),isDisplayed()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{y:(componentViewport?.y||0)+0+7449+40+353+0+240+0},Y9g6bPdzL:{y:(componentViewport?.y||0)+0+7914+19+179+0+155+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:25,y:(componentViewport?.y||0)+0+7724+53+353+0+155+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-obc8zq-container hidden-90sqtx\",nodeId:\"ariRPqKTq\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Instagram,{height:\"100%\",id:\"ariRPqKTq\",layoutId:\"ariRPqKTq\",variant:\"ZpaFNeSos\",width:\"100%\"})})})}),isDisplayed()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{avdoUquCU:{y:(componentViewport?.y||0)+0+7449+40+353+0+240+0},Y9g6bPdzL:{y:(componentViewport?.y||0)+0+7914+19+179+0+155+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:25,y:(componentViewport?.y||0)+0+7724+53+353+0+155+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-hhol97-container hidden-90sqtx\",\"data-framer-name\":\"Linkedin\",name:\"Linkedin\",nodeId:\"jEq4NkHmF\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Instagram,{height:\"100%\",id:\"jEq4NkHmF\",layoutId:\"jEq4NkHmF\",name:\"Linkedin\",variant:\"aCbuhSqPe\",width:\"100%\"})})})}),isDisplayed1()&&/*#__PURE__*/_jsx(Link,{href:\"https://x.com/ajaypv4\",motionChild:true,nodeId:\"FHe0dRWyL\",openInNewTab:true,scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-uwyt6c hidden-72rtr7 hidden-5ntll5 hidden-m3irj0 framer-lux5qc\",\"data-framer-name\":\"X\",children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-1eot86y\",\"data-framer-name\":\"Inner\",children:/*#__PURE__*/_jsx(XTwitter,{animated:false,className:\"framer-dwbokk\",CRY1Fpez4:true,layoutId:\"dJYCr3Li7\",vet7gqNu_:true})})})}),isDisplayed1()&&/*#__PURE__*/_jsx(\"div\",{className:\"framer-2okszc hidden-72rtr7 hidden-5ntll5 hidden-m3irj0\",\"data-framer-name\":\"Linkedin\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:104,intrinsicWidth:104,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+9309+40+179+0+700+0+5),pixelHeight:130,pixelWidth:130,sizes:\"26px\",src:\"https://framerusercontent.com/images/xqbYjS1t5ReehteOOvL2ulCEY.png?width=130&height=130\"}}},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:104,intrinsicWidth:104,pixelHeight:130,pixelWidth:130,sizes:\"26px\",src:\"https://framerusercontent.com/images/xqbYjS1t5ReehteOOvL2ulCEY.png?width=130&height=130\"},className:\"framer-1qe1tw8\",\"data-framer-name\":\"Svgviewer-png-output\"})})}),isDisplayed1()&&/*#__PURE__*/_jsx(\"div\",{className:\"framer-gbted0 hidden-72rtr7 hidden-5ntll5 hidden-m3irj0\",\"data-framer-name\":\"Insta\",children:isDisplayed1()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:104,intrinsicWidth:104,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+9309+40+179+0+700+0+5),pixelHeight:130,pixelWidth:130,sizes:\"26px\",src:\"https://framerusercontent.com/images/AvZhcpBlBWgVgTosbrPLEYZ4rmg.png?width=130&height=130\"}}},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:104,intrinsicWidth:104,pixelHeight:130,pixelWidth:130,src:\"https://framerusercontent.com/images/AvZhcpBlBWgVgTosbrPLEYZ4rmg.png?width=130&height=130\"},className:\"framer-1fs7ps7 hidden-72rtr7\",\"data-framer-name\":\"Svgviewer-png-output (1)\"})})})]})]})]}),/*#__PURE__*/_jsx(motion.section,{className:\"framer-13lmjt0\",\"data-border\":true,\"data-framer-name\":\"Contact\",layout:motionLayout,children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{CWxCCguB2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIE1lZGl1bQ==\",\"--framer-font-family\":'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',\"--framer-font-size\":\"12px\",\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"23px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"\\xa9 2025 Ajay PV. All rights reserved\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"Q1VTVE9NVjI7TmV1ZSBSZWdyYWRlIE1lZGl1bQ==\",\"--framer-font-family\":'\"Neue Regrade Medium\", \"Neue Regrade Medium Placeholder\", sans-serif',\"--framer-font-size\":\"12px\",\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"100%\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"rgb(255, 253, 250)\"},children:\"\\xa9 2025 Ajay PV. All rights reserved\"})}),className:\"framer-qccxys\",fonts:[\"CUSTOMV2;Neue Regrade Medium\"],verticalAlignment:\"top\",withExternalLayout:true})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"overlay\"})]})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-zXyoy.framer-lux5qc, .framer-zXyoy .framer-lux5qc { display: block; }\",\".framer-zXyoy.framer-72rtr7 { align-content: center; align-items: center; background-color: var(--token-010b0db2-3da8-478c-9431-ed687e622849, #090a0c); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 1440px; }\",\".framer-zXyoy .framer-1ce3lk2 { align-content: center; align-items: center; background-color: #090a0c; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 100vh; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-9eqbgt-container { cursor: default; flex: 1 0 0px; height: 100%; position: relative; width: 1px; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-zXyoy .framer-1ijbad4 { align-content: center; align-items: center; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-top-left-radius: 12px; border-top-right-radius: 12px; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: flex-start; left: 180px; overflow: var(--overflow-clip-fallback, clip); padding: 20px; position: absolute; top: 200px; width: 298px; will-change: var(--framer-will-change-effect-override, transform); z-index: 1; }\",\".framer-zXyoy .framer-1hm7u2d, .framer-zXyoy .framer-1jrtwrl, .framer-zXyoy .framer-d7yw5k, .framer-zXyoy .framer-9cgrsa, .framer-zXyoy .framer-1ps1zvr, .framer-zXyoy .framer-71ujlb, .framer-zXyoy .framer-1skzkff, .framer-zXyoy .framer-124zjyc, .framer-zXyoy .framer-iqjszg, .framer-zXyoy .framer-ivd4p3 { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; cursor: default; flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-zXyoy .framer-1m4o69m, .framer-zXyoy .framer-w7fuqd, .framer-zXyoy .framer-s3wm5a, .framer-zXyoy .framer-1lz6us { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-zXyoy .framer-15drsev-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 48px); position: absolute; right: 18px; top: 13px; width: 48px; z-index: 1; }\",\".framer-zXyoy .framer-w5hgzp, .framer-zXyoy .framer-m2c625 { --border-bottom-width: 0px; --border-color: #222222; --border-left-width: 0px; --border-right-width: 0px; --border-style: solid; --border-top-width: 1px; align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-1d1eykn, .framer-zXyoy .framer-1s509nf { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 300%; }\",\".framer-zXyoy .framer-198d5cd, .framer-zXyoy .framer-1pz7fn6 { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 1px; }\",\".framer-zXyoy .framer-1jforzm-container { flex: 1 0 0px; height: 88px; position: relative; width: 1px; }\",\".framer-zXyoy .framer-1s96zdl-container, .framer-zXyoy .framer-1a76qj9-container, .framer-zXyoy .framer-c3k29n-container, .framer-zXyoy .framer-1wte4zi-container, .framer-zXyoy .framer-1vqk6mj-container, .framer-zXyoy .framer-1nsg8fx-container, .framer-zXyoy .framer-yeuxpl-container { height: auto; position: relative; width: auto; }\",\".framer-zXyoy .framer-rvmwwh { aspect-ratio: 1.1666666666666667 / 1; height: var(--framer-aspect-ratio-supported, 11px); overflow: visible; position: relative; width: 13px; }\",\".framer-zXyoy .framer-u1eg73-container { height: 70px; position: relative; width: 138px; }\",\".framer-zXyoy .framer-18zefxp-container { flex: 1 0 0px; height: 80px; position: relative; width: 1px; }\",\".framer-zXyoy .framer-efrhph, .framer-zXyoy .framer-1xypgs { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-1t9275a { background: radial-gradient(50% 50% at 50% 50%, rgba(10, 11, 13, 0.4) 0%, rgb(10, 11, 13) 100%); flex: none; height: 100%; left: calc(50.00000000000002% - 100% / 2); overflow: var(--overflow-clip-fallback, clip); position: absolute; text-decoration: none; top: calc(50.00000000000002% - 100% / 2); width: 100%; z-index: 1; }\",\".framer-zXyoy .framer-17tecgw { align-content: center; align-items: center; background-color: #ffffff; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; left: 50%; overflow: var(--overflow-clip-fallback, clip); padding: 4px; position: absolute; text-decoration: none; top: 50%; transform: translate(-50%, -50%); width: min-content; z-index: 1; }\",\".framer-zXyoy .framer-j3qd8m, .framer-zXyoy .framer-1bml4ev, .framer-zXyoy .framer-1qken0n, .framer-zXyoy .framer-1o9r5ru, .framer-zXyoy .framer-1k50qag, .framer-zXyoy .framer-11d50dv, .framer-zXyoy .framer-1s1i2gq, .framer-zXyoy .framer-1vofemy { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-zXyoy .framer-krl7gi-container { aspect-ratio: 1.7766666666666666 / 1; flex: 1 0 0px; height: var(--framer-aspect-ratio-supported, 811px); position: relative; width: 1px; }\",\".framer-zXyoy .framer-1b1y4r9 { align-content: center; align-items: center; background-color: var(--token-010b0db2-3da8-478c-9431-ed687e622849, #090a0c); display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: center; max-width: 1440px; overflow: visible; padding: 120px 140px 120px 140px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-1if9o0m { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: center; max-width: 1160px; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-zXyoy .framer-13o6xag, .framer-zXyoy .framer-1x401tk, .framer-zXyoy .framer-19zzdz { --border-bottom-width: 1px; --border-color: #222222; --border-left-width: 1px; --border-right-width: 1px; --border-style: solid; --border-top-width: 1px; align-content: flex-start; align-items: flex-start; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-top-left-radius: 12px; border-top-right-radius: 12px; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 440px; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 20px; position: relative; width: 1px; will-change: var(--framer-will-change-override, transform); }\",\".framer-zXyoy .framer-1k8zag6, .framer-zXyoy .framer-ywoem5, .framer-zXyoy .framer-khf7gb, .framer-zXyoy .framer-1hanv5e { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; cursor: default; flex: 1 0 0px; height: auto; max-width: 283px; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\",\".framer-zXyoy .framer-15z0q3x { --1m6trwb: 0; --21h8s6: #ffffff; --pgex8v: 1.5; aspect-ratio: 1 / 1; bottom: -83px; flex: none; height: var(--framer-aspect-ratio-supported, 289px); opacity: 0.12; position: absolute; right: -16px; width: 289px; z-index: 1; }\",\".framer-zXyoy .framer-5k9ikt { background: linear-gradient(180deg, rgba(10, 11, 13, 0) 0%, rgb(10, 11, 13) 100%); bottom: 0px; flex: none; height: 186px; left: 0px; overflow: var(--overflow-clip-fallback, clip); position: absolute; width: 100%; z-index: 1; }\",\".framer-zXyoy .framer-49meog { --1m6trwb: 0; --21h8s6: #ffffff; --pgex8v: 1.5; aspect-ratio: 1 / 1; bottom: -83px; flex: none; height: var(--framer-aspect-ratio-supported, 289px); opacity: 0.12; position: absolute; right: -25px; width: 289px; z-index: 1; }\",\".framer-zXyoy .framer-1dlc6y5 { background: linear-gradient(180deg, rgba(10, 11, 13, 0) 0%, rgb(10, 11, 13) 100%); bottom: 0px; flex: none; height: 194px; left: calc(50.00000000000002% - 100% / 2); overflow: var(--overflow-clip-fallback, clip); position: absolute; width: 100%; z-index: 1; }\",\".framer-zXyoy .framer-1vy8vdo { --1m6trwb: 0; --21h8s6: #ffffff; --pgex8v: 1.5; aspect-ratio: 1 / 1; bottom: -83px; flex: none; height: var(--framer-aspect-ratio-supported, 289px); opacity: 0.12; position: absolute; right: -34px; width: 289px; z-index: 1; }\",\".framer-zXyoy .framer-1x47wgb { background: linear-gradient(180deg, rgba(10, 11, 13, 0) 0%, rgb(10, 11, 13) 100%); bottom: 0px; flex: none; height: 206px; left: calc(50.00000000000002% - 100% / 2); overflow: var(--overflow-clip-fallback, clip); position: absolute; width: 100%; z-index: 1; }\",\".framer-zXyoy .framer-1pjgv6x { align-content: center; align-items: center; background-color: var(--token-010b0db2-3da8-478c-9431-ed687e622849, #090a0c); display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: center; max-width: 1440px; overflow: visible; padding: 0px 140px 120px 140px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-nh9v6r { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-5gdvzy { --border-bottom-width: 1px; --border-color: #222222; --border-left-width: 1px; --border-right-width: 1px; --border-style: solid; --border-top-width: 1px; align-content: flex-start; align-items: flex-start; background-color: #ffffff; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-top-left-radius: 12px; border-top-right-radius: 12px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: var(--overflow-clip-fallback, clip); padding: 20px; position: relative; width: 100%; will-change: var(--framer-will-change-override, transform); }\",\".framer-zXyoy .framer-jospzw { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; cursor: default; flex: 1 0 0px; height: auto; max-width: 487px; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\",\".framer-zXyoy .framer-of7vcw { align-content: flex-start; align-items: flex-start; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-top-left-radius: 12px; border-top-right-radius: 12px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; will-change: var(--framer-will-change-override, transform); }\",\".framer-zXyoy .framer-f2pbp7 { align-content: center; align-items: center; background-color: #1a1a1a; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-top-left-radius: 12px; border-top-right-radius: 12px; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 20px; position: relative; width: 1px; will-change: var(--framer-will-change-override, transform); }\",\".framer-zXyoy .framer-e61m2m, .framer-zXyoy .framer-prmhf8 { align-content: center; align-items: center; align-self: stretch; background-color: #1a1a1a; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-top-left-radius: 12px; border-top-right-radius: 12px; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; height: auto; justify-content: space-between; overflow: var(--overflow-clip-fallback, clip); padding: 20px; position: relative; width: 1px; will-change: var(--framer-will-change-override, transform); }\",\".framer-zXyoy .framer-1b538en { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-1921e05 { --border-bottom-width: 0px; --border-color: #222222; --border-left-width: 0px; --border-right-width: 0px; --border-style: solid; --border-top-width: 1px; align-content: center; align-items: center; background-color: #ffffff; border-top-left-radius: 60px; border-top-right-radius: 60px; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 100px 140px 100px 140px; position: relative; width: 100%; will-change: var(--framer-will-change-override, transform); }\",\".framer-zXyoy .framer-ss1z6h { align-content: flex-start; align-items: flex-start; background-color: #ffffff; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; max-width: 1160px; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-ediik9, .framer-zXyoy .framer-ziimlw, .framer-zXyoy .framer-caksj5 { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; cursor: default; flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-zXyoy .framer-1o4du9l { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 32px; position: relative; width: min-content; }\",\".framer-zXyoy .framer-703vja { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 565px; }\",\".framer-zXyoy .framer-1gv57wt { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-1g158vc, .framer-zXyoy .framer-hobbwj, .framer-zXyoy .framer-1t2apkv, .framer-zXyoy .framer-qccxys { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: 1 0 0px; height: auto; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\",\".framer-zXyoy .framer-kx1a3j-container { aspect-ratio: 1 / 1; bottom: -3px; flex: none; height: var(--framer-aspect-ratio-supported, 37px); left: 349px; position: absolute; width: 37px; z-index: 1; }\",\".framer-zXyoy .framer-976h5w-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 37px); left: 350px; position: absolute; top: -10px; width: 37px; z-index: 1; }\",\".framer-zXyoy .framer-1t3e9ef, .framer-zXyoy .framer-etz7uj, .framer-zXyoy .framer-2kzsqb { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 28px; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-ug57pf { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-9hab33-container { aspect-ratio: 1 / 1; bottom: -1px; flex: none; height: var(--framer-aspect-ratio-supported, 37px); left: 109px; position: absolute; width: 37px; z-index: 1; }\",\".framer-zXyoy .framer-udzrbi { align-content: center; align-items: center; background-color: var(--token-010b0db2-3da8-478c-9431-ed687e622849, #090a0c); border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-top-left-radius: 12px; border-top-right-radius: 12px; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 16px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-15hgv2 { align-content: center; align-items: center; background-color: var(--token-010b0db2-3da8-478c-9431-ed687e622849, #090a0c); display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 80px 140px 120px 140px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-ie0xzn { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 70px; height: min-content; justify-content: center; max-width: 1160px; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-zXyoy .framer-n3oabx { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-148z2pe { align-content: flex-start; align-items: flex-start; align-self: stretch; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 30px; height: auto; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-zXyoy .framer-1va3py3 { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; height: 1px; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-1ne4lal { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; max-width: 460px; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-zXyoy .framer-1ndbkbb { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 2px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 700px; }\",\".framer-zXyoy .framer-36rb2i-container, .framer-zXyoy .framer-ahfl2t-container, .framer-zXyoy .framer-fund4t-container { flex: none; height: auto; position: relative; width: 100%; }\",\".framer-zXyoy .framer-13fjbno, .framer-zXyoy .framer-1luugms { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: 1 0 0px; height: auto; max-width: 460px; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\",\".framer-zXyoy .framer-4ox92q { -webkit-user-select: none; bottom: -142px; flex: none; height: 132px; left: 295px; overflow: visible; pointer-events: none; position: absolute; user-select: none; width: 81px; }\",\".framer-zXyoy .framer-1cd4ptu { height: 130px; left: 1px; position: absolute; top: 2px; width: 79px; }\",\".framer-zXyoy .framer-gxtbt2 { height: 130px; left: 0px; position: absolute; top: 0px; width: 79px; }\",\".framer-zXyoy .framer-1sze1qv { height: 30px; left: 2px; position: absolute; top: 44px; width: 46px; }\",\".framer-zXyoy .framer-1v9xi92 { --border-bottom-width: 0px; --border-color: #222222; --border-left-width: 0px; --border-right-width: 0px; --border-style: solid; --border-top-width: 0px; align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: center; max-width: 1440px; overflow: var(--overflow-clip-fallback, clip); padding: 80px 140px 160px 140px; position: relative; width: 1px; }\",\".framer-zXyoy .framer-v2wa3l { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 80px; height: min-content; justify-content: center; max-width: 55%; overflow: hidden; padding: 0px; position: relative; width: 100%; z-index: 1; }\",\".framer-zXyoy .framer-12ik72m { -webkit-filter: contrast(1.2) grayscale(0) saturate(1.1); aspect-ratio: 0.8703099510603589 / 1; filter: contrast(1.2) grayscale(0) saturate(1.1); flex: none; height: var(--framer-aspect-ratio-supported, 662px); overflow: visible; position: absolute; right: 0px; top: 20px; width: 40%; z-index: 1; }\",\".framer-zXyoy .framer-1uv7bc4 { --border-bottom-width: 1px; --border-color: #222222; --border-left-width: 0px; --border-right-width: 0px; --border-style: solid; --border-top-width: 1px; align-content: center; align-items: center; background-color: var(--token-010b0db2-3da8-478c-9431-ed687e622849, #090a0c); border-top-left-radius: 60px; border-top-right-radius: 60px; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 100px 140px 100px 140px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-1cr9syj { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; max-width: 1160px; overflow: var(--overflow-clip-fallback, clip); padding: 0px 0px 50px 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-da74v9 { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; cursor: default; flex: 1 0 0px; height: auto; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; z-index: 1; }\",\".framer-zXyoy .framer-y9grer { --border-bottom-width: 0px; --border-color: #ffffff; --border-left-width: 0px; --border-right-width: 0px; --border-style: solid; --border-top-width: 1px; align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; max-width: 1160px; overflow: hidden; padding: 20px 0px 20px 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-1aybml6, .framer-zXyoy .framer-1y79blt { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 80px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-1s5ssx9, .framer-zXyoy .framer-1lwvrd3 { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 30px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 1px; }\",\".framer-zXyoy .framer-1jo2wld, .framer-zXyoy .framer-pk21vl { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-end; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-10wz1n1 { aspect-ratio: 1.2313432835820894 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 329px); overflow: visible; position: relative; width: 75%; }\",\".framer-zXyoy .framer-egnq31, .framer-zXyoy .framer-mq22nc { align-content: center; align-items: center; align-self: stretch; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: auto; justify-content: flex-end; overflow: hidden; padding: 0px; position: relative; width: 1px; }\",\".framer-zXyoy .framer-jiozuf, .framer-zXyoy .framer-13y84pd { --framer-paragraph-spacing: 0px; flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-zXyoy .framer-1sl17nd { --border-bottom-width: 0px; --border-color: #ffffff; --border-left-width: 0px; --border-right-width: 0px; --border-style: solid; --border-top-width: 1px; align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; max-width: 1160px; overflow: hidden; padding: 20px 0px 0px 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-17a5crh { aspect-ratio: 1.40625 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 288px); overflow: visible; position: relative; width: 75%; }\",\".framer-zXyoy .framer-jx0221 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 60vh; justify-content: flex-start; max-width: 1440px; overflow: hidden; padding: 80px 140px 80px 140px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-1uls3bx { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 36px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 100%; z-index: 1; }\",\".framer-zXyoy .framer-y74y8y { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; cursor: default; flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; z-index: 1; }\",\".framer-zXyoy .framer-x4tlx6-container { flex: none; height: 60vh; left: calc(50.00000000000002% - min(1160px, 80.55555555555556%) / 2); max-width: 1160px; position: absolute; top: 0px; width: 81%; z-index: 1; }\",\".framer-zXyoy .framer-1eo6s9p { align-content: center; align-items: center; background-color: #ffffff; border-bottom-left-radius: 40px; border-bottom-right-radius: 40px; border-top-left-radius: 40px; border-top-right-radius: 40px; cursor: grab; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 12px 20px 12px 20px; position: relative; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-zXyoy .framer-1ylgb82, .framer-zXyoy .framer-jybovi, .framer-zXyoy .framer-20828h, .framer-zXyoy .framer-1mf7vvt { --1m6trwb: 0; --21h8s6: var(--token-010b0db2-3da8-478c-9431-ed687e622849, #090a0c); --pgex8v: 1.5; aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 24px); position: relative; width: 24px; }\",\".framer-zXyoy .framer-phq09p, .framer-zXyoy .framer-27qg7a, .framer-zXyoy .framer-xd71sb, .framer-zXyoy .framer-1kfz873 { align-content: center; align-items: center; background-color: var(--token-8bebc0c2-7bc5-4d54-860e-ba3cb62aa715, #fe6d00); border-bottom-left-radius: 40px; border-bottom-right-radius: 40px; border-top-left-radius: 40px; border-top-right-radius: 40px; cursor: grab; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 12px 20px 12px 20px; position: relative; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-zXyoy .framer-7k7ql9 { --1m6trwb: 0; --21h8s6: #ffffff; --pgex8v: 1.5; aspect-ratio: 1 / 1; cursor: grab; flex: none; height: var(--framer-aspect-ratio-supported, 24px); position: relative; width: 24px; }\",\".framer-zXyoy .framer-jc7ghz, .framer-zXyoy .framer-1tgib87 { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; cursor: grab; flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-zXyoy .framer-14jhohw, .framer-zXyoy .framer-27aak1, .framer-zXyoy .framer-gylif9 { align-content: center; align-items: center; background-color: #ffffff; border-bottom-left-radius: 40px; border-bottom-right-radius: 40px; border-top-left-radius: 40px; border-top-right-radius: 40px; cursor: grab; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 12px 20px 12px 20px; position: relative; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-zXyoy .framer-8jsb6s { --1m6trwb: 0; --21h8s6: var(--token-010b0db2-3da8-478c-9431-ed687e622849, #090a0c); --pgex8v: 1.5; aspect-ratio: 1 / 1; cursor: grab; flex: none; height: var(--framer-aspect-ratio-supported, 24px); position: relative; width: 24px; }\",\".framer-zXyoy .framer-zf5e5w, .framer-zXyoy .framer-9iov2r, .framer-zXyoy .framer-itob2i { --1m6trwb: 0; --21h8s6: var(--token-4905cbc5-920c-46e6-ae67-5eefd4b3b71a, #ffffff); --pgex8v: 1.5; aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 24px); position: relative; width: 24px; }\",\".framer-zXyoy .framer-145xl1v { align-content: center; align-items: center; background-color: #ffffff; border-bottom-left-radius: 40px; border-bottom-right-radius: 40px; border-top-left-radius: 40px; border-top-right-radius: 40px; cursor: grab; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 12px 20px 12px 20.3969555px; position: relative; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-zXyoy .framer-meail9 { --border-bottom-width: 0px; --border-color: #222222; --border-left-width: 0px; --border-right-width: 0px; --border-style: solid; --border-top-width: 1px; align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 80px 140px 85px 140px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-1800ryk { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; max-width: 1160px; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-5j1d3 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; max-width: 1160px; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: min-content; }\",\".framer-zXyoy .framer-tcfrye { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-evenly; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 1160px; }\",\".framer-zXyoy .framer-z3v1ox-container, .framer-zXyoy .framer-1y6hnzs-container, .framer-zXyoy .framer-u6wbka-container, .framer-zXyoy .framer-1dsz7kf-container, .framer-zXyoy .framer-1hr18ox-container, .framer-zXyoy .framer-1cd1b3x-container, .framer-zXyoy .framer-h942qj-container, .framer-zXyoy .framer-1y8frl9-container, .framer-zXyoy .framer-1q5uj95-container, .framer-zXyoy .framer-obc8zq-container, .framer-zXyoy .framer-hhol97-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-zXyoy .framer-2w59ni { align-content: center; align-items: center; align-self: stretch; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: auto; }\",\".framer-zXyoy .framer-1y486g6 { --border-bottom-width: 0px; --border-color: #222222; --border-left-width: 0px; --border-right-width: 0px; --border-style: solid; --border-top-width: 1px; align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 53px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 53px 140px 53px 140px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-vsokvh { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; cursor: default; flex: none; height: auto; max-width: 1160px; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-zXyoy .framer-1xpzlsa { align-content: flex-end; align-items: flex-end; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; max-width: 1160px; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-zXyoy .framer-1exnfu0 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-zXyoy .framer-j8m68x { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px 0px 20px 0px; position: relative; width: min-content; }\",\".framer-zXyoy .framer-uwyt6c { align-content: center; align-items: center; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; border-top-left-radius: 8px; border-top-right-radius: 8px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 5px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-zXyoy .framer-1eot86y { align-content: center; align-items: center; background-color: #fefdf9; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; border-top-left-radius: 8px; border-top-right-radius: 8px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 26px; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 5px; position: relative; width: 26px; will-change: var(--framer-will-change-override, transform); }\",\".framer-zXyoy .framer-dwbokk { --1ww558a: 2; --4rxgx6: #090a0c; aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 16px); position: relative; width: 16px; }\",\".framer-zXyoy .framer-2okszc { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 5px; position: relative; width: min-content; }\",\".framer-zXyoy .framer-1qe1tw8, .framer-zXyoy .framer-1fs7ps7 { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 26px); overflow: visible; position: relative; width: 26px; }\",\".framer-zXyoy .framer-gbted0 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; min-height: 26px; min-width: 1px; overflow: var(--overflow-clip-fallback, clip); padding: 5px; position: relative; width: min-content; }\",\".framer-zXyoy .framer-13lmjt0 { --border-bottom-width: 0px; --border-color: #222222; --border-left-width: 0px; --border-right-width: 0px; --border-style: solid; --border-top-width: 1px; align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: var(--overflow-clip-fallback, clip); padding: 20px 64px 20px 64px; position: relative; width: 100%; }\",'.framer-zXyoy[data-border=\"true\"]::after, .framer-zXyoy [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; corner-shape: inherit; pointer-events: none; }',\"@media (min-width: 810px) and (max-width: 999.98px) { .framer-zXyoy.framer-72rtr7 { width: 810px; } .framer-zXyoy .framer-1ijbad4 { left: 50%; transform: translateX(-50%); } .framer-zXyoy .framer-krl7gi-container { height: var(--framer-aspect-ratio-supported, 456px); } .framer-zXyoy .framer-1b1y4r9 { padding: 120px 30px 120px 30px; } .framer-zXyoy .framer-1pjgv6x { padding: 0px 30px 120px 30px; } .framer-zXyoy .framer-1921e05 { padding: 100px 30px 100px 30px; } .framer-zXyoy .framer-15hgv2, .framer-zXyoy .framer-meail9 { padding: 19px 30px 31px 30px; } .framer-zXyoy .framer-ie0xzn { gap: 60px; } .framer-zXyoy .framer-n3oabx { flex-direction: column; gap: 40px; justify-content: center; } .framer-zXyoy .framer-148z2pe { align-self: unset; flex: none; height: min-content; width: 100%; } .framer-zXyoy .framer-1va3py3 { flex: none; gap: 0px; height: min-content; justify-content: center; } .framer-zXyoy .framer-1ndbkbb { width: 100%; } .framer-zXyoy .framer-1luugms { flex: none; width: 100%; } .framer-zXyoy .framer-1v9xi92 { align-content: center; align-items: center; padding: 19px 30px 0px 30px; } .framer-zXyoy .framer-ziimlw { white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; } .framer-zXyoy .framer-v2wa3l { max-width: 100%; } .framer-zXyoy .framer-12ik72m { height: var(--framer-aspect-ratio-supported, 518px); position: relative; right: unset; top: unset; width: 60%; } .framer-zXyoy .framer-1uv7bc4 { border-top-left-radius: 30px; border-top-right-radius: 30px; padding: 60px 30px 60px 30px; } .framer-zXyoy .framer-10wz1n1 { height: var(--framer-aspect-ratio-supported, 204px); } .framer-zXyoy .framer-17a5crh { height: var(--framer-aspect-ratio-supported, 179px); } .framer-zXyoy .framer-jx0221 { padding: 80px 30px 80px 30px; } .framer-zXyoy .framer-y74y8y { z-index: unset; } .framer-zXyoy .framer-x4tlx6-container { left: calc(50.00000000000002% - min(1160px, 100%) / 2); width: 100%; } .framer-zXyoy .framer-tcfrye { align-self: stretch; width: auto; } .framer-zXyoy .framer-1y486g6 { gap: 19px; padding: 19px 30px 31px 30px; }}\",\"@media (max-width: 809.98px) { .framer-zXyoy.framer-72rtr7 { width: 390px; } .framer-zXyoy .framer-1ce3lk2 { height: 60vh; } .framer-zXyoy .framer-1ijbad4 { left: 50%; top: 60px; transform: translateX(-50%); } .framer-zXyoy .framer-15drsev-container { height: var(--framer-aspect-ratio-supported, 50px); right: 58px; top: 8px; width: 50px; } .framer-zXyoy .framer-krl7gi-container { height: var(--framer-aspect-ratio-supported, 220px); } .framer-zXyoy .framer-1b1y4r9 { padding: 60px 30px 60px 30px; } .framer-zXyoy .framer-1if9o0m, .framer-zXyoy .framer-of7vcw, .framer-zXyoy .framer-n3oabx { flex-direction: column; } .framer-zXyoy .framer-13o6xag, .framer-zXyoy .framer-1x401tk, .framer-zXyoy .framer-19zzdz, .framer-zXyoy .framer-1hanv5e, .framer-zXyoy .framer-jospzw, .framer-zXyoy .framer-f2pbp7, .framer-zXyoy .framer-13fjbno, .framer-zXyoy .framer-1s5ssx9, .framer-zXyoy .framer-1lwvrd3 { flex: none; width: 100%; } .framer-zXyoy .framer-1pjgv6x { padding: 0px 30px 120px 30px; } .framer-zXyoy .framer-5gdvzy { flex-direction: column; gap: 16px; justify-content: center; } .framer-zXyoy .framer-e61m2m, .framer-zXyoy .framer-prmhf8 { align-self: unset; flex: none; gap: 20px; height: min-content; justify-content: center; width: 100%; } .framer-zXyoy .framer-1921e05 { border-top-left-radius: 40px; border-top-right-radius: 40px; padding: 60px 30px 60px 30px; } .framer-zXyoy .framer-ss1z6h { gap: 33px; } .framer-zXyoy .framer-1o4du9l { overflow: visible; padding: 0px; } .framer-zXyoy .framer-703vja { width: 330px; } .framer-zXyoy .framer-kx1a3j-container { bottom: -5px; left: 192px; } .framer-zXyoy .framer-976h5w-container { height: var(--framer-aspect-ratio-supported, 32px); left: 292px; top: -8px; width: 32px; } .framer-zXyoy .framer-9hab33-container { bottom: 0px; height: var(--framer-aspect-ratio-supported, 32px); left: 51px; width: 32px; } .framer-zXyoy .framer-udzrbi { border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; border-top-left-radius: 10px; border-top-right-radius: 10px; } .framer-zXyoy .framer-15hgv2 { padding: 60px 30px 80px 30px; scroll-margin-top: 40px; } .framer-zXyoy .framer-148z2pe, .framer-zXyoy .framer-egnq31, .framer-zXyoy .framer-mq22nc { align-self: unset; flex: none; height: min-content; width: 100%; } .framer-zXyoy .framer-1va3py3 { flex: none; gap: 0px; height: min-content; justify-content: center; } .framer-zXyoy .framer-1ndbkbb { gap: 15px; overflow: visible; padding: 30px 0px 0px 0px; width: 100%; } .framer-zXyoy .framer-1v9xi92 { align-content: center; align-items: center; gap: 33px; padding: 19px 30px 0px 30px; } .framer-zXyoy .framer-ziimlw { white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; } .framer-zXyoy .framer-v2wa3l { gap: 60px; max-width: 100%; } .framer-zXyoy .framer-12ik72m { height: var(--framer-aspect-ratio-supported, 303px); position: relative; right: unset; top: unset; width: 80%; } .framer-zXyoy .framer-1uv7bc4 { border-top-left-radius: 30px; border-top-right-radius: 30px; gap: 33px; padding: 40px 30px 31px 30px; } .framer-zXyoy .framer-1aybml6, .framer-zXyoy .framer-1y79blt { flex-direction: column; gap: 40px; } .framer-zXyoy .framer-10wz1n1 { flex: 1 0 0px; height: var(--framer-aspect-ratio-supported, 268px); width: 1px; } .framer-zXyoy .framer-17a5crh { flex: 1 0 0px; height: var(--framer-aspect-ratio-supported, 235px); width: 1px; } .framer-zXyoy .framer-jx0221 { padding: 40px 30px 40px 30px; } .framer-zXyoy .framer-y74y8y { z-index: unset; } .framer-zXyoy .framer-x4tlx6-container { left: calc(50.00000000000002% - min(1160px, 100%) / 2); width: 100%; } .framer-zXyoy .framer-meail9, .framer-zXyoy .framer-1y486g6 { gap: 19px; padding: 40px 30px 40px 30px; } .framer-zXyoy .framer-5j1d3 { gap: 4px; width: 100%; } .framer-zXyoy .framer-tcfrye { gap: 12px; justify-content: center; width: 100%; } .framer-zXyoy .framer-2w59ni { align-self: unset; width: 100%; } .framer-zXyoy .framer-1xpzlsa { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 40px; justify-content: center; } .framer-zXyoy .framer-1exnfu0 { width: 100%; } .framer-zXyoy .framer-j8m68x { align-content: center; align-items: center; gap: 0px; } .framer-zXyoy .framer-uwyt6c { order: 3; } .framer-zXyoy .framer-2okszc { order: 5; } .framer-zXyoy .framer-gbted0 { min-height: unset; min-width: unset; order: 4; } .framer-zXyoy .framer-13lmjt0 { flex-direction: column; gap: 12px; justify-content: center; padding: 28px 30px 28px 30px; } .framer-zXyoy .framer-qccxys { flex: none; order: 2; width: 100%; }}\",\"@media (min-width: 1000px) and (max-width: 1439.98px) { .framer-zXyoy.framer-72rtr7 { width: 1000px; } .framer-zXyoy .framer-krl7gi-container { height: var(--framer-aspect-ratio-supported, 563px); } .framer-zXyoy .framer-1b1y4r9 { padding: 120px 100px 120px 100px; } .framer-zXyoy .framer-1pjgv6x { padding: 0px 100px 120px 100px; } .framer-zXyoy .framer-1921e05, .framer-zXyoy .framer-1uv7bc4, .framer-zXyoy .framer-jx0221 { padding: 80px 100px 80px 100px; } .framer-zXyoy .framer-15hgv2 { padding: 80px 100px 120px 100px; } .framer-zXyoy .framer-ie0xzn { gap: 60px; } .framer-zXyoy .framer-1ndbkbb { width: 60%; } .framer-zXyoy .framer-1v9xi92, .framer-zXyoy .framer-meail9, .framer-zXyoy .framer-1y486g6 { padding: 40px 100px 65px 100px; } .framer-zXyoy .framer-12ik72m { height: var(--framer-aspect-ratio-supported, 459px); } .framer-zXyoy .framer-10wz1n1 { height: var(--framer-aspect-ratio-supported, 219px); } .framer-zXyoy .framer-17a5crh { height: var(--framer-aspect-ratio-supported, 192px); } .framer-zXyoy .framer-x4tlx6-container { left: calc(50.00000000000002% - min(1160px, 100%) / 2); width: 100%; } .framer-zXyoy .framer-5j1d3, .framer-zXyoy .framer-tcfrye { width: 100%; } .framer-zXyoy .framer-1xpzlsa { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 40px; justify-content: center; }}\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 7215\n * @framerIntrinsicWidth 1440\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"Y9g6bPdzL\":{\"layout\":[\"fixed\",\"auto\"]},\"CWxCCguB2\":{\"layout\":[\"fixed\",\"auto\"]},\"avdoUquCU\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerAcceptsLayoutTemplate true\n * @framerScrollSections {\"UZH61u4bt\":{\"pattern\":\":UZH61u4bt\",\"name\":\"about\"},\"hYmrCCNQt\":{\"pattern\":\":hYmrCCNQt\",\"name\":\"about\"},\"Dmkji1AWt\":{\"pattern\":\":Dmkji1AWt\",\"name\":\"my-thesis\"},\"xncRtHxEj\":{\"pattern\":\":xncRtHxEj\",\"name\":\"about\"},\"u0EbhQrWw\":{\"pattern\":\":u0EbhQrWw\",\"name\":\"contact\"}}\n * @framerResponsiveScreen true\n * @framerLayoutTemplateFlowEffect true\n */const FrameraugiA20Il=withCSS(Component,css,\"framer-zXyoy\");export default FrameraugiA20Il;FrameraugiA20Il.displayName=\"Home\";FrameraugiA20Il.defaultProps={height:7215,width:1440};addFonts(FrameraugiA20Il,[{explicitInter:true,fonts:[{cssFamilyName:\"Neue Regrade Extrabold\",source:\"custom\",style:\"normal\",uiFamilyName:\"Neue Regrade\",url:\"https://framerusercontent.com/assets/U9a5M235XnGyGBawwQTxbbmz0M.woff2\",weight:\"800\"},{cssFamilyName:\"Neue Regrade Medium\",source:\"custom\",style:\"normal\",uiFamilyName:\"Neue Regrade\",url:\"https://framerusercontent.com/assets/wGvxXIJQ7L3I70QRmgn73GXnHI.woff2\",weight:\"500\"},{cssFamilyName:\"Neue Regrade Semibold\",source:\"custom\",style:\"normal\",uiFamilyName:\"Neue Regrade\",url:\"https://framerusercontent.com/assets/r91FIoVSKzBqL1KI7tS58rfrnBM.woff2\",weight:\"600\"},{cssFamilyName:\"Neue Regrade Regular\",source:\"custom\",style:\"normal\",uiFamilyName:\"Neue Regrade\",url:\"https://framerusercontent.com/assets/qQaGF3U69wQhEKah417FLXpPiUw.woff2\",weight:\"400\"}]},...LorenzoInteractivePortraitFonts,...LottieFonts,...PlaceFonts,...AjayFonts,...TickerFonts,...VideoFonts,...PlayFonts,...CubeFonts,...CurrencyEthFonts,...TimelineFonts,...RevealFonts,...BabyFonts,...DogFonts,...CookingPotFonts,...TennisBallFonts,...BowlingBallFonts,...BluetoothConnectedFonts,...BuildingApartmentFonts,...CityFonts,...AirplaneTakeoffFonts,...PhysicsFonts,...ClientFonts,...EmailLetterBounceFonts,...InstagramFonts,...XTwitterFonts,...CursorFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameraugiA20Il\",\"slots\":[],\"annotations\":{\"framerScrollSections\":\"{\\\"UZH61u4bt\\\":{\\\"pattern\\\":\\\":UZH61u4bt\\\",\\\"name\\\":\\\"about\\\"},\\\"hYmrCCNQt\\\":{\\\"pattern\\\":\\\":hYmrCCNQt\\\",\\\"name\\\":\\\"about\\\"},\\\"Dmkji1AWt\\\":{\\\"pattern\\\":\\\":Dmkji1AWt\\\",\\\"name\\\":\\\"my-thesis\\\"},\\\"xncRtHxEj\\\":{\\\"pattern\\\":\\\":xncRtHxEj\\\",\\\"name\\\":\\\"about\\\"},\\\"u0EbhQrWw\\\":{\\\"pattern\\\":\\\":u0EbhQrWw\\\",\\\"name\\\":\\\"contact\\\"}}\",\"framerLayoutTemplateFlowEffect\":\"true\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerResponsiveScreen\":\"true\",\"framerIntrinsicHeight\":\"7215\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"Y9g6bPdzL\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"CWxCCguB2\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"avdoUquCU\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerAcceptsLayoutTemplate\":\"true\",\"framerIntrinsicWidth\":\"1440\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (5d1daa9)\nconst snippets=[];const queryLoaders={};export const snippetsSorting={bodyEnd:[],bodyStart:[],headEnd:[\"legacy-headEnd\"],headStart:[]};export async function getSnippets(pageId,pathVariables,activeLocale){const queryLoader=queryLoaders[pageId];const params=queryLoader?await queryLoader(pathVariables,activeLocale):undefined;const result={bodyEnd:[],bodyStart:[],headEnd:[],headStart:[]};for(const snippet of snippets){if(snippet.pageIds&&!snippet.pageIds.has(pageId))continue;const code=snippet.code(params);if(code){result[snippet.placement].push({...snippet,code});}}return result;}\nexport const __FramerMetadata__ = {\"exports\":{\"snippetsSorting\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getSnippets\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{withCSS}from\"framer\";const NotFoundPage=()=>{React.useEffect(()=>{let robotsTag=document.querySelector('meta[name=\"robots\"]');if(robotsTag){robotsTag.setAttribute(\"content\",\"noindex\");}else{robotsTag=document.createElement(\"meta\");robotsTag.setAttribute(\"name\",\"robots\");robotsTag.setAttribute(\"content\",\"noindex\");document.head.appendChild(robotsTag);}},[]);return /*#__PURE__*/_jsx(\"div\",{className:\"__framer-not-found-page\",style:{display:\"flex\",height:\"100vh\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:\"var(--color-primary)\",background:\"var(--color-background)\",fontSize:\"var(--font-size-body)\",boxSizing:\"border-box\",fontFeatureSettings:'\"liga\", \"clig\"',fontVariantLigatures:\"common-ligatures\",textRendering:\"optimizeLegibility\"},children:/*#__PURE__*/_jsxs(\"main\",{style:{boxSizing:\"border-box\",fontFamily:'\"Inter\", sans-serif',fontWeight:500,maxWidth:\"240px\",width:\"100%\",display:\"flex\",alignItems:\"center\",flexDirection:\"column\",padding:\"0 20px\",textWrap:\"balance\"},children:[/*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"14\",height:\"21\",style:{verticalAlign:\"middle\",color:\"var(--color-primary)\",marginBottom:\"20px\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M 14 0 L 14 7 L 7 7 L 0 0 Z M 14 14 L 7 14 L 7 21 L 0 14 L 0 7 L 7 7 Z\",fill:\"currentColor\"})}),/*#__PURE__*/_jsx(\"h1\",{style:{margin:\"0 0 10px 0\",fontSize:\"var(--font-size-title)\",color:\"var(--color-primary)\",textAlign:\"center\"},children:\"Page Not Found\"}),/*#__PURE__*/_jsx(\"div\",{style:{color:\"var(--color-secondary)\",marginBottom:\"20px\",lineHeight:\"1.5em\",textAlign:\"center\"},children:\"The page you are looking for does not exist or may have been moved.\"}),/*#__PURE__*/_jsx(\"a\",{href:\"/\",role:\"button\",style:{backgroundColor:\"var(--color-tint)\",color:\"#ffffff\",paddingLeft:\"8px\",paddingRight:\"8px\",borderRadius:\"8px\",lineHeight:\"30px\",height:\"30px\",textDecoration:\"none\",verticalAlign:\"baseline\"},children:\"Back to Home\"})]})});};const css=[`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/hyOgCu0Xnghbimh0pE8QTvtt2AU.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,\n        U+FE2E-FE2F;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/NeGmSOXrPBfEFIy5YZeHq17LEDA.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/oYaAX5himiTPYuN8vLWnqBbfD2s.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+1F00-1FFF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/lEJLP4R0yuCaMCjSXYHtJw72M.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0370-03FF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/cRJyLNuTJR5jbyKzGi33wU9cqIQ.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,\n        U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/1ZFS7N918ojhhd0nQWdj3jz4w.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,\n        U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,\n        U+2212, U+2215, U+FEFF, U+FFFD;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/A0Wcc7NgXMjUuFdquHDrIZpzZw0.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169,\n        U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/5A3Ce6C9YYmCjpQx9M4inSaKU.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,\n        U+FE2E-FE2F;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+1F00-1FFF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0370-03FF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/otTaNuNpVK4RbdlT7zDDdKvQBA.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,\n        U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/d3tHnaQIAeqiE5hGcRw4mmgWYU.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,\n        U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,\n        U+2212, U+2215, U+FEFF, U+FFFD;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/DolVirEGb34pEXEp8t8FQBSK4.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169,\n        U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;\n    }`,`@font-face {\n      font-family: Inter Placeholder;\n      src: local(\"Arial\");\n      ascent-override: 89.79%;\n      descent-override: 22.36%;\n      line-gap-override: 0%;\n      size-adjust: 107.89%;\n    }`,`.__framer-not-found-page {\n      --color-background: #ffffff;\n      --color-primary: #333;\n      --color-secondary: #888;\n      --color-tint: #0099ff;\n      --font-size-body: 12px;\n      --font-size-title: 12px;\n    }`,`@media (prefers-color-scheme: dark) {\n      .__framer-not-found-page {\n        --color-background: #000000;\n        --color-primary: #fff;\n        --color-secondary: #888;\n      }\n    }`];const component=withCSS(NotFoundPage,css);export default component;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"component\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./NotFoundPage.map","/*\n * NotFoundPage (framer/SitesNotFoundPage@1.4.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/7cPhjQw0EGNBHRZlzbhH/4hSO1fMoujYmMhk8FjXZ/NotFoundPage.js\"\nexport { default } from \"https://framerusercontent.com/modules/7cPhjQw0EGNBHRZlzbhH/4hSO1fMoujYmMhk8FjXZ/NotFoundPage.js\"\n","var e={};\n/*! @license DOMPurify 3.0.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.6/LICENSE */(function(t,n){e=n()})(0,(function(){const{entries:e,setPrototypeOf:t,isFrozen:n,getPrototypeOf:o,getOwnPropertyDescriptor:a}=Object;let{freeze:r,seal:i,create:l}=Object;let{apply:s,construct:c}=\"undefined\"!==typeof Reflect&&Reflect;r||(r=function freeze(e){return e});i||(i=function seal(e){return e});s||(s=function apply(e,t,n){return e.apply(t,n)});c||(c=function construct(e,t){return new e(...t)});const u=unapply(Array.prototype.forEach);const d=unapply(Array.prototype.pop);const f=unapply(Array.prototype.push);const m=unapply(String.prototype.toLowerCase);const p=unapply(String.prototype.toString);const h=unapply(String.prototype.match);const g=unapply(String.prototype.replace);const T=unapply(String.prototype.indexOf);const y=unapply(String.prototype.trim);const S=unapply(RegExp.prototype.test);const E=unconstruct(TypeError);\n/**\n   * Creates a new function that calls the given function with a specified thisArg and arguments.\n   *\n   * @param {Function} func - The function to be wrapped and called.\n   * @returns {Function} A new function that calls the given function with a specified thisArg and arguments.\n   */function unapply(e){return function(t){for(var n=arguments.length,o=new Array(n>1?n-1:0),a=1;a<n;a++)o[a-1]=arguments[a];return s(e,t,o)}}\n/**\n   * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n   *\n   * @param {Function} func - The constructor function to be wrapped and called.\n   * @returns {Function} A new function that constructs an instance of the given constructor function with the provided arguments.\n   */function unconstruct(e){return function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return c(e,n)}}\n/**\n   * Add properties to a lookup table\n   *\n   * @param {Object} set - The set to which elements will be added.\n   * @param {Array} array - The array containing elements to be added to the set.\n   * @param {Function} transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n   * @returns {Object} The modified set with added elements.\n   */function addToSet(e,o){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:m;t&&t(e,null);let r=o.length;while(r--){let t=o[r];if(\"string\"===typeof t){const e=a(t);if(e!==t){n(o)||(o[r]=e);t=e}}e[t]=true}return e}\n/**\n   * Shallow clone an object\n   *\n   * @param {Object} object - The object to be cloned.\n   * @returns {Object} A new object that copies the original.\n   */function clone(t){const n=l(null);for(const[o,r]of e(t))void 0!==a(t,o)&&(n[o]=r);return n}\n/**\n   * This method automatically checks if the prop is function or getter and behaves accordingly.\n   *\n   * @param {Object} object - The object to look up the getter function in its prototype chain.\n   * @param {String} prop - The property name for which to find the getter function.\n   * @returns {Function} The getter function found in the prototype chain or a fallback function.\n   */function lookupGetter(e,t){while(null!==e){const n=a(e,t);if(n){if(n.get)return unapply(n.get);if(\"function\"===typeof n.value)return unapply(n.value)}e=o(e)}function fallbackValue(e){console.warn(\"fallback value for\",e);return null}return fallbackValue}const _=r([\"a\",\"abbr\",\"acronym\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"bdi\",\"bdo\",\"big\",\"blink\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"center\",\"cite\",\"code\",\"col\",\"colgroup\",\"content\",\"data\",\"datalist\",\"dd\",\"decorator\",\"del\",\"details\",\"dfn\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"element\",\"em\",\"fieldset\",\"figcaption\",\"figure\",\"font\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"img\",\"input\",\"ins\",\"kbd\",\"label\",\"legend\",\"li\",\"main\",\"map\",\"mark\",\"marquee\",\"menu\",\"menuitem\",\"meter\",\"nav\",\"nobr\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"section\",\"select\",\"shadow\",\"small\",\"source\",\"spacer\",\"span\",\"strike\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"tt\",\"u\",\"ul\",\"var\",\"video\",\"wbr\"]);const A=r([\"svg\",\"a\",\"altglyph\",\"altglyphdef\",\"altglyphitem\",\"animatecolor\",\"animatemotion\",\"animatetransform\",\"circle\",\"clippath\",\"defs\",\"desc\",\"ellipse\",\"filter\",\"font\",\"g\",\"glyph\",\"glyphref\",\"hkern\",\"image\",\"line\",\"lineargradient\",\"marker\",\"mask\",\"metadata\",\"mpath\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialgradient\",\"rect\",\"stop\",\"style\",\"switch\",\"symbol\",\"text\",\"textpath\",\"title\",\"tref\",\"tspan\",\"view\",\"vkern\"]);const b=r([\"feBlend\",\"feColorMatrix\",\"feComponentTransfer\",\"feComposite\",\"feConvolveMatrix\",\"feDiffuseLighting\",\"feDisplacementMap\",\"feDistantLight\",\"feDropShadow\",\"feFlood\",\"feFuncA\",\"feFuncB\",\"feFuncG\",\"feFuncR\",\"feGaussianBlur\",\"feImage\",\"feMerge\",\"feMergeNode\",\"feMorphology\",\"feOffset\",\"fePointLight\",\"feSpecularLighting\",\"feSpotLight\",\"feTile\",\"feTurbulence\"]);const N=r([\"animate\",\"color-profile\",\"cursor\",\"discard\",\"font-face\",\"font-face-format\",\"font-face-name\",\"font-face-src\",\"font-face-uri\",\"foreignobject\",\"hatch\",\"hatchpath\",\"mesh\",\"meshgradient\",\"meshpatch\",\"meshrow\",\"missing-glyph\",\"script\",\"set\",\"solidcolor\",\"unknown\",\"use\"]);const w=r([\"math\",\"menclose\",\"merror\",\"mfenced\",\"mfrac\",\"mglyph\",\"mi\",\"mlabeledtr\",\"mmultiscripts\",\"mn\",\"mo\",\"mover\",\"mpadded\",\"mphantom\",\"mroot\",\"mrow\",\"ms\",\"mspace\",\"msqrt\",\"mstyle\",\"msub\",\"msup\",\"msubsup\",\"mtable\",\"mtd\",\"mtext\",\"mtr\",\"munder\",\"munderover\",\"mprescripts\"]);const R=r([\"maction\",\"maligngroup\",\"malignmark\",\"mlongdiv\",\"mscarries\",\"mscarry\",\"msgroup\",\"mstack\",\"msline\",\"msrow\",\"semantics\",\"annotation\",\"annotation-xml\",\"mprescripts\",\"none\"]);const D=r([\"#text\"]);const k=r([\"accept\",\"action\",\"align\",\"alt\",\"autocapitalize\",\"autocomplete\",\"autopictureinpicture\",\"autoplay\",\"background\",\"bgcolor\",\"border\",\"capture\",\"cellpadding\",\"cellspacing\",\"checked\",\"cite\",\"class\",\"clear\",\"color\",\"cols\",\"colspan\",\"controls\",\"controlslist\",\"coords\",\"crossorigin\",\"datetime\",\"decoding\",\"default\",\"dir\",\"disabled\",\"disablepictureinpicture\",\"disableremoteplayback\",\"download\",\"draggable\",\"enctype\",\"enterkeyhint\",\"face\",\"for\",\"headers\",\"height\",\"hidden\",\"high\",\"href\",\"hreflang\",\"id\",\"inputmode\",\"integrity\",\"ismap\",\"kind\",\"label\",\"lang\",\"list\",\"loading\",\"loop\",\"low\",\"max\",\"maxlength\",\"media\",\"method\",\"min\",\"minlength\",\"multiple\",\"muted\",\"name\",\"nonce\",\"noshade\",\"novalidate\",\"nowrap\",\"open\",\"optimum\",\"pattern\",\"placeholder\",\"playsinline\",\"poster\",\"preload\",\"pubdate\",\"radiogroup\",\"readonly\",\"rel\",\"required\",\"rev\",\"reversed\",\"role\",\"rows\",\"rowspan\",\"spellcheck\",\"scope\",\"selected\",\"shape\",\"size\",\"sizes\",\"span\",\"srclang\",\"start\",\"src\",\"srcset\",\"step\",\"style\",\"summary\",\"tabindex\",\"title\",\"translate\",\"type\",\"usemap\",\"valign\",\"value\",\"width\",\"xmlns\",\"slot\"]);const v=r([\"accent-height\",\"accumulate\",\"additive\",\"alignment-baseline\",\"ascent\",\"attributename\",\"attributetype\",\"azimuth\",\"basefrequency\",\"baseline-shift\",\"begin\",\"bias\",\"by\",\"class\",\"clip\",\"clippathunits\",\"clip-path\",\"clip-rule\",\"color\",\"color-interpolation\",\"color-interpolation-filters\",\"color-profile\",\"color-rendering\",\"cx\",\"cy\",\"d\",\"dx\",\"dy\",\"diffuseconstant\",\"direction\",\"display\",\"divisor\",\"dur\",\"edgemode\",\"elevation\",\"end\",\"fill\",\"fill-opacity\",\"fill-rule\",\"filter\",\"filterunits\",\"flood-color\",\"flood-opacity\",\"font-family\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-variant\",\"font-weight\",\"fx\",\"fy\",\"g1\",\"g2\",\"glyph-name\",\"glyphref\",\"gradientunits\",\"gradienttransform\",\"height\",\"href\",\"id\",\"image-rendering\",\"in\",\"in2\",\"k\",\"k1\",\"k2\",\"k3\",\"k4\",\"kerning\",\"keypoints\",\"keysplines\",\"keytimes\",\"lang\",\"lengthadjust\",\"letter-spacing\",\"kernelmatrix\",\"kernelunitlength\",\"lighting-color\",\"local\",\"marker-end\",\"marker-mid\",\"marker-start\",\"markerheight\",\"markerunits\",\"markerwidth\",\"maskcontentunits\",\"maskunits\",\"max\",\"mask\",\"media\",\"method\",\"mode\",\"min\",\"name\",\"numoctaves\",\"offset\",\"operator\",\"opacity\",\"order\",\"orient\",\"orientation\",\"origin\",\"overflow\",\"paint-order\",\"path\",\"pathlength\",\"patterncontentunits\",\"patterntransform\",\"patternunits\",\"points\",\"preservealpha\",\"preserveaspectratio\",\"primitiveunits\",\"r\",\"rx\",\"ry\",\"radius\",\"refx\",\"refy\",\"repeatcount\",\"repeatdur\",\"restart\",\"result\",\"rotate\",\"scale\",\"seed\",\"shape-rendering\",\"specularconstant\",\"specularexponent\",\"spreadmethod\",\"startoffset\",\"stddeviation\",\"stitchtiles\",\"stop-color\",\"stop-opacity\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke\",\"stroke-width\",\"style\",\"surfacescale\",\"systemlanguage\",\"tabindex\",\"targetx\",\"targety\",\"transform\",\"transform-origin\",\"text-anchor\",\"text-decoration\",\"text-rendering\",\"textlength\",\"type\",\"u1\",\"u2\",\"unicode\",\"values\",\"viewbox\",\"visibility\",\"version\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\",\"width\",\"word-spacing\",\"wrap\",\"writing-mode\",\"xchannelselector\",\"ychannelselector\",\"x\",\"x1\",\"x2\",\"xmlns\",\"y\",\"y1\",\"y2\",\"z\",\"zoomandpan\"]);const L=r([\"accent\",\"accentunder\",\"align\",\"bevelled\",\"close\",\"columnsalign\",\"columnlines\",\"columnspan\",\"denomalign\",\"depth\",\"dir\",\"display\",\"displaystyle\",\"encoding\",\"fence\",\"frame\",\"height\",\"href\",\"id\",\"largeop\",\"length\",\"linethickness\",\"lspace\",\"lquote\",\"mathbackground\",\"mathcolor\",\"mathsize\",\"mathvariant\",\"maxsize\",\"minsize\",\"movablelimits\",\"notation\",\"numalign\",\"open\",\"rowalign\",\"rowlines\",\"rowspacing\",\"rowspan\",\"rspace\",\"rquote\",\"scriptlevel\",\"scriptminsize\",\"scriptsizemultiplier\",\"selection\",\"separator\",\"separators\",\"stretchy\",\"subscriptshift\",\"supscriptshift\",\"symmetric\",\"voffset\",\"width\",\"xmlns\"]);const x=r([\"xlink:href\",\"xml:id\",\"xlink:title\",\"xml:space\",\"xmlns:xlink\"]);const C=i(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm);const O=i(/<%[\\w\\W]*|[\\w\\W]*%>/gm);const M=i(/\\${[\\w\\W]*}/gm);const I=i(/^data-[\\-\\w.\\u00B7-\\uFFFF]/);const P=i(/^aria-[\\-\\w]+$/);const U=i(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i);const F=i(/^(?:\\w+script|data):/i);const H=i(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g);const z=i(/^html$/i);var B=Object.freeze({__proto__:null,MUSTACHE_EXPR:C,ERB_EXPR:O,TMPLIT_EXPR:M,DATA_ATTR:I,ARIA_ATTR:P,IS_ALLOWED_URI:U,IS_SCRIPT_OR_DATA:F,ATTR_WHITESPACE:H,DOCTYPE_NAME:z});const G=function getGlobal(){return\"undefined\"===typeof window?null:window};\n/**\n   * Creates a no-op policy for internal use only.\n   * Don't export this function outside this module!\n   * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n   * @param {HTMLScriptElement} purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n   * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n   * are not supported or creating the policy failed).\n   */const W=function _createTrustedTypesPolicy(e,t){if(\"object\"!==typeof e||\"function\"!==typeof e.createPolicy)return null;let n=null;const o=\"data-tt-policy-suffix\";t&&t.hasAttribute(o)&&(n=t.getAttribute(o));const a=\"dompurify\"+(n?\"#\"+n:\"\");try{return e.createPolicy(a,{createHTML(e){return e},createScriptURL(e){return e}})}catch(e){console.warn(\"TrustedTypes policy \"+a+\" could not be created.\");return null}};function createDOMPurify(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:G();const DOMPurify=e=>createDOMPurify(e);DOMPurify.version=\"3.0.6\";DOMPurify.removed=[];if(!t||!t.document||9!==t.document.nodeType){DOMPurify.isSupported=false;return DOMPurify}let{document:n}=t;const o=n;const a=o.currentScript;const{DocumentFragment:i,HTMLTemplateElement:s,Node:c,Element:C,NodeFilter:O,NamedNodeMap:M=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:I,DOMParser:P,trustedTypes:F}=t;const H=C.prototype;const Y=lookupGetter(H,\"cloneNode\");const j=lookupGetter(H,\"nextSibling\");const q=lookupGetter(H,\"childNodes\");const V=lookupGetter(H,\"parentNode\");if(\"function\"===typeof s){const e=n.createElement(\"template\");e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let X;let K=\"\";const{implementation:$,createNodeIterator:Z,createDocumentFragment:J,getElementsByTagName:Q}=n;const{importNode:ee}=o;let te={};DOMPurify.isSupported=\"function\"===typeof e&&\"function\"===typeof V&&$&&void 0!==$.createHTMLDocument;const{MUSTACHE_EXPR:ne,ERB_EXPR:oe,TMPLIT_EXPR:ae,DATA_ATTR:re,ARIA_ATTR:ie,IS_SCRIPT_OR_DATA:le,ATTR_WHITESPACE:se}=B;let{IS_ALLOWED_URI:ce}=B;let ue=null;const de=addToSet({},[..._,...A,...b,...w,...D]);let fe=null;const me=addToSet({},[...k,...v,...L,...x]);let pe=Object.seal(l(null,{tagNameCheck:{writable:true,configurable:false,enumerable:true,value:null},attributeNameCheck:{writable:true,configurable:false,enumerable:true,value:null},allowCustomizedBuiltInElements:{writable:true,configurable:false,enumerable:true,value:false}}));let he=null;let ge=null;let Te=true;let ye=true;let Se=false;let Ee=true;let _e=false;let Ae=false;let be=false;let Ne=false;let we=false;let Re=false;let De=false;let ke=true;let ve=false;const Le=\"user-content-\";let xe=true;let Ce=false;let Oe={};let Me=null;const Ie=addToSet({},[\"annotation-xml\",\"audio\",\"colgroup\",\"desc\",\"foreignobject\",\"head\",\"iframe\",\"math\",\"mi\",\"mn\",\"mo\",\"ms\",\"mtext\",\"noembed\",\"noframes\",\"noscript\",\"plaintext\",\"script\",\"style\",\"svg\",\"template\",\"thead\",\"title\",\"video\",\"xmp\"]);let Pe=null;const Ue=addToSet({},[\"audio\",\"video\",\"img\",\"source\",\"image\",\"track\"]);let Fe=null;const He=addToSet({},[\"alt\",\"class\",\"for\",\"id\",\"label\",\"name\",\"pattern\",\"placeholder\",\"role\",\"summary\",\"title\",\"value\",\"style\",\"xmlns\"]);const ze=\"http://www.w3.org/1998/Math/MathML\";const Be=\"http://www.w3.org/2000/svg\";const Ge=\"http://www.w3.org/1999/xhtml\";let We=Ge;let Ye=false;let je=null;const qe=addToSet({},[ze,Be,Ge],p);let Ve=null;const Xe=[\"application/xhtml+xml\",\"text/html\"];const Ke=\"text/html\";let $e=null;let Ze=null;const Je=n.createElement(\"form\");const Qe=function isRegexOrFunction(e){return e instanceof RegExp||e instanceof Function};\n/**\n     * _parseConfig\n     *\n     * @param  {Object} cfg optional config literal\n     */const et=function _parseConfig(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!Ze||Ze!==e){e&&\"object\"===typeof e||(e={});e=clone(e);Ve=Ve=-1===Xe.indexOf(e.PARSER_MEDIA_TYPE)?Ke:e.PARSER_MEDIA_TYPE;$e=\"application/xhtml+xml\"===Ve?p:m;ue=\"ALLOWED_TAGS\"in e?addToSet({},e.ALLOWED_TAGS,$e):de;fe=\"ALLOWED_ATTR\"in e?addToSet({},e.ALLOWED_ATTR,$e):me;je=\"ALLOWED_NAMESPACES\"in e?addToSet({},e.ALLOWED_NAMESPACES,p):qe;Fe=\"ADD_URI_SAFE_ATTR\"in e?addToSet(clone(He),e.ADD_URI_SAFE_ATTR,$e):He;Pe=\"ADD_DATA_URI_TAGS\"in e?addToSet(clone(Ue),e.ADD_DATA_URI_TAGS,$e):Ue;Me=\"FORBID_CONTENTS\"in e?addToSet({},e.FORBID_CONTENTS,$e):Ie;he=\"FORBID_TAGS\"in e?addToSet({},e.FORBID_TAGS,$e):{};ge=\"FORBID_ATTR\"in e?addToSet({},e.FORBID_ATTR,$e):{};Oe=\"USE_PROFILES\"in e&&e.USE_PROFILES;Te=false!==e.ALLOW_ARIA_ATTR;ye=false!==e.ALLOW_DATA_ATTR;Se=e.ALLOW_UNKNOWN_PROTOCOLS||false;Ee=false!==e.ALLOW_SELF_CLOSE_IN_ATTR;_e=e.SAFE_FOR_TEMPLATES||false;Ae=e.WHOLE_DOCUMENT||false;we=e.RETURN_DOM||false;Re=e.RETURN_DOM_FRAGMENT||false;De=e.RETURN_TRUSTED_TYPE||false;Ne=e.FORCE_BODY||false;ke=false!==e.SANITIZE_DOM;ve=e.SANITIZE_NAMED_PROPS||false;xe=false!==e.KEEP_CONTENT;Ce=e.IN_PLACE||false;ce=e.ALLOWED_URI_REGEXP||U;We=e.NAMESPACE||Ge;pe=e.CUSTOM_ELEMENT_HANDLING||{};e.CUSTOM_ELEMENT_HANDLING&&Qe(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(pe.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck);e.CUSTOM_ELEMENT_HANDLING&&Qe(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(pe.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck);e.CUSTOM_ELEMENT_HANDLING&&\"boolean\"===typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(pe.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements);_e&&(ye=false);Re&&(we=true);if(Oe){ue=addToSet({},[...D]);fe=[];if(true===Oe.html){addToSet(ue,_);addToSet(fe,k)}if(true===Oe.svg){addToSet(ue,A);addToSet(fe,v);addToSet(fe,x)}if(true===Oe.svgFilters){addToSet(ue,b);addToSet(fe,v);addToSet(fe,x)}if(true===Oe.mathMl){addToSet(ue,w);addToSet(fe,L);addToSet(fe,x)}}if(e.ADD_TAGS){ue===de&&(ue=clone(ue));addToSet(ue,e.ADD_TAGS,$e)}if(e.ADD_ATTR){fe===me&&(fe=clone(fe));addToSet(fe,e.ADD_ATTR,$e)}e.ADD_URI_SAFE_ATTR&&addToSet(Fe,e.ADD_URI_SAFE_ATTR,$e);if(e.FORBID_CONTENTS){Me===Ie&&(Me=clone(Me));addToSet(Me,e.FORBID_CONTENTS,$e)}xe&&(ue[\"#text\"]=true);Ae&&addToSet(ue,[\"html\",\"head\",\"body\"]);if(ue.table){addToSet(ue,[\"tbody\"]);delete he.tbody}if(e.TRUSTED_TYPES_POLICY){if(\"function\"!==typeof e.TRUSTED_TYPES_POLICY.createHTML)throw E('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');if(\"function\"!==typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw E('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');X=e.TRUSTED_TYPES_POLICY;K=X.createHTML(\"\")}else{void 0===X&&(X=W(F,a));null!==X&&\"string\"===typeof K&&(K=X.createHTML(\"\"))}r&&r(e);Ze=e}};const tt=addToSet({},[\"mi\",\"mo\",\"mn\",\"ms\",\"mtext\"]);const nt=addToSet({},[\"foreignobject\",\"desc\",\"title\",\"annotation-xml\"]);const ot=addToSet({},[\"title\",\"style\",\"font\",\"a\",\"script\"]);const at=addToSet({},A);addToSet(at,b);addToSet(at,N);const rt=addToSet({},w);addToSet(rt,R);\n/**\n     * @param  {Element} element a DOM element whose namespace is being checked\n     * @returns {boolean} Return false if the element has a\n     *  namespace that a spec-compliant parser would never\n     *  return. Return true otherwise.\n     */const it=function _checkValidNamespace(e){let t=V(e);t&&t.tagName||(t={namespaceURI:We,tagName:\"template\"});const n=m(e.tagName);const o=m(t.tagName);return!!je[e.namespaceURI]&&(e.namespaceURI===Be?t.namespaceURI===Ge?\"svg\"===n:t.namespaceURI===ze?\"svg\"===n&&(\"annotation-xml\"===o||tt[o]):Boolean(at[n]):e.namespaceURI===ze?t.namespaceURI===Ge?\"math\"===n:t.namespaceURI===Be?\"math\"===n&&nt[o]:Boolean(rt[n]):e.namespaceURI===Ge?!(t.namespaceURI===Be&&!nt[o])&&(!(t.namespaceURI===ze&&!tt[o])&&(!rt[n]&&(ot[n]||!at[n]))):!(\"application/xhtml+xml\"!==Ve||!je[e.namespaceURI]))};\n/**\n     * _forceRemove\n     *\n     * @param  {Node} node a DOM node\n     */const lt=function _forceRemove(e){f(DOMPurify.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){e.remove()}};\n/**\n     * _removeAttribute\n     *\n     * @param  {String} name an Attribute name\n     * @param  {Node} node a DOM node\n     */const st=function _removeAttribute(e,t){try{f(DOMPurify.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){f(DOMPurify.removed,{attribute:null,from:t})}t.removeAttribute(e);if(\"is\"===e&&!fe[e])if(we||Re)try{lt(t)}catch(e){}else try{t.setAttribute(e,\"\")}catch(e){}};\n/**\n     * _initDocument\n     *\n     * @param  {String} dirty a string of dirty markup\n     * @return {Document} a DOM, filled with the dirty markup\n     */const ct=function _initDocument(e){let t=null;let o=null;if(Ne)e=\"<remove></remove>\"+e;else{const t=h(e,/^[\\r\\n\\t ]+/);o=t&&t[0]}\"application/xhtml+xml\"===Ve&&We===Ge&&(e='<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>'+e+\"</body></html>\");const a=X?X.createHTML(e):e;if(We===Ge)try{t=(new P).parseFromString(a,Ve)}catch(e){}if(!t||!t.documentElement){t=$.createDocument(We,\"template\",null);try{t.documentElement.innerHTML=Ye?K:a}catch(e){}}const r=t.body||t.documentElement;e&&o&&r.insertBefore(n.createTextNode(o),r.childNodes[0]||null);return We===Ge?Q.call(t,Ae?\"html\":\"body\")[0]:Ae?t.documentElement:r};\n/**\n     * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n     *\n     * @param  {Node} root The root element or node to start traversing on.\n     * @return {NodeIterator} The created NodeIterator\n     */const ut=function _createNodeIterator(e){return Z.call(e.ownerDocument||e,e,O.SHOW_ELEMENT|O.SHOW_COMMENT|O.SHOW_TEXT,null)};\n/**\n     * _isClobbered\n     *\n     * @param  {Node} elm element to check for clobbering attacks\n     * @return {Boolean} true if clobbered, false if safe\n     */const dt=function _isClobbered(e){return e instanceof I&&(\"string\"!==typeof e.nodeName||\"string\"!==typeof e.textContent||\"function\"!==typeof e.removeChild||!(e.attributes instanceof M)||\"function\"!==typeof e.removeAttribute||\"function\"!==typeof e.setAttribute||\"string\"!==typeof e.namespaceURI||\"function\"!==typeof e.insertBefore||\"function\"!==typeof e.hasChildNodes)};\n/**\n     * Checks whether the given object is a DOM node.\n     *\n     * @param  {Node} object object to check whether it's a DOM node\n     * @return {Boolean} true is object is a DOM node\n     */const ft=function _isNode(e){return\"function\"===typeof c&&e instanceof c};\n/**\n     * _executeHook\n     * Execute user configurable hooks\n     *\n     * @param  {String} entryPoint  Name of the hook's entry point\n     * @param  {Node} currentNode node to work on with the hook\n     * @param  {Object} data additional hook parameters\n     */const mt=function _executeHook(e,t,n){te[e]&&u(te[e],(e=>{e.call(DOMPurify,t,n,Ze)}))};\n/**\n     * _sanitizeElements\n     *\n     * @protect nodeName\n     * @protect textContent\n     * @protect removeChild\n     *\n     * @param   {Node} currentNode to check for permission to exist\n     * @return  {Boolean} true if node was killed, false if left alive\n     */const pt=function _sanitizeElements(e){let t=null;mt(\"beforeSanitizeElements\",e,null);if(dt(e)){lt(e);return true}const n=$e(e.nodeName);mt(\"uponSanitizeElement\",e,{tagName:n,allowedTags:ue});if(e.hasChildNodes()&&!ft(e.firstElementChild)&&S(/<[/\\w]/g,e.innerHTML)&&S(/<[/\\w]/g,e.textContent)){lt(e);return true}if(!ue[n]||he[n]){if(!he[n]&&gt(n)){if(pe.tagNameCheck instanceof RegExp&&S(pe.tagNameCheck,n))return false;if(pe.tagNameCheck instanceof Function&&pe.tagNameCheck(n))return false}if(xe&&!Me[n]){const t=V(e)||e.parentNode;const n=q(e)||e.childNodes;if(n&&t){const o=n.length;for(let a=o-1;a>=0;--a)t.insertBefore(Y(n[a],true),j(e))}}lt(e);return true}if(e instanceof C&&!it(e)){lt(e);return true}if((\"noscript\"===n||\"noembed\"===n||\"noframes\"===n)&&S(/<\\/no(script|embed|frames)/i,e.innerHTML)){lt(e);return true}if(_e&&3===e.nodeType){t=e.textContent;u([ne,oe,ae],(e=>{t=g(t,e,\" \")}));if(e.textContent!==t){f(DOMPurify.removed,{element:e.cloneNode()});e.textContent=t}}mt(\"afterSanitizeElements\",e,null);return false};\n/**\n     * _isValidAttribute\n     *\n     * @param  {string} lcTag Lowercase tag name of containing element.\n     * @param  {string} lcName Lowercase attribute name.\n     * @param  {string} value Attribute value.\n     * @return {Boolean} Returns true if `value` is valid, otherwise false.\n     */const ht=function _isValidAttribute(e,t,o){if(ke&&(\"id\"===t||\"name\"===t)&&(o in n||o in Je))return false;if(ye&&!ge[t]&&S(re,t));else if(Te&&S(ie,t));else if(!fe[t]||ge[t]){if(!(gt(e)&&(pe.tagNameCheck instanceof RegExp&&S(pe.tagNameCheck,e)||pe.tagNameCheck instanceof Function&&pe.tagNameCheck(e))&&(pe.attributeNameCheck instanceof RegExp&&S(pe.attributeNameCheck,t)||pe.attributeNameCheck instanceof Function&&pe.attributeNameCheck(t))||\"is\"===t&&pe.allowCustomizedBuiltInElements&&(pe.tagNameCheck instanceof RegExp&&S(pe.tagNameCheck,o)||pe.tagNameCheck instanceof Function&&pe.tagNameCheck(o))))return false}else if(Fe[t]);else if(S(ce,g(o,se,\"\")));else if(\"src\"!==t&&\"xlink:href\"!==t&&\"href\"!==t||\"script\"===e||0!==T(o,\"data:\")||!Pe[e]){if(Se&&!S(le,g(o,se,\"\")));else if(o)return false}else;return true};\n/**\n     * _isBasicCustomElement\n     * checks if at least one dash is included in tagName, and it's not the first char\n     * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n     *\n     * @param {string} tagName name of the tag of the node to sanitize\n     * @returns {boolean} Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n     */const gt=function _isBasicCustomElement(e){return e.indexOf(\"-\")>0};\n/**\n     * _sanitizeAttributes\n     *\n     * @protect attributes\n     * @protect nodeName\n     * @protect removeAttribute\n     * @protect setAttribute\n     *\n     * @param  {Node} currentNode to sanitize\n     */const Tt=function _sanitizeAttributes(e){mt(\"beforeSanitizeAttributes\",e,null);const{attributes:t}=e;if(!t)return;const n={attrName:\"\",attrValue:\"\",keepAttr:true,allowedAttributes:fe};let o=t.length;while(o--){const a=t[o];const{name:r,namespaceURI:i,value:l}=a;const s=$e(r);let c=\"value\"===r?l:y(l);n.attrName=s;n.attrValue=c;n.keepAttr=true;n.forceKeepAttr=void 0;mt(\"uponSanitizeAttribute\",e,n);c=n.attrValue;if(n.forceKeepAttr)continue;st(r,e);if(!n.keepAttr)continue;if(!Ee&&S(/\\/>/i,c)){st(r,e);continue}_e&&u([ne,oe,ae],(e=>{c=g(c,e,\" \")}));const f=$e(e.nodeName);if(ht(f,s,c)){if(ve&&(\"id\"===s||\"name\"===s)){st(r,e);c=Le+c}if(X&&\"object\"===typeof F&&\"function\"===typeof F.getAttributeType)if(i);else switch(F.getAttributeType(f,s)){case\"TrustedHTML\":c=X.createHTML(c);break;case\"TrustedScriptURL\":c=X.createScriptURL(c);break}try{i?e.setAttributeNS(i,r,c):e.setAttribute(r,c);d(DOMPurify.removed)}catch(e){}}}mt(\"afterSanitizeAttributes\",e,null)};\n/**\n     * _sanitizeShadowDOM\n     *\n     * @param  {DocumentFragment} fragment to iterate over recursively\n     */const yt=function _sanitizeShadowDOM(e){let t=null;const n=ut(e);mt(\"beforeSanitizeShadowDOM\",e,null);while(t=n.nextNode()){mt(\"uponSanitizeShadowNode\",t,null);if(!pt(t)){t.content instanceof i&&_sanitizeShadowDOM(t.content);Tt(t)}}mt(\"afterSanitizeShadowDOM\",e,null)};\n/**\n     * Sanitize\n     * Public method providing core sanitation functionality\n     *\n     * @param {String|Node} dirty string or DOM node\n     * @param {Object} cfg object\n     */DOMPurify.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};let n=null;let a=null;let r=null;let l=null;Ye=!e;Ye&&(e=\"\\x3c!--\\x3e\");if(\"string\"!==typeof e&&!ft(e)){if(\"function\"!==typeof e.toString)throw E(\"toString is not a function\");e=e.toString();if(\"string\"!==typeof e)throw E(\"dirty is not a string, aborting\")}if(!DOMPurify.isSupported)return e;be||et(t);DOMPurify.removed=[];\"string\"===typeof e&&(Ce=false);if(Ce){if(e.nodeName){const t=$e(e.nodeName);if(!ue[t]||he[t])throw E(\"root node is forbidden and cannot be sanitized in-place\")}}else if(e instanceof c){n=ct(\"\\x3c!----\\x3e\");a=n.ownerDocument.importNode(e,true);1===a.nodeType&&\"BODY\"===a.nodeName||\"HTML\"===a.nodeName?n=a:n.appendChild(a)}else{if(!we&&!_e&&!Ae&&-1===e.indexOf(\"<\"))return X&&De?X.createHTML(e):e;n=ct(e);if(!n)return we?null:De?K:\"\"}n&&Ne&&lt(n.firstChild);const s=ut(Ce?e:n);while(r=s.nextNode())if(!pt(r)){r.content instanceof i&&yt(r.content);Tt(r)}if(Ce)return e;if(we){if(Re){l=J.call(n.ownerDocument);while(n.firstChild)l.appendChild(n.firstChild)}else l=n;(fe.shadowroot||fe.shadowrootmode)&&(l=ee.call(o,l,true));return l}let d=Ae?n.outerHTML:n.innerHTML;Ae&&ue[\"!doctype\"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&S(z,n.ownerDocument.doctype.name)&&(d=\"<!DOCTYPE \"+n.ownerDocument.doctype.name+\">\\n\"+d);_e&&u([ne,oe,ae],(e=>{d=g(d,e,\" \")}));return X&&De?X.createHTML(d):d};\n/**\n     * Public method to set the configuration once\n     * setConfig\n     *\n     * @param {Object} cfg configuration object\n     */DOMPurify.setConfig=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};et(e);be=true};DOMPurify.clearConfig=function(){Ze=null;be=false};\n/**\n     * Public method to check if an attribute value is valid.\n     * Uses last set config, if any. Otherwise, uses config defaults.\n     * isValidAttribute\n     *\n     * @param  {String} tag Tag name of containing element.\n     * @param  {String} attr Attribute name.\n     * @param  {String} value Attribute value.\n     * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n     */DOMPurify.isValidAttribute=function(e,t,n){Ze||et({});const o=$e(e);const a=$e(t);return ht(o,a,n)};\n/**\n     * AddHook\n     * Public method to add DOMPurify hooks\n     *\n     * @param {String} entryPoint entry point for the hook to add\n     * @param {Function} hookFunction function to execute\n     */DOMPurify.addHook=function(e,t){if(\"function\"===typeof t){te[e]=te[e]||[];f(te[e],t)}};\n/**\n     * RemoveHook\n     * Public method to remove a DOMPurify hook at a given entryPoint\n     * (pops it from the stack of hooks if more are present)\n     *\n     * @param {String} entryPoint entry point for the hook to remove\n     * @return {Function} removed(popped) hook\n     */DOMPurify.removeHook=function(e){if(te[e])return d(te[e])};\n/**\n     * RemoveHooks\n     * Public method to remove all DOMPurify hooks at a given entryPoint\n     *\n     * @param  {String} entryPoint entry point for the hooks to remove\n     */DOMPurify.removeHooks=function(e){te[e]&&(te[e]=[])};DOMPurify.removeAllHooks=function(){te={}};return DOMPurify}var Y=createDOMPurify();return Y}));var t=e;export{t as default};\n\n//# sourceMappingURL=purify.js.map"],"mappings":"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"}