{"version":3,"file":"script_main.BbUymaGA.mjs","names":["t","e","a","i","r","o","e","n","t","i","o","r","a","u","d","p","x","s","l","c","B","X","Y","Z","f","Matter","Matter","i","Matter","e","i","x","React","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","transformTemplate1","t","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","sharedStyle.className","sharedStyle1.className","className","RichText","sharedStyle.css","sharedStyle1.css","sharedStyle.fonts","sharedStyle1.fonts","addPropertyOverrides","SpacerFonts","Spacer","MenuButtonFonts","MenuButton","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","className","SVG","getProps","className","Spacer","Vector","MenuButton","serializationHash","variantClassNames","t","React.useContext","React.useMemo","React.Fragment","humanReadableVariantMap","getProps","useRef","React.useId","className","Navigatie","BlurGradient","FooterWrapper","useRef","React.useId","className","PropertyOverrides","React.createElement","Template1","Framer.PageRoot","Framer.lazy","Framer.useCurrentRoute","Framer.useLocaleInfo","Framer.useRouter","React.Fragment","React.memo","React.useCallback","React.useEffect","React.useRef","React.useState","React.useLayoutEffect","Framer.LazyValue","Framer.LibraryFeaturesProvider","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","breakpoints","Framer.patchRoutesForABTesting","e","routeData","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/framerusercontent.com/modules/rofp3mS0LNY15cjhHzia/Ycw95yYPzpr98rHtCJMh/BlurGradient.js","https:/ga.jspm.io/npm:matter-js@0.18.0/build/matter.js","https:/framerusercontent.com/modules/KYVdEKqNHqMXAKLjSKCy/Ok6wam0uM9G4VUuXWgpR/MakeWalls.js","https:/framer.com/m/MakeWalls-36kf.js@Ok6wam0uM9G4VUuXWgpR","https:/framerusercontent.com/modules/6UgWtAa26OCy0CE59gub/LTuIQWugGJr30ZUS1CV9/MakeBodies.js","https:/framer.com/m/MakeBodies-Lkv1.js@LTuIQWugGJr30ZUS1CV9","https:/framerusercontent.com/modules/T5d3gUfrM2dl38XTDhSR/ynzXROqbh8tFCoAs4NWj/Physics_2.js","https:/framerusercontent.com/modules/SpP8TyNaygMSuyBHCd2X/uY3bN4YDFGi4N5Q6BgNe/u44x4y2qy.js","https:/framerusercontent.com/modules/jskNk1CK2MPimV7Lji8z/RJG79r6xDauoQDaX0AsK/bP71juiQC.js","https:/framerusercontent.com/modules/DsOpQ167Ewu9ixPyDd3g/6aRnMl0A8yKTG0Bn4xFX/Xh9r60c4y.js","https:/framerusercontent.com/modules/OBLoBxeNfDKOLt1r4NIo/nRNX2W19vHCLRuCfzDQM/IXCYxTYsW.js","https:/framerusercontent.com/modules/NiLNKlz1A1yLRnRdb3NQ/sWVCOo5MIpKerEEd0eIt/KMMFdrKCl.js","framer:toplevel/main"],"sourcesContent":["import{jsx as r}from\"react/jsx-runtime\";import{addPropertyControls as t,ControlType as e}from\"framer\";/**\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 240\n * @framerIntrinsicHeight 240\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */function a({blur:t,borderRadius:e,direction:a}){let i=r=>{switch(r){case\"toBottom\":default:return\"to bottom\";case\"toTop\":return\"to top\";case\"toLeft\":return\"to left\";case\"toRight\":return\"to right\";}},o=[{blur:`${t/2/2/2/2/2/2/2}px`,gradient:\"rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 12.5%, rgba(0, 0, 0, 1) 25%, rgba(0, 0, 0, 0) 37.5%\"},{blur:`${t/2/2/2/2/2/2}px`,gradient:\"rgba(0, 0, 0, 0) 12.5%, rgba(0, 0, 0, 1) 25%, rgba(0, 0, 0, 1) 37.5%, rgba(0, 0, 0, 0) 50%\"},{blur:`${t/2/2/2/2/2}px`,gradient:\"rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 1) 37.5%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0) 62.5%\"},{blur:`${t/2/2/2/2}px`,gradient:\"rgba(0, 0, 0, 0) 37.5%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 1) 62.5%, rgba(0, 0, 0, 0) 75%\"},{blur:`${t/2/2/2}px`,gradient:\"rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 1) 62.5%, rgba(0, 0, 0, 1) 75%, rgba(0, 0, 0, 0) 87.5%\"},{blur:`${t/2/2}px`,gradient:\"rgba(0, 0, 0, 0) 62.5%, rgba(0, 0, 0, 1) 75%, rgba(0, 0, 0, 1) 87.5%, rgba(0, 0, 0, 0) 100%\"},{blur:`${t/2}px`,gradient:\"rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 1) 87.5%, rgba(0, 0, 0, 1) 100%\"},{blur:`${t}px`,gradient:\"rgba(0, 0, 0, 0) 87.5%, rgba(0, 0, 0, 1) 100%\"}];return /*#__PURE__*/r(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",borderRadius:`${e}px`},children:o.map((t,o)=>/*#__PURE__*/r(\"div\",{style:{position:\"absolute\",inset:0,zIndex:o+1,backdropFilter:`blur(${t.blur})`,WebkitBackdropFilter:`blur(${t.blur})`,maskImage:`linear-gradient(${i(a)}, ${t.gradient})`,WebkitMaskImage:`linear-gradient(${i(a)}, ${t.gradient})`,borderRadius:`${e}px`,pointerEvents:\"none\"}},o))});}a.defaultProps={blur:10,borderRadius:0,direction:\"toBottom\"},t(a,{blur:{title:\"Blur\",type:e.Number,defaultValue:10,min:0,max:100,step:1,description:\"Large blur values (10<) can impact performance.\"},borderRadius:{title:\"Radius\",type:e.Number,defaultValue:0,min:0,max:100,step:1,description:\"Blur Gradient component's parent frame can't have border radius (it will break the component). If you need corner radius, apply it directly to the Blur Gradient component here.\"},direction:{title:\"Direction\",type:e.SegmentedEnum,options:[\"toBottom\",\"toTop\",\"toLeft\",\"toRight\"],optionTitles:[\"↓\",\"↑\",\"←\",\"→\"],defaultValue:\"toBottom\"}});export default a;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BlurGradient\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicHeight\":\"240\",\"framerIntrinsicWidth\":\"240\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BlurGradient.map","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","/*\n * MakeWalls\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/KYVdEKqNHqMXAKLjSKCy/Ok6wam0uM9G4VUuXWgpR/MakeWalls.js\"\n","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","/*\n * MakeBodies\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/6UgWtAa26OCy0CE59gub/LTuIQWugGJr30ZUS1CV9/MakeBodies.js\"\n","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://framer.com/m/MakeWalls-36kf.js@Ok6wam0uM9G4VUuXWgpR\";import{makeBodies}from\"https://framer.com/m/MakeBodies-Lkv1.js@LTuIQWugGJr30ZUS1CV9\";/**\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){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:props.children?.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\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Physics_2.map","// Generated by Framer (05a55d9)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,Link,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle from\"https://framerusercontent.com/modules/9fomNCFITQGKb4N8QESb/mDoLYh6bU7FbsVkzypNn/mB5WAE2zA.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/Dclo4EaW4rU4sakKLTLN/cjtuyop9GSgIBqrxg8qS/ZhfSCVbVN.js\";const enabledGestures={pg6l1PTpL:{hover:true},RMAEgzB4G:{hover:true}};const cycleOrder=[\"RMAEgzB4G\",\"pg6l1PTpL\"];const serializationHash=\"framer-o2AWy\";const variantClassNames={pg6l1PTpL:\"framer-v-fkktsv\",RMAEgzB4G:\"framer-v-1jpg9wx\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const iB8IObqf8=undefined;const ce_J3RMbk=undefined;const WMqEkUcXD=undefined;const transition1={bounce:.1,delay:.1,duration:.5,type:\"spring\"};const transformTemplate1=(_,t)=>`translateX(-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={Klein:\"pg6l1PTpL\",Primair:\"RMAEgzB4G\"};const getProps=({color,height,id,link,title,width,...props})=>{return{...props,ce_J3RMbk:color??props.ce_J3RMbk??\"rgb(0, 0, 0)\",iB8IObqf8:link??props.iB8IObqf8,variant:humanReadableVariantMap[props.variant]??props.variant??\"RMAEgzB4G\",WMqEkUcXD:title??props.WMqEkUcXD??\"werken bij\"};};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,WMqEkUcXD,iB8IObqf8,ce_J3RMbk,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"RMAEgzB4G\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className];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-1jpg9wx\",className,classNames),\"data-framer-name\":\"Primair\",layoutDependency:layoutDependency,layoutId:\"RMAEgzB4G\",ref:refBinding,style:{...style},...addPropertyOverrides({\"pg6l1PTpL-hover\":{\"data-framer-name\":undefined},\"RMAEgzB4G-hover\":{\"data-framer-name\":undefined},pg6l1PTpL:{\"data-framer-name\":\"Klein\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(Link,{motionChild:true,nodeId:\"eQwb0LlTs\",scopeId:\"u44x4y2qy\",...addPropertyOverrides({pg6l1PTpL:{href:iB8IObqf8,openInNewTab:false}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-1o12uy8 framer-3ypifc\",layoutDependency:layoutDependency,layoutId:\"eQwb0LlTs\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-15a9i19\",\"data-styles-preset\":\"mB5WAE2zA\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--variable-reference-ce_J3RMbk-u44x4y2qy))\"},children:\"werken bij\"})}),className:\"framer-1efo815\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"WkVSWbzes\",style:{\"--extracted-r6o4lv\":\"var(--variable-reference-ce_J3RMbk-u44x4y2qy)\",\"--variable-reference-ce_J3RMbk-u44x4y2qy\":ce_J3RMbk},text:WMqEkUcXD,transformTemplate:transformTemplate1,verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"pg6l1PTpL-hover\":{transformTemplate:undefined},\"RMAEgzB4G-hover\":{transformTemplate:undefined},pg6l1PTpL:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1l4et2\",\"data-styles-preset\":\"ZhfSCVbVN\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--variable-reference-ce_J3RMbk-u44x4y2qy))\"},children:\"werken bij\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-15a9i19\",\"data-styles-preset\":\"mB5WAE2zA\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--variable-reference-ce_J3RMbk-u44x4y2qy))\"},children:\"werken bij\"})}),className:\"framer-awi65\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"Owo8W_Hs2\",style:{\"--extracted-r6o4lv\":\"var(--variable-reference-ce_J3RMbk-u44x4y2qy)\",\"--variable-reference-ce_J3RMbk-u44x4y2qy\":ce_J3RMbk},text:WMqEkUcXD,verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"pg6l1PTpL-hover\":{transformTemplate:transformTemplate1},\"RMAEgzB4G-hover\":{transformTemplate:transformTemplate1},pg6l1PTpL:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1l4et2\",\"data-styles-preset\":\"ZhfSCVbVN\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--variable-reference-ce_J3RMbk-u44x4y2qy))\"},children:\"werken bij\"})})}},baseVariant,gestureVariant)})]})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-o2AWy.framer-3ypifc, .framer-o2AWy .framer-3ypifc { display: block; }\",\".framer-o2AWy.framer-1jpg9wx { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: min-content; }\",\".framer-o2AWy .framer-1o12uy8 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-o2AWy .framer-1efo815 { flex: none; height: auto; left: 50%; position: absolute; top: -30px; white-space: pre; width: auto; z-index: 1; }\",\".framer-o2AWy .framer-awi65 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-o2AWy.framer-v-fkktsv .framer-1o12uy8 { gap: 7px; text-decoration: none; }\",\".framer-o2AWy.framer-v-fkktsv .framer-1efo815 { top: -18px; }\",\".framer-o2AWy.framer-v-1jpg9wx.hover .framer-1efo815, .framer-o2AWy.framer-v-fkktsv.hover .framer-1efo815 { left: unset; position: relative; top: unset; }\",\".framer-o2AWy.framer-v-1jpg9wx.hover .framer-awi65 { left: 50%; position: absolute; top: 30px; z-index: 1; }\",\".framer-o2AWy.framer-v-fkktsv.hover .framer-awi65 { bottom: -18px; left: 50%; position: absolute; z-index: 1; }\",...sharedStyle.css,...sharedStyle1.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 26\n * @framerIntrinsicWidth 97\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"pg6l1PTpL\":{\"layout\":[\"auto\",\"auto\"]},\"ArerBtbtH\":{\"layout\":[\"auto\",\"auto\"]},\"nvd1VgwsD\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"WMqEkUcXD\":\"title\",\"iB8IObqf8\":\"link\",\"ce_J3RMbk\":\"color\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Frameru44x4y2qy=withCSS(Component,css,\"framer-o2AWy\");export default Frameru44x4y2qy;Frameru44x4y2qy.displayName=\"Menu Button\";Frameru44x4y2qy.defaultProps={height:26,width:97};addPropertyControls(Frameru44x4y2qy,{variant:{options:[\"RMAEgzB4G\",\"pg6l1PTpL\"],optionTitles:[\"Primair\",\"Klein\"],title:\"Variant\",type:ControlType.Enum},WMqEkUcXD:{defaultValue:\"werken bij\",displayTextArea:false,title:\"Title\",type:ControlType.String},iB8IObqf8:{title:\"Link\",type:ControlType.Link},ce_J3RMbk:{defaultValue:\"rgb(0, 0, 0)\",title:\"Color\",type:ControlType.Color}});addFonts(Frameru44x4y2qy,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Frameru44x4y2qy\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerVariables\":\"{\\\"WMqEkUcXD\\\":\\\"title\\\",\\\"iB8IObqf8\\\":\\\"link\\\",\\\"ce_J3RMbk\\\":\\\"color\\\"}\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"97\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"pg6l1PTpL\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"ArerBtbtH\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"nvd1VgwsD\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicHeight\":\"26\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./u44x4y2qy.map","// Generated by Framer (05a55d9)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,Link,SmartComponentScopedContainer,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Physics from\"https://framerusercontent.com/modules/T5d3gUfrM2dl38XTDhSR/ynzXROqbh8tFCoAs4NWj/Physics_2.js\";import Spacer from\"https://framerusercontent.com/modules/dmVoIBk7S2ij1XfLQ6hp/t19BvA9IOqIoqfQhQe8C/jGzayIqnd.js\";import MenuButton from\"https://framerusercontent.com/modules/SpP8TyNaygMSuyBHCd2X/uY3bN4YDFGi4N5Q6BgNe/u44x4y2qy.js\";const SpacerFonts=getFonts(Spacer);const MenuButtonFonts=getFonts(MenuButton);const PhysicsFonts=getFonts(Physics);const cycleOrder=[\"RmSoyVyre\",\"Iec816RQJ\",\"gYyYaEOo3\",\"blDswbMM3\",\"oeNuQO11Y\"];const serializationHash=\"framer-9Mcgc\";const variantClassNames={blDswbMM3:\"framer-v-hecy1o\",gYyYaEOo3:\"framer-v-121fou1\",Iec816RQJ:\"framer-v-1we08vk\",oeNuQO11Y:\"framer-v-7oydwp\",RmSoyVyre:\"framer-v-1v3jv08\"};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={L:\"RmSoyVyre\",M:\"gYyYaEOo3\",Phone:\"oeNuQO11Y\",S:\"blDswbMM3\",XL:\"Iec816RQJ\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"RmSoyVyre\"};};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:\"RmSoyVyre\",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-1v3jv08\",className,classNames),\"data-framer-name\":\"L\",layoutDependency:layoutDependency,layoutId:\"RmSoyVyre\",ref:refBinding,style:{backgroundColor:\"var(--token-a295e8e4-83e7-4eff-9a30-dc10e2ac93fa, rgb(61, 15, 41))\",...style},...addPropertyOverrides({blDswbMM3:{\"data-framer-name\":\"S\"},gYyYaEOo3:{\"data-framer-name\":\"M\"},Iec816RQJ:{\"data-framer-name\":\"XL\"},oeNuQO11Y:{\"data-framer-name\":\"Phone\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1qxkh3f\",\"data-framer-name\":\"Footer content\",layoutDependency:layoutDependency,layoutId:\"kYuxKnL4S\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-9krwpj\",\"data-framer-name\":\"Footer Text\",layoutDependency:layoutDependency,layoutId:\"JUkQt29yx\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:48,width:`calc(max(${componentViewport?.width||\"100vw\"}, 1px) * 0.0303)`,y:(componentViewport?.y||0)+0+0+0+33,...addPropertyOverrides({oeNuQO11Y:{y:(componentViewport?.y||0)+0+0+0+141}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-oyka9y-container\",layoutDependency:layoutDependency,layoutId:\"R4G9yPMMm-container\",nodeId:\"R4G9yPMMm\",rendersWithMotion:true,scopeId:\"bP71juiQC\",children:/*#__PURE__*/_jsx(Spacer,{height:\"100%\",id:\"R4G9yPMMm\",layoutId:\"R4G9yPMMm\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1tef1ir\",\"data-framer-name\":\"Wrapper\",layoutDependency:layoutDependency,layoutId:\"vTaUh7e0m\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-6ogn1j\",layoutDependency:layoutDependency,layoutId:\"Adnbwm8LE\",children:[/*#__PURE__*/_jsx(Link,{href:{hash:\":zLO07U7MZ\",webPageId:\"Exa7fZnHa\"},motionChild:true,nodeId:\"RmcIxcBcV\",openInNewTab:false,scopeId:\"bP71juiQC\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1hffrn framer-19ong06\",layoutDependency:layoutDependency,layoutId:\"RmcIxcBcV\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:26,y:(componentViewport?.y||0)+0+0+0+30+0+0+0+0+.5,...addPropertyOverrides({oeNuQO11Y:{y:(componentViewport?.y||0)+0+0+0+30+0+0+0+0+0+.5}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-9a0arv-container\",layoutDependency:layoutDependency,layoutId:\"kQ4XYlY62-container\",nodeId:\"kQ4XYlY62\",rendersWithMotion:true,scopeId:\"bP71juiQC\",children:/*#__PURE__*/_jsx(MenuButton,{ce_J3RMbk:\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255))\",height:\"100%\",id:\"kQ4XYlY62\",layoutId:\"kQ4XYlY62\",variant:\"RMAEgzB4G\",width:\"100%\",WMqEkUcXD:\"hurksestraat 19\"})})})})}),/*#__PURE__*/_jsx(Link,{href:{hash:\":zLO07U7MZ\",webPageId:\"Exa7fZnHa\"},motionChild:true,nodeId:\"lQrjxI92R\",openInNewTab:false,scopeId:\"bP71juiQC\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-u9tekk framer-19ong06\",layoutDependency:layoutDependency,layoutId:\"lQrjxI92R\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:26,y:(componentViewport?.y||0)+0+0+0+30+0+0+27+0+.5,...addPropertyOverrides({oeNuQO11Y:{y:(componentViewport?.y||0)+0+0+0+30+0+0+0+27+0+.5}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1asc3ga-container\",layoutDependency:layoutDependency,layoutId:\"WWHBbjSzf-container\",nodeId:\"WWHBbjSzf\",rendersWithMotion:true,scopeId:\"bP71juiQC\",children:/*#__PURE__*/_jsx(MenuButton,{ce_J3RMbk:\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255))\",height:\"100%\",id:\"WWHBbjSzf\",layoutId:\"WWHBbjSzf\",variant:\"RMAEgzB4G\",width:\"100%\",WMqEkUcXD:\"eindhoven\"})})})})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-jobzrj\",layoutDependency:layoutDependency,layoutId:\"vZ99QmE6y\",children:[/*#__PURE__*/_jsx(Link,{href:{hash:\":zLO07U7MZ\",webPageId:\"Exa7fZnHa\"},motionChild:true,nodeId:\"fgLncrv92\",openInNewTab:false,scopeId:\"bP71juiQC\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-gqz28g framer-19ong06\",layoutDependency:layoutDependency,layoutId:\"fgLncrv92\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:26,y:(componentViewport?.y||0)+0+0+0+30+0+0+0+0+.5,...addPropertyOverrides({oeNuQO11Y:{y:(componentViewport?.y||0)+0+0+0+30+0+54+0+0+0+.5}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-md29pl-container\",layoutDependency:layoutDependency,layoutId:\"w8Mv7cKqg-container\",nodeId:\"w8Mv7cKqg\",rendersWithMotion:true,scopeId:\"bP71juiQC\",children:/*#__PURE__*/_jsx(MenuButton,{ce_J3RMbk:\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255))\",height:\"100%\",id:\"w8Mv7cKqg\",layoutId:\"w8Mv7cKqg\",variant:\"RMAEgzB4G\",width:\"100%\",WMqEkUcXD:\"info@noordzuid.nl\"})})})})}),/*#__PURE__*/_jsx(Link,{href:{hash:\":zLO07U7MZ\",webPageId:\"Exa7fZnHa\"},motionChild:true,nodeId:\"qXI4QlY0J\",openInNewTab:false,scopeId:\"bP71juiQC\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-10ttlif framer-19ong06\",layoutDependency:layoutDependency,layoutId:\"qXI4QlY0J\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:26,y:(componentViewport?.y||0)+0+0+0+30+0+0+27+0+.5,...addPropertyOverrides({oeNuQO11Y:{y:(componentViewport?.y||0)+0+0+0+30+0+54+0+27+0+.5}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1v1nake-container\",layoutDependency:layoutDependency,layoutId:\"Z1oMOUMn_-container\",nodeId:\"Z1oMOUMn_\",rendersWithMotion:true,scopeId:\"bP71juiQC\",children:/*#__PURE__*/_jsx(MenuButton,{ce_J3RMbk:\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255))\",height:\"100%\",id:\"Z1oMOUMn_\",layoutId:\"Z1oMOUMn_\",variant:\"RMAEgzB4G\",width:\"100%\",WMqEkUcXD:\"afspraak plannen\"})})})})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-15008xg\",layoutDependency:layoutDependency,layoutId:\"MK1M6cQoQ\",children:[/*#__PURE__*/_jsx(Link,{href:{hash:\":zLO07U7MZ\",webPageId:\"Exa7fZnHa\"},motionChild:true,nodeId:\"PbapOPoFx\",openInNewTab:false,scopeId:\"bP71juiQC\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1lz4abn framer-19ong06\",layoutDependency:layoutDependency,layoutId:\"PbapOPoFx\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:26,y:(componentViewport?.y||0)+0+0+0+30+0+0+0+0+.5,...addPropertyOverrides({oeNuQO11Y:{y:(componentViewport?.y||0)+0+0+0+30+0+108+0+0+0+.5}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-zylxxn-container\",layoutDependency:layoutDependency,layoutId:\"xuFauPwY5-container\",nodeId:\"xuFauPwY5\",rendersWithMotion:true,scopeId:\"bP71juiQC\",children:/*#__PURE__*/_jsx(MenuButton,{ce_J3RMbk:\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255))\",height:\"100%\",id:\"xuFauPwY5\",layoutId:\"xuFauPwY5\",variant:\"RMAEgzB4G\",width:\"100%\",WMqEkUcXD:\"linkedin\"})})})})}),/*#__PURE__*/_jsx(Link,{href:{hash:\":zLO07U7MZ\",webPageId:\"Exa7fZnHa\"},motionChild:true,nodeId:\"MHM0EinPc\",openInNewTab:false,scopeId:\"bP71juiQC\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-nv74bh framer-19ong06\",layoutDependency:layoutDependency,layoutId:\"MHM0EinPc\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:26,y:(componentViewport?.y||0)+0+0+0+30+0+0+27+0+.5,...addPropertyOverrides({oeNuQO11Y:{y:(componentViewport?.y||0)+0+0+0+30+0+108+0+27+0+.5}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-19us2nw-container\",layoutDependency:layoutDependency,layoutId:\"POaRVJARM-container\",nodeId:\"POaRVJARM\",rendersWithMotion:true,scopeId:\"bP71juiQC\",children:/*#__PURE__*/_jsx(MenuButton,{ce_J3RMbk:\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255))\",height:\"100%\",id:\"POaRVJARM\",layoutId:\"POaRVJARM\",variant:\"RMAEgzB4G\",width:\"100%\",WMqEkUcXD:\"instagram\"})})})})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-sb4zyg\",layoutDependency:layoutDependency,layoutId:\"aJAj8k32j\",children:[/*#__PURE__*/_jsx(Link,{href:{hash:\":zLO07U7MZ\",webPageId:\"Exa7fZnHa\"},motionChild:true,nodeId:\"dRMQ49JSB\",openInNewTab:false,scopeId:\"bP71juiQC\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-jm8npy framer-19ong06\",layoutDependency:layoutDependency,layoutId:\"dRMQ49JSB\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:26,y:(componentViewport?.y||0)+0+0+0+30+0+0+0+0+.5,...addPropertyOverrides({oeNuQO11Y:{y:(componentViewport?.y||0)+0+0+0+30+0+162+0+0+0+.5}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1rybep8-container\",layoutDependency:layoutDependency,layoutId:\"ht3L4XYbQ-container\",nodeId:\"ht3L4XYbQ\",rendersWithMotion:true,scopeId:\"bP71juiQC\",children:/*#__PURE__*/_jsx(MenuButton,{ce_J3RMbk:\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255))\",height:\"100%\",id:\"ht3L4XYbQ\",layoutId:\"ht3L4XYbQ\",variant:\"RMAEgzB4G\",width:\"100%\",WMqEkUcXD:\"feed\"})})})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bu58dNvZS\"},motionChild:true,nodeId:\"FUVWNj7ko\",openInNewTab:false,scopeId:\"bP71juiQC\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1lq36co framer-19ong06\",layoutDependency:layoutDependency,layoutId:\"FUVWNj7ko\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:26,y:(componentViewport?.y||0)+0+0+0+30+0+0+27+0+.5,...addPropertyOverrides({oeNuQO11Y:{y:(componentViewport?.y||0)+0+0+0+30+0+162+0+27+0+.5}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1383erj-container\",layoutDependency:layoutDependency,layoutId:\"ZgiALFR0V-container\",nodeId:\"ZgiALFR0V\",rendersWithMotion:true,scopeId:\"bP71juiQC\",children:/*#__PURE__*/_jsx(MenuButton,{ce_J3RMbk:\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255))\",height:\"100%\",id:\"ZgiALFR0V\",layoutId:\"ZgiALFR0V\",variant:\"RMAEgzB4G\",width:\"100%\",WMqEkUcXD:\"wat wij doen\"})})})})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-dk1ra1\",layoutDependency:layoutDependency,layoutId:\"iW9L96X1x\",children:[/*#__PURE__*/_jsx(Link,{href:{webPageId:\"hHfTqIXuC\"},motionChild:true,nodeId:\"x_fNWSMhz\",openInNewTab:false,scopeId:\"bP71juiQC\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-13ev0ho framer-19ong06\",layoutDependency:layoutDependency,layoutId:\"x_fNWSMhz\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:26,y:(componentViewport?.y||0)+0+0+0+30+0+0+0+0+.5,...addPropertyOverrides({oeNuQO11Y:{y:(componentViewport?.y||0)+0+0+0+30+0+216+0+0+0+.5}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-qxot0t-container\",layoutDependency:layoutDependency,layoutId:\"VEp3jzdgx-container\",nodeId:\"VEp3jzdgx\",rendersWithMotion:true,scopeId:\"bP71juiQC\",children:/*#__PURE__*/_jsx(MenuButton,{ce_J3RMbk:\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255))\",height:\"100%\",id:\"VEp3jzdgx\",layoutId:\"VEp3jzdgx\",variant:\"RMAEgzB4G\",width:\"100%\",WMqEkUcXD:\"over ons\"})})})})}),/*#__PURE__*/_jsx(Link,{href:{hash:\":zLO07U7MZ\",webPageId:\"Exa7fZnHa\"},motionChild:true,nodeId:\"NviAdBniW\",openInNewTab:false,scopeId:\"bP71juiQC\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-8q0go3 framer-19ong06\",layoutDependency:layoutDependency,layoutId:\"NviAdBniW\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:26,y:(componentViewport?.y||0)+0+0+0+30+0+0+27+0+.5,...addPropertyOverrides({oeNuQO11Y:{y:(componentViewport?.y||0)+0+0+0+30+0+216+0+27+0+.5}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-k66rtr-container\",layoutDependency:layoutDependency,layoutId:\"K9pR7cbay-container\",nodeId:\"K9pR7cbay\",rendersWithMotion:true,scopeId:\"bP71juiQC\",children:/*#__PURE__*/_jsx(MenuButton,{ce_J3RMbk:\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255))\",height:\"100%\",id:\"K9pR7cbay\",layoutId:\"K9pR7cbay\",variant:\"RMAEgzB4G\",width:\"100%\",WMqEkUcXD:\"werken bij\"})})})})})]})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:48,width:`calc(max(${componentViewport?.width||\"100vw\"}, 1px) * 0.0303)`,y:(componentViewport?.y||0)+0+0+0+33,...addPropertyOverrides({oeNuQO11Y:{y:(componentViewport?.y||0)+0+0+0+141}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-pdv95x-container\",layoutDependency:layoutDependency,layoutId:\"JWguaygTB-container\",nodeId:\"JWguaygTB\",rendersWithMotion:true,scopeId:\"bP71juiQC\",children:/*#__PURE__*/_jsx(Spacer,{height:\"100%\",id:\"JWguaygTB\",layoutId:\"JWguaygTB\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-3v4auo\",\"data-framer-name\":\"Footer Text\",layoutDependency:layoutDependency,layoutId:\"jFQjBUbDz\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:48,width:\"44px\",y:(componentViewport?.y||0)+0+1e3-68+10,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1douimp-container\",layoutDependency:layoutDependency,layoutId:\"vKPU42uty-container\",nodeId:\"vKPU42uty\",rendersWithMotion:true,scopeId:\"bP71juiQC\",children:/*#__PURE__*/_jsx(Spacer,{height:\"100%\",id:\"vKPU42uty\",layoutId:\"vKPU42uty\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-cun9p4\",\"data-framer-name\":\"Wrapper\",layoutDependency:layoutDependency,layoutId:\"TNDUDYcJW\",children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1e1f5eh\",layoutDependency:layoutDependency,layoutId:\"VfTQ7e27h\",children:/*#__PURE__*/_jsx(Link,{href:{hash:\":zLO07U7MZ\",webPageId:\"Exa7fZnHa\"},motionChild:true,nodeId:\"AcvLLA4to\",openInNewTab:false,scopeId:\"bP71juiQC\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1wpyzgo framer-19ong06\",layoutDependency:layoutDependency,layoutId:\"AcvLLA4to\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:26,y:(componentViewport?.y||0)+0+1e3-68+20.5+0+0+0+0+.5,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-kmtkob-container\",layoutDependency:layoutDependency,layoutId:\"QnJLFb1Oj-container\",nodeId:\"QnJLFb1Oj\",rendersWithMotion:true,scopeId:\"bP71juiQC\",children:/*#__PURE__*/_jsx(MenuButton,{ce_J3RMbk:\"var(--token-e22307cc-5b57-48e0-844d-f0ce450569f2, rgb(189, 180, 168))\",height:\"100%\",id:\"QnJLFb1Oj\",layoutId:\"QnJLFb1Oj\",variant:\"pg6l1PTpL\",width:\"100%\",WMqEkUcXD:\"privacy voorwaarden\"})})})})})})})]})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-x4tlx6-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"SXJH6t8YJ-container\",nodeId:\"SXJH6t8YJ\",rendersWithMotion:true,scopeId:\"bP71juiQC\",children:/*#__PURE__*/_jsxs(Physics,{densityOptions:{density:.001,enable:true},friction:{friction:.11,frictionAir:.02},gravX:0,gravY:1.5,height:\"100%\",id:\"SXJH6t8YJ\",layoutId:\"SXJH6t8YJ\",mouseOptions:{angularStiffness:.05,enable:true,stiffness:.2},sleeping:false,style:{height:\"100%\",width:\"100%\"},wallOptions:{bottom:true,left:true,right:true,top:true},width:\"100%\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1n5w7bq\",\"data-framer-name\":\"N01\",layoutDependency:layoutDependency,layoutId:\"pTl7esfXZ\",children:/*#__PURE__*/_jsxs(SVG,{className:\"framer-5fpnyd\",layoutDependency:layoutDependency,layoutId:\"IyxzHCMzZ\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 299.601 298.651\" overflow=\"visible\"><path d=\"M 274.95 298.651 C 261.336 298.651 250.3 293.982 250.3 288.223 C 250.3 285.5 252.766 283.023 256.804 281.167 C 257.663 280.771 257.673 279.427 256.82 279.018 C 252.772 277.075 250.3 274.48 250.3 271.63 C 250.3 268.955 252.478 266.505 256.093 264.608 C 256.89 264.19 256.89 262.955 256.093 262.536 C 252.478 260.639 250.3 258.188 250.3 255.513 C 250.3 252.663 252.772 250.069 256.82 248.127 C 257.673 247.717 257.663 246.373 256.804 245.978 C 252.766 244.121 250.3 241.643 250.3 238.921 C 250.3 236.236 252.699 233.788 256.64 231.939 C 257.498 231.537 257.498 230.188 256.64 229.785 C 252.699 227.937 250.3 225.488 250.3 222.803 C 250.3 220.118 252.699 217.67 256.639 215.822 C 257.497 215.42 257.497 214.071 256.639 213.668 C 252.698 211.819 250.3 209.371 250.3 206.686 C 250.3 203.963 252.766 201.486 256.805 199.629 C 257.665 199.234 257.675 197.89 256.822 197.481 C 252.773 195.538 250.3 192.944 250.3 190.094 C 250.3 187.244 252.772 184.65 256.82 182.708 C 257.673 182.298 257.663 180.954 256.803 180.559 C 252.765 178.702 250.3 176.224 250.3 173.502 C 250.3 170.817 252.698 168.369 256.638 166.52 C 257.496 166.118 257.496 164.769 256.638 164.366 C 252.698 162.518 250.3 160.07 250.3 157.385 C 250.3 154.699 252.698 152.252 256.639 150.403 C 257.497 150.001 257.497 148.652 256.639 148.249 C 252.698 146.4 250.3 143.952 250.3 141.267 C 250.3 138.581 252.698 136.134 256.638 134.285 C 257.496 133.883 257.496 132.533 256.638 132.131 C 252.698 130.282 250.3 127.835 250.3 125.149 C 250.3 122.427 252.766 119.95 256.804 118.093 C 257.663 117.698 257.673 116.354 256.82 115.945 C 252.772 114.002 250.3 111.407 250.3 108.557 C 250.3 105.707 252.772 103.113 256.82 101.171 C 257.673 100.761 257.663 99.417 256.804 99.021 C 252.766 97.165 250.3 94.688 250.3 91.966 C 250.3 89.281 252.699 86.833 256.639 84.984 C 257.497 84.582 257.497 83.233 256.639 82.83 C 252.698 80.981 250.3 78.533 250.3 75.848 C 250.3 73.162 252.699 70.715 256.64 68.866 C 257.498 68.464 257.498 67.114 256.64 66.712 C 252.699 64.863 250.3 62.415 250.3 59.729 C 250.3 57.007 252.766 54.531 256.804 52.674 C 257.663 52.279 257.673 50.935 256.82 50.526 C 252.772 48.583 250.3 45.989 250.3 43.139 C 250.3 40.463 252.478 38.013 256.094 36.116 C 256.891 35.698 256.891 34.462 256.094 34.044 C 252.478 32.147 250.3 29.696 250.3 27.021 C 250.3 24.171 252.772 21.577 256.82 19.634 C 257.673 19.225 257.663 17.881 256.803 17.486 C 252.765 15.629 250.3 13.151 250.3 10.429 C 250.3 4.669 261.336 0 274.95 0 C 288.564 0 299.601 4.669 299.601 10.429 C 299.601 13.151 297.135 15.629 293.097 17.486 C 292.238 17.881 292.228 19.226 293.081 19.634 C 297.128 21.577 299.601 24.171 299.601 27.02 C 299.6 29.696 297.422 32.147 293.806 34.044 C 293.009 34.462 293.009 35.698 293.806 36.116 C 297.422 38.013 299.601 40.463 299.601 43.139 C 299.6 45.989 297.128 48.583 293.08 50.526 C 292.227 50.935 292.237 52.279 293.096 52.674 C 297.134 54.531 299.6 57.007 299.601 59.73 C 299.601 62.415 297.201 64.863 293.26 66.712 C 292.402 67.114 292.402 68.464 293.26 68.866 C 297.201 70.715 299.6 73.162 299.601 75.848 C 299.601 78.533 297.202 80.981 293.261 82.83 C 292.403 83.233 292.403 84.582 293.261 84.984 C 297.202 86.833 299.601 89.281 299.601 91.966 C 299.6 94.688 297.134 97.166 293.096 99.022 C 292.237 99.417 292.227 100.761 293.08 101.171 C 297.128 103.113 299.6 105.707 299.601 108.557 C 299.601 111.407 297.128 114.002 293.08 115.945 C 292.227 116.354 292.237 117.698 293.096 118.093 C 297.134 119.95 299.601 122.427 299.601 125.149 C 299.6 127.834 297.202 130.282 293.262 132.131 C 292.404 132.533 292.404 133.883 293.262 134.285 C 297.202 136.134 299.601 138.582 299.601 141.267 C 299.601 143.952 297.202 146.4 293.261 148.249 C 292.403 148.652 292.403 150.001 293.261 150.403 C 297.202 152.252 299.601 154.7 299.601 157.385 C 299.601 160.07 297.202 162.518 293.262 164.366 C 292.404 164.769 292.404 166.118 293.262 166.52 C 297.202 168.369 299.601 170.817 299.601 173.502 C 299.601 176.224 297.135 178.702 293.097 180.559 C 292.238 180.954 292.228 182.298 293.081 182.708 C 297.128 184.65 299.601 187.244 299.601 190.094 C 299.6 192.944 297.128 195.538 293.079 197.481 C 292.226 197.89 292.236 199.234 293.096 199.629 C 297.134 201.486 299.6 203.963 299.601 206.686 C 299.601 209.371 297.202 211.819 293.261 213.668 C 292.403 214.071 292.403 215.42 293.261 215.822 C 297.202 217.67 299.6 220.118 299.601 222.803 C 299.601 225.488 297.201 227.937 293.26 229.785 C 292.402 230.188 292.402 231.537 293.26 231.939 C 297.201 233.788 299.6 236.236 299.601 238.921 C 299.601 241.643 297.135 244.121 293.096 245.978 C 292.237 246.373 292.227 247.717 293.08 248.127 C 297.128 250.069 299.601 252.663 299.601 255.513 C 299.601 258.188 297.422 260.639 293.807 262.536 C 293.01 262.955 293.01 264.19 293.807 264.608 C 297.422 266.505 299.6 268.955 299.601 271.63 C 299.601 274.48 297.128 277.075 293.08 279.018 C 292.227 279.427 292.237 280.771 293.096 281.167 C 297.134 283.023 299.601 285.5 299.601 288.223 C 299.6 293.982 288.564 298.651 274.95 298.651 Z M 24.651 298.651 C 11.037 298.651 0.001 293.982 0 288.223 C 0 285.5 2.467 283.023 6.505 281.167 C 7.365 280.771 7.375 279.427 6.521 279.018 C 2.473 277.075 0 274.48 0 271.63 C 0 268.955 2.18 266.505 5.795 264.608 C 6.591 264.19 6.591 262.955 5.795 262.536 C 2.179 260.639 0 258.188 0 255.513 C 0 252.663 2.473 250.069 6.521 248.127 C 7.374 247.717 7.365 246.373 6.505 245.978 C 2.467 244.121 0 241.643 0 238.921 C 0 236.235 2.4 233.788 6.341 231.939 C 7.2 231.537 7.2 230.188 6.341 229.785 C 2.4 227.937 0 225.488 0 222.803 C 0 220.118 2.4 217.67 6.34 215.822 C 7.198 215.42 7.198 214.071 6.34 213.668 C 2.4 211.819 0 209.371 0 206.686 C 0 203.963 2.467 201.486 6.506 199.629 C 7.366 199.234 7.376 197.89 6.522 197.481 C 2.473 195.538 0 192.944 0 190.094 C 0 187.244 2.473 184.65 6.52 182.708 C 7.374 182.298 7.364 180.954 6.504 180.559 C 2.466 178.702 0 176.224 0 173.502 C 0 170.817 2.399 168.369 6.34 166.52 C 7.197 166.118 7.197 164.769 6.34 164.366 C 2.398 162.518 0 160.07 0 157.385 C 0 154.699 2.4 152.252 6.34 150.403 C 7.198 150.001 7.198 148.652 6.34 148.249 C 2.4 146.4 0 143.952 0 141.267 C 0 138.581 2.399 136.134 6.34 134.285 C 7.197 133.883 7.197 132.533 6.34 132.131 C 2.399 130.282 0 127.835 0 125.149 C 0 122.427 2.467 119.95 6.505 118.093 C 7.365 117.698 7.375 116.354 6.521 115.945 C 2.473 114.002 0 111.407 0 108.557 C 0 105.707 2.473 103.113 6.521 101.171 C 7.374 100.761 7.365 99.417 6.505 99.021 C 2.467 97.166 0 94.689 0 91.967 C 0 89.282 2.4 86.834 6.34 84.985 C 7.198 84.583 7.198 83.234 6.34 82.831 C 2.4 80.981 0 78.533 0 75.848 C 0 73.162 2.4 70.715 6.341 68.866 C 7.2 68.464 7.2 67.114 6.341 66.712 C 2.4 64.863 0 62.415 0 59.729 C 0 57.007 2.467 54.531 6.505 52.674 C 7.365 52.279 7.375 50.935 6.521 50.526 C 2.473 48.583 0.001 45.989 0 43.139 C 0 40.463 2.18 38.013 5.795 36.116 C 6.592 35.698 6.592 34.462 5.795 34.044 C 2.18 32.147 0 29.696 0 27.021 C 0 24.171 2.473 21.577 6.52 19.634 C 7.374 19.225 7.364 17.881 6.504 17.486 C 2.466 15.629 0 13.15 0 10.429 C 0 4.669 11.037 0 24.651 0 C 38.265 0 49.301 4.669 49.301 10.429 C 49.301 13.151 46.836 15.629 42.798 17.486 C 41.938 17.881 41.928 19.226 42.782 19.634 C 46.829 21.577 49.302 24.171 49.302 27.02 C 49.302 29.696 47.122 32.147 43.507 34.044 C 42.71 34.462 42.71 35.698 43.507 36.116 C 47.123 38.013 49.302 40.463 49.302 43.139 C 49.302 45.989 46.829 48.583 42.781 50.526 C 41.928 50.935 41.938 52.279 42.798 52.674 C 46.835 54.531 49.301 57.007 49.302 59.73 C 49.302 62.415 46.902 64.863 42.962 66.712 C 42.103 67.114 42.103 68.464 42.962 68.866 C 46.902 70.715 49.302 73.162 49.302 75.848 C 49.302 78.533 46.902 80.981 42.962 82.83 C 42.104 83.233 42.104 84.582 42.962 84.984 C 46.902 86.833 49.302 89.281 49.302 91.966 C 49.302 94.688 46.835 97.166 42.797 99.022 C 41.938 99.417 41.928 100.761 42.781 101.171 C 46.829 103.113 49.301 105.707 49.301 108.557 C 49.301 111.407 46.829 114.002 42.781 115.945 C 41.928 116.354 41.938 117.698 42.798 118.093 C 46.836 119.95 49.302 122.427 49.302 125.149 C 49.302 127.834 46.903 130.282 42.963 132.131 C 42.105 132.533 42.105 133.883 42.963 134.285 C 46.903 136.134 49.302 138.582 49.302 141.267 C 49.302 143.952 46.902 146.4 42.962 148.249 C 42.104 148.652 42.104 150.001 42.962 150.403 C 46.902 152.252 49.302 154.7 49.302 157.385 C 49.302 160.07 46.903 162.518 42.963 164.366 C 42.105 164.769 42.105 166.118 42.963 166.52 C 46.903 168.369 49.302 170.817 49.302 173.502 C 49.302 176.224 46.836 178.702 42.798 180.559 C 41.938 180.954 41.928 182.298 42.782 182.708 C 46.829 184.65 49.302 187.244 49.302 190.094 C 49.302 192.944 46.829 195.538 42.78 197.481 C 41.927 197.89 41.937 199.234 42.797 199.629 C 46.835 201.486 49.302 203.963 49.302 206.686 C 49.302 209.371 46.902 211.819 42.962 213.668 C 42.104 214.071 42.104 215.42 42.962 215.822 C 46.902 217.67 49.302 220.118 49.302 222.803 C 49.302 225.488 46.902 227.937 42.962 229.785 C 42.103 230.188 42.103 231.537 42.962 231.939 C 46.902 233.788 49.302 236.236 49.302 238.921 C 49.302 241.643 46.836 244.121 42.797 245.978 C 41.937 246.373 41.928 247.717 42.781 248.127 C 46.829 250.069 49.301 252.663 49.301 255.513 C 49.301 258.188 47.123 260.639 43.508 262.536 C 42.711 262.955 42.711 264.19 43.508 264.608 C 47.123 266.505 49.302 268.955 49.302 271.63 C 49.302 274.48 46.829 277.075 42.781 279.018 C 41.928 279.427 41.938 280.771 42.798 281.167 C 46.836 283.023 49.302 285.5 49.302 288.223 C 49.302 293.982 38.265 298.651 24.652 298.651 Z M 210.718 284.417 C 198.379 290.171 186.314 290.412 183.768 284.954 C 182.638 282.53 183.577 279.388 186.053 276.14 C 186.598 275.425 186.076 274.305 185.177 274.263 C 181.098 274.072 178.087 272.771 176.957 270.346 C 175.752 267.763 176.897 264.367 179.746 260.896 C 180.346 260.165 179.769 258.951 178.823 258.956 C 174.378 258.98 171.096 257.777 169.945 255.31 C 168.81 252.876 169.95 249.644 172.741 246.303 C 173.348 245.576 172.778 244.353 171.83 244.351 C 167.477 244.341 164.268 243.136 163.133 240.702 C 161.998 238.268 163.138 235.036 165.929 231.695 C 166.536 230.968 165.966 229.745 165.018 229.743 C 160.665 229.733 157.456 228.528 156.321 226.094 C 155.171 223.627 156.359 220.34 159.233 216.952 C 159.845 216.23 159.286 215.008 158.34 214.997 C 153.851 214.947 150.514 213.64 149.31 211.058 C 148.105 208.474 149.251 205.078 152.1 201.607 C 152.7 200.876 152.123 199.661 151.177 199.666 C 146.731 199.691 143.449 198.488 142.298 196.02 C 141.163 193.586 142.303 190.353 145.094 187.012 C 145.702 186.285 145.132 185.062 144.184 185.06 C 139.831 185.05 136.621 183.845 135.486 181.411 C 134.352 178.977 135.492 175.746 138.282 172.405 C 138.89 171.678 138.32 170.455 137.372 170.453 C 133.019 170.443 129.81 169.239 128.675 166.805 C 127.54 164.371 128.68 161.139 131.47 157.798 C 132.078 157.071 131.507 155.848 130.56 155.846 C 126.207 155.836 122.998 154.631 121.863 152.197 C 120.712 149.73 121.901 146.442 124.776 143.053 C 125.388 142.332 124.829 141.109 123.883 141.099 C 119.393 141.049 116.055 139.743 114.851 137.16 C 113.646 134.577 114.791 131.181 117.64 127.71 C 118.24 126.978 117.663 125.764 116.717 125.769 C 112.272 125.793 108.99 124.591 107.839 122.123 C 106.704 119.69 107.844 116.457 110.635 113.117 C 111.242 112.389 110.672 111.167 109.724 111.164 C 105.371 111.154 102.162 109.949 101.027 107.515 C 99.892 105.081 101.032 101.848 103.824 98.507 C 104.431 97.78 103.861 96.557 102.913 96.555 C 98.56 96.545 95.351 95.341 94.216 92.907 C 93.065 90.44 94.254 87.153 97.129 83.763 C 97.741 83.042 97.182 81.819 96.236 81.809 C 91.746 81.759 88.408 80.453 87.204 77.87 C 86.073 75.445 87.012 72.304 89.488 69.056 C 90.033 68.34 89.511 67.221 88.612 67.179 C 84.533 66.987 81.522 65.687 80.392 63.262 C 79.187 60.679 80.332 57.283 83.181 53.812 C 83.781 53.081 83.204 51.867 82.258 51.872 C 77.813 51.895 74.53 50.692 73.38 48.225 C 72.265 45.835 73.347 42.675 76.03 39.397 C 76.625 38.672 76.065 37.472 75.128 37.461 C 70.892 37.411 67.776 36.207 66.661 33.816 C 64.227 28.596 72.257 19.7 84.595 13.946 C 96.933 8.193 108.909 7.76 111.343 12.98 C 112.458 15.37 111.377 18.532 108.693 21.809 C 108.099 22.535 108.659 23.734 109.597 23.746 C 113.832 23.796 116.947 24.999 118.062 27.389 C 119.213 29.856 118.025 33.144 115.15 36.534 C 114.538 37.255 115.097 38.478 116.043 38.488 C 120.532 38.538 123.87 39.843 125.074 42.426 C 126.205 44.851 125.266 47.993 122.791 51.241 C 122.246 51.957 122.768 53.076 123.667 53.118 C 127.745 53.31 130.755 54.61 131.886 57.034 C 133.09 59.617 131.946 63.014 129.098 66.485 C 128.498 67.216 129.075 68.43 130.021 68.425 C 134.466 68.402 137.748 69.605 138.898 72.072 C 140.033 74.505 138.893 77.738 136.102 81.079 C 135.494 81.806 136.065 83.029 137.012 83.031 C 141.365 83.041 144.574 84.246 145.709 86.68 C 146.844 89.114 145.705 92.346 142.915 95.687 C 142.308 96.415 142.878 97.637 143.826 97.639 C 148.178 97.649 151.386 98.855 152.521 101.288 C 153.671 103.755 152.483 107.042 149.609 110.432 C 148.997 111.153 149.556 112.375 150.502 112.386 C 154.991 112.436 158.328 113.742 159.532 116.324 C 160.737 118.907 159.593 122.304 156.745 125.775 C 156.145 126.506 156.722 127.72 157.668 127.715 C 162.113 127.691 165.395 128.894 166.545 131.361 C 167.68 133.795 166.541 137.028 163.751 140.369 C 163.143 141.096 163.713 142.319 164.661 142.321 C 169.013 142.331 172.221 143.536 173.356 145.97 C 174.491 148.403 173.352 151.635 170.562 154.976 C 169.955 155.703 170.525 156.926 171.473 156.928 C 175.825 156.938 179.033 158.142 180.168 160.576 C 181.303 163.01 180.164 166.243 177.373 169.584 C 176.765 170.312 177.336 171.535 178.283 171.537 C 182.636 171.547 185.845 172.751 186.98 175.185 C 188.13 177.652 186.942 180.94 184.067 184.33 C 183.455 185.051 184.014 186.274 184.96 186.284 C 189.45 186.333 192.787 187.639 193.992 190.222 C 195.196 192.805 194.052 196.201 191.206 199.672 C 190.606 200.403 191.183 201.617 192.129 201.612 C 196.572 201.589 199.853 202.792 201.003 205.259 C 202.138 207.692 200.999 210.925 198.21 214.265 C 197.602 214.993 198.172 216.216 199.12 216.218 C 203.472 216.228 206.681 217.433 207.816 219.866 C 208.951 222.3 207.811 225.533 205.021 228.873 C 204.414 229.601 204.984 230.824 205.932 230.826 C 210.284 230.836 213.493 232.041 214.628 234.474 C 215.778 236.941 214.59 240.229 211.715 243.618 C 211.103 244.339 211.662 245.562 212.608 245.572 C 217.097 245.622 220.435 246.928 221.639 249.511 C 222.77 251.935 221.831 255.077 219.356 258.325 C 218.811 259.041 219.333 260.16 220.232 260.203 C 224.31 260.394 227.32 261.694 228.451 264.119 C 230.995 269.576 223.056 278.664 210.718 284.417 Z\" fill=\"rgb(255,140,140)\"></path></svg>',withExternalLayout:true,children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-7wl4ui\",layoutDependency:layoutDependency,layoutId:\"gIXZejnTT\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 49.301 298.651\" overflow=\"visible\"><path d=\"M 24.65 298.651 C 11.036 298.651 0 293.982 0 288.223 C 0 285.5 2.466 283.023 6.504 281.167 C 7.363 280.771 7.373 279.427 6.52 279.018 C 2.472 277.075 0 274.48 0 271.63 C 0 268.955 2.178 266.505 5.793 264.608 C 6.59 264.19 6.59 262.955 5.793 262.536 C 2.178 260.639 0 258.188 0 255.513 C 0 252.663 2.472 250.069 6.52 248.127 C 7.373 247.717 7.363 246.373 6.504 245.978 C 2.466 244.121 0 241.643 0 238.921 C 0 236.236 2.399 233.788 6.34 231.939 C 7.198 231.537 7.198 230.188 6.34 229.785 C 2.399 227.937 0 225.488 0 222.803 C 0 220.118 2.399 217.67 6.339 215.822 C 7.197 215.42 7.197 214.071 6.339 213.668 C 2.398 211.819 0 209.371 0 206.686 C 0 203.963 2.466 201.486 6.505 199.629 C 7.365 199.234 7.375 197.89 6.522 197.481 C 2.473 195.538 0 192.944 0 190.094 C 0 187.244 2.472 184.65 6.52 182.708 C 7.373 182.298 7.363 180.954 6.503 180.559 C 2.465 178.702 0 176.224 0 173.502 C 0 170.817 2.398 168.369 6.338 166.52 C 7.196 166.118 7.196 164.769 6.338 164.366 C 2.398 162.518 0 160.07 0 157.385 C 0 154.699 2.398 152.252 6.339 150.403 C 7.197 150.001 7.197 148.652 6.339 148.249 C 2.398 146.4 0 143.952 0 141.267 C 0 138.581 2.398 136.134 6.338 134.285 C 7.196 133.883 7.196 132.533 6.338 132.131 C 2.398 130.282 0 127.835 0 125.149 C 0 122.427 2.466 119.95 6.504 118.093 C 7.363 117.698 7.373 116.354 6.52 115.945 C 2.472 114.002 0 111.407 0 108.557 C 0 105.707 2.472 103.113 6.52 101.171 C 7.373 100.761 7.363 99.417 6.504 99.021 C 2.466 97.165 0 94.688 0 91.966 C 0 89.281 2.399 86.833 6.339 84.984 C 7.197 84.582 7.197 83.233 6.339 82.83 C 2.398 80.981 0 78.533 0 75.848 C 0 73.162 2.399 70.715 6.34 68.866 C 7.198 68.464 7.198 67.114 6.34 66.712 C 2.399 64.863 0 62.415 0 59.729 C 0 57.007 2.466 54.531 6.504 52.674 C 7.363 52.279 7.373 50.935 6.52 50.526 C 2.472 48.583 0 45.989 0 43.139 C 0 40.463 2.178 38.013 5.794 36.116 C 6.591 35.698 6.591 34.462 5.794 34.044 C 2.178 32.147 0 29.696 0 27.021 C 0 24.171 2.472 21.577 6.52 19.634 C 7.373 19.225 7.363 17.881 6.503 17.486 C 2.465 15.629 0 13.151 0 10.429 C 0 4.669 11.036 0 24.65 0 C 38.264 0 49.301 4.669 49.301 10.429 C 49.301 13.151 46.835 15.629 42.797 17.486 C 41.938 17.881 41.928 19.226 42.781 19.634 C 46.828 21.577 49.301 24.171 49.301 27.02 C 49.3 29.696 47.122 32.147 43.506 34.044 C 42.709 34.462 42.709 35.698 43.506 36.116 C 47.122 38.013 49.301 40.463 49.301 43.139 C 49.3 45.989 46.828 48.583 42.78 50.526 C 41.927 50.935 41.937 52.279 42.796 52.674 C 46.834 54.531 49.3 57.007 49.301 59.73 C 49.301 62.415 46.901 64.863 42.96 66.712 C 42.102 67.114 42.102 68.464 42.96 68.866 C 46.901 70.715 49.3 73.162 49.301 75.848 C 49.301 78.533 46.902 80.981 42.961 82.83 C 42.103 83.233 42.103 84.582 42.961 84.984 C 46.902 86.833 49.301 89.281 49.301 91.966 C 49.3 94.688 46.834 97.166 42.796 99.022 C 41.937 99.417 41.927 100.761 42.78 101.171 C 46.828 103.113 49.3 105.707 49.301 108.557 C 49.301 111.407 46.828 114.002 42.78 115.945 C 41.927 116.354 41.937 117.698 42.796 118.093 C 46.834 119.95 49.301 122.427 49.301 125.149 C 49.3 127.834 46.902 130.282 42.962 132.131 C 42.104 132.533 42.104 133.883 42.962 134.285 C 46.902 136.134 49.301 138.582 49.301 141.267 C 49.301 143.952 46.902 146.4 42.961 148.249 C 42.103 148.652 42.103 150.001 42.961 150.403 C 46.902 152.252 49.301 154.7 49.301 157.385 C 49.301 160.07 46.902 162.518 42.962 164.366 C 42.104 164.769 42.104 166.118 42.962 166.52 C 46.902 168.369 49.301 170.817 49.301 173.502 C 49.301 176.224 46.835 178.702 42.797 180.559 C 41.938 180.954 41.928 182.298 42.781 182.708 C 46.828 184.65 49.301 187.244 49.301 190.094 C 49.3 192.944 46.828 195.538 42.779 197.481 C 41.926 197.89 41.936 199.234 42.796 199.629 C 46.834 201.486 49.3 203.963 49.301 206.686 C 49.301 209.371 46.902 211.819 42.961 213.668 C 42.103 214.071 42.103 215.42 42.961 215.822 C 46.902 217.67 49.3 220.118 49.301 222.803 C 49.301 225.488 46.901 227.937 42.96 229.785 C 42.102 230.188 42.102 231.537 42.96 231.939 C 46.901 233.788 49.3 236.236 49.301 238.921 C 49.301 241.643 46.835 244.121 42.796 245.978 C 41.937 246.373 41.927 247.717 42.78 248.127 C 46.828 250.069 49.301 252.663 49.301 255.513 C 49.301 258.188 47.122 260.639 43.507 262.536 C 42.71 262.955 42.71 264.19 43.507 264.608 C 47.122 266.505 49.3 268.955 49.301 271.63 C 49.301 274.48 46.828 277.075 42.78 279.018 C 41.927 279.427 41.937 280.771 42.796 281.167 C 46.834 283.023 49.301 285.5 49.301 288.223 C 49.3 293.982 38.264 298.651 24.65 298.651 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-halbhu\",layoutDependency:layoutDependency,layoutId:\"QaYvuh5rV\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 49.302 298.651\" overflow=\"visible\"><path d=\"M 24.651 298.651 C 11.037 298.651 0.001 293.982 0 288.223 C 0 285.5 2.467 283.023 6.505 281.167 C 7.365 280.771 7.375 279.427 6.521 279.018 C 2.473 277.075 0 274.48 0 271.63 C 0 268.955 2.18 266.505 5.795 264.608 C 6.591 264.19 6.591 262.955 5.795 262.536 C 2.179 260.639 0 258.188 0 255.513 C 0 252.663 2.473 250.069 6.521 248.127 C 7.374 247.717 7.365 246.373 6.505 245.978 C 2.467 244.121 0 241.643 0 238.921 C 0 236.235 2.4 233.788 6.341 231.939 C 7.2 231.537 7.2 230.188 6.341 229.785 C 2.4 227.937 0 225.488 0 222.803 C 0 220.118 2.4 217.67 6.34 215.822 C 7.198 215.42 7.198 214.071 6.34 213.668 C 2.4 211.819 0 209.371 0 206.686 C 0 203.963 2.467 201.486 6.506 199.629 C 7.366 199.234 7.376 197.89 6.522 197.481 C 2.473 195.538 0 192.944 0 190.094 C 0 187.244 2.473 184.65 6.52 182.708 C 7.374 182.298 7.364 180.954 6.504 180.559 C 2.466 178.702 0 176.224 0 173.502 C 0 170.817 2.399 168.369 6.34 166.52 C 7.197 166.118 7.197 164.769 6.34 164.366 C 2.398 162.518 0 160.07 0 157.385 C 0 154.699 2.4 152.252 6.34 150.403 C 7.198 150.001 7.198 148.652 6.34 148.249 C 2.4 146.4 0 143.952 0 141.267 C 0 138.581 2.399 136.134 6.34 134.285 C 7.197 133.883 7.197 132.533 6.34 132.131 C 2.399 130.282 0 127.835 0 125.149 C 0 122.427 2.467 119.95 6.505 118.093 C 7.365 117.698 7.375 116.354 6.521 115.945 C 2.473 114.002 0 111.407 0 108.557 C 0 105.707 2.473 103.113 6.521 101.171 C 7.374 100.761 7.365 99.417 6.505 99.021 C 2.467 97.166 0 94.689 0 91.967 C 0 89.282 2.4 86.834 6.34 84.985 C 7.198 84.583 7.198 83.234 6.34 82.831 C 2.4 80.981 0 78.533 0 75.848 C 0 73.162 2.4 70.715 6.341 68.866 C 7.2 68.464 7.2 67.114 6.341 66.712 C 2.4 64.863 0 62.415 0 59.729 C 0 57.007 2.467 54.531 6.505 52.674 C 7.365 52.279 7.375 50.935 6.521 50.526 C 2.473 48.583 0.001 45.989 0 43.139 C 0 40.463 2.18 38.013 5.795 36.116 C 6.592 35.698 6.592 34.462 5.795 34.044 C 2.18 32.147 0 29.696 0 27.021 C 0 24.171 2.473 21.577 6.52 19.634 C 7.374 19.225 7.364 17.881 6.504 17.486 C 2.466 15.629 0 13.15 0 10.429 C 0 4.669 11.037 0 24.651 0 C 38.265 0 49.301 4.669 49.301 10.429 C 49.301 13.151 46.836 15.629 42.798 17.486 C 41.938 17.881 41.928 19.226 42.782 19.634 C 46.829 21.577 49.302 24.171 49.302 27.02 C 49.302 29.696 47.122 32.147 43.507 34.044 C 42.71 34.462 42.71 35.698 43.507 36.116 C 47.123 38.013 49.302 40.463 49.302 43.139 C 49.302 45.989 46.829 48.583 42.781 50.526 C 41.928 50.935 41.938 52.279 42.798 52.674 C 46.835 54.531 49.301 57.007 49.302 59.73 C 49.302 62.415 46.902 64.863 42.962 66.712 C 42.103 67.114 42.103 68.464 42.962 68.866 C 46.902 70.715 49.302 73.162 49.302 75.848 C 49.302 78.533 46.902 80.981 42.962 82.83 C 42.104 83.233 42.104 84.582 42.962 84.984 C 46.902 86.833 49.302 89.281 49.302 91.966 C 49.302 94.688 46.835 97.166 42.797 99.022 C 41.938 99.417 41.928 100.761 42.781 101.171 C 46.829 103.113 49.301 105.707 49.301 108.557 C 49.301 111.407 46.829 114.002 42.781 115.945 C 41.928 116.354 41.938 117.698 42.798 118.093 C 46.836 119.95 49.302 122.427 49.302 125.149 C 49.302 127.834 46.903 130.282 42.963 132.131 C 42.105 132.533 42.105 133.883 42.963 134.285 C 46.903 136.134 49.302 138.582 49.302 141.267 C 49.302 143.952 46.902 146.4 42.962 148.249 C 42.104 148.652 42.104 150.001 42.962 150.403 C 46.902 152.252 49.302 154.7 49.302 157.385 C 49.302 160.07 46.903 162.518 42.963 164.366 C 42.105 164.769 42.105 166.118 42.963 166.52 C 46.903 168.369 49.302 170.817 49.302 173.502 C 49.302 176.224 46.836 178.702 42.798 180.559 C 41.938 180.954 41.928 182.298 42.782 182.708 C 46.829 184.65 49.302 187.244 49.302 190.094 C 49.302 192.944 46.829 195.538 42.78 197.481 C 41.927 197.89 41.937 199.234 42.797 199.629 C 46.835 201.486 49.302 203.963 49.302 206.686 C 49.302 209.371 46.902 211.819 42.962 213.668 C 42.104 214.071 42.104 215.42 42.962 215.822 C 46.902 217.67 49.302 220.118 49.302 222.803 C 49.302 225.488 46.902 227.937 42.962 229.785 C 42.103 230.188 42.103 231.537 42.962 231.939 C 46.902 233.788 49.302 236.236 49.302 238.921 C 49.302 241.643 46.836 244.121 42.797 245.978 C 41.937 246.373 41.928 247.717 42.781 248.127 C 46.829 250.069 49.301 252.663 49.301 255.513 C 49.301 258.188 47.123 260.639 43.508 262.536 C 42.711 262.955 42.711 264.19 43.508 264.608 C 47.123 266.505 49.302 268.955 49.302 271.63 C 49.302 274.48 46.829 277.075 42.781 279.018 C 41.928 279.427 41.938 280.771 42.798 281.167 C 46.836 283.023 49.302 285.5 49.302 288.223 C 49.302 293.982 38.265 298.651 24.652 298.651 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-zkcof8\",layoutDependency:layoutDependency,layoutId:\"SoCsIJu_3\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 162.699 279.564\" overflow=\"visible\"><path d=\"M 144.492 275.086 C 132.153 280.84 120.088 281.081 117.542 275.623 C 116.412 273.199 117.351 270.057 119.827 266.809 C 120.372 266.094 119.85 264.974 118.951 264.932 C 114.872 264.741 111.861 263.44 110.731 261.015 C 109.526 258.432 110.671 255.036 113.52 251.565 C 114.12 250.834 113.543 249.62 112.597 249.625 C 108.152 249.649 104.87 248.446 103.719 245.979 C 102.584 243.545 103.724 240.313 106.515 236.972 C 107.122 236.245 106.552 235.022 105.604 235.02 C 101.251 235.01 98.042 233.805 96.907 231.371 C 95.772 228.937 96.912 225.705 99.703 222.364 C 100.31 221.637 99.74 220.414 98.792 220.412 C 94.439 220.402 91.23 219.197 90.095 216.763 C 88.945 214.296 90.133 211.009 93.007 207.621 C 93.619 206.899 93.06 205.677 92.114 205.666 C 87.625 205.616 84.288 204.309 83.084 201.727 C 81.879 199.143 83.025 195.747 85.874 192.276 C 86.474 191.545 85.897 190.33 84.951 190.335 C 80.505 190.36 77.223 189.157 76.072 186.689 C 74.937 184.255 76.077 181.022 78.868 177.681 C 79.476 176.954 78.906 175.731 77.958 175.729 C 73.605 175.719 70.395 174.514 69.26 172.08 C 68.126 169.646 69.266 166.415 72.056 163.074 C 72.664 162.347 72.094 161.124 71.146 161.122 C 66.793 161.112 63.584 159.908 62.449 157.474 C 61.314 155.04 62.454 151.808 65.244 148.467 C 65.852 147.74 65.281 146.517 64.334 146.515 C 59.981 146.505 56.772 145.3 55.637 142.866 C 54.486 140.399 55.675 137.111 58.55 133.722 C 59.162 133.001 58.603 131.778 57.657 131.768 C 53.167 131.718 49.829 130.412 48.625 127.829 C 47.42 125.246 48.565 121.85 51.414 118.379 C 52.014 117.647 51.437 116.433 50.491 116.438 C 46.046 116.462 42.764 115.26 41.613 112.792 C 40.478 110.359 41.618 107.126 44.409 103.786 C 45.016 103.058 44.446 101.836 43.498 101.833 C 39.145 101.823 35.936 100.618 34.801 98.184 C 33.666 95.75 34.806 92.517 37.598 89.176 C 38.205 88.449 37.635 87.226 36.687 87.224 C 32.334 87.214 29.125 86.01 27.99 83.576 C 26.839 81.109 28.028 77.822 30.903 74.432 C 31.515 73.711 30.956 72.488 30.01 72.478 C 25.52 72.428 22.182 71.122 20.978 68.539 C 19.847 66.114 20.786 62.973 23.262 59.725 C 23.807 59.009 23.285 57.89 22.386 57.848 C 18.307 57.656 15.296 56.356 14.166 53.931 C 12.961 51.348 14.106 47.952 16.955 44.481 C 17.555 43.75 16.978 42.536 16.032 42.541 C 11.587 42.564 8.304 41.361 7.154 38.894 C 6.039 36.504 7.121 33.344 9.804 30.066 C 10.399 29.341 9.839 28.141 8.902 28.13 C 4.666 28.08 1.55 26.876 0.435 24.485 C -1.999 19.265 6.031 10.369 18.369 4.615 C 30.707 -1.138 42.683 -1.571 45.117 3.649 C 46.232 6.039 45.151 9.201 42.467 12.478 C 41.873 13.204 42.433 14.403 43.371 14.415 C 47.606 14.465 50.721 15.668 51.836 18.058 C 52.987 20.525 51.799 23.813 48.924 27.203 C 48.312 27.924 48.871 29.147 49.817 29.157 C 54.306 29.207 57.644 30.512 58.848 33.095 C 59.979 35.52 59.04 38.662 56.565 41.91 C 56.02 42.626 56.542 43.745 57.441 43.787 C 61.519 43.979 64.529 45.279 65.66 47.703 C 66.864 50.286 65.72 53.683 62.872 57.154 C 62.272 57.885 62.849 59.099 63.795 59.094 C 68.24 59.071 71.522 60.274 72.672 62.741 C 73.807 65.174 72.667 68.407 69.876 71.748 C 69.268 72.475 69.839 73.698 70.786 73.7 C 75.139 73.71 78.348 74.915 79.483 77.349 C 80.618 79.783 79.479 83.015 76.689 86.356 C 76.082 87.084 76.652 88.306 77.6 88.308 C 81.952 88.318 85.16 89.524 86.295 91.957 C 87.445 94.424 86.257 97.711 83.383 101.101 C 82.771 101.822 83.33 103.044 84.276 103.055 C 88.765 103.105 92.102 104.411 93.306 106.993 C 94.511 109.576 93.367 112.973 90.519 116.444 C 89.919 117.175 90.496 118.389 91.442 118.384 C 95.887 118.36 99.169 119.563 100.319 122.03 C 101.454 124.464 100.315 127.697 97.525 131.038 C 96.917 131.765 97.487 132.988 98.435 132.99 C 102.787 133 105.995 134.205 107.13 136.639 C 108.265 139.072 107.126 142.304 104.336 145.645 C 103.729 146.372 104.299 147.595 105.247 147.597 C 109.599 147.607 112.807 148.811 113.942 151.245 C 115.077 153.679 113.938 156.912 111.147 160.253 C 110.539 160.981 111.11 162.204 112.057 162.206 C 116.41 162.216 119.619 163.42 120.754 165.854 C 121.904 168.321 120.716 171.609 117.841 174.999 C 117.229 175.72 117.788 176.943 118.734 176.953 C 123.224 177.002 126.561 178.308 127.766 180.891 C 128.97 183.474 127.826 186.87 124.98 190.341 C 124.38 191.072 124.957 192.286 125.903 192.281 C 130.346 192.258 133.627 193.461 134.777 195.928 C 135.912 198.361 134.773 201.594 131.984 204.934 C 131.376 205.662 131.946 206.885 132.894 206.887 C 137.246 206.897 140.455 208.102 141.59 210.535 C 142.725 212.969 141.585 216.202 138.795 219.542 C 138.188 220.27 138.758 221.493 139.706 221.495 C 144.058 221.505 147.267 222.71 148.402 225.143 C 149.552 227.61 148.364 230.898 145.489 234.287 C 144.877 235.008 145.436 236.231 146.382 236.241 C 150.871 236.291 154.209 237.597 155.413 240.18 C 156.544 242.604 155.605 245.746 153.13 248.994 C 152.585 249.71 153.107 250.829 154.006 250.872 C 158.084 251.063 161.094 252.363 162.225 254.788 C 164.769 260.245 156.83 269.333 144.492 275.086 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true})]})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1vshbi4\",\"data-framer-name\":\"N02\",layoutDependency:layoutDependency,layoutId:\"ggv_MNkwq\",children:/*#__PURE__*/_jsxs(SVG,{className:\"framer-1utyujw\",layoutDependency:layoutDependency,layoutId:\"RdTYFBtek\",requiresOverflowVisible:false,style:{rotate:90},svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 298.5 306\" overflow=\"visible\"><path d=\"M 245.53 306 C 244.43 306 243.52 305.08 243.6 303.95 C 244.1 296.86 247.15 290.49 251.82 285.82 C 252.72 284.91 252.72 283.38 251.82 282.47 C 246.71 277.35 243.53 270.2 243.53 262.29 C 243.53 254.38 246.7 247.23 251.82 242.11 C 252.72 241.2 252.72 239.67 251.82 238.76 C 246.71 233.64 243.53 226.49 243.53 218.58 C 243.53 210.67 246.7 203.52 251.82 198.4 C 252.72 197.49 252.72 195.96 251.82 195.05 C 246.71 189.93 243.53 182.78 243.53 174.87 C 243.53 166.96 246.7 159.81 251.82 154.69 C 252.72 153.78 252.72 152.25 251.82 151.34 C 246.71 146.22 243.53 139.07 243.53 131.16 C 243.53 123.25 246.7 116.1 251.82 110.98 C 252.72 110.07 252.72 108.54 251.82 107.63 C 246.71 102.51 243.53 95.36 243.53 87.45 C 243.53 79.54 246.7 72.39 251.82 67.27 C 252.72 66.36 252.72 64.83 251.82 63.92 C 246.71 58.8 243.53 51.65 243.53 43.74 C 243.53 35.83 246.71 28.68 251.82 23.56 C 252.72 22.65 252.72 21.12 251.82 20.21 C 247.15 15.54 244.1 9.17 243.61 2.08 C 243.53 0.95 244.43 0.03 245.54 0.03 L 296.49 0.03 C 297.59 0.03 298.5 0.95 298.42 2.08 C 297.92 9.17 294.87 15.54 290.21 20.21 C 289.3 21.12 289.3 22.65 290.21 23.56 C 295.32 28.68 298.5 35.83 298.5 43.74 C 298.5 51.65 295.33 58.8 290.21 63.92 C 289.3 64.83 289.3 66.36 290.21 67.27 C 295.32 72.39 298.5 79.54 298.5 87.45 C 298.5 95.36 295.33 102.51 290.21 107.63 C 289.3 108.54 289.3 110.07 290.21 110.98 C 295.32 116.1 298.5 123.25 298.5 131.16 C 298.5 139.07 295.33 146.22 290.21 151.34 C 289.3 152.25 289.3 153.78 290.21 154.69 C 295.32 159.81 298.5 166.96 298.5 174.87 C 298.5 182.78 295.33 189.93 290.21 195.05 C 289.3 195.96 289.3 197.49 290.21 198.4 C 295.32 203.52 298.5 210.67 298.5 218.58 C 298.5 226.49 295.33 233.64 290.21 238.76 C 289.3 239.67 289.3 241.2 290.21 242.11 C 295.32 247.23 298.5 254.38 298.5 262.29 C 298.5 270.2 295.33 277.35 290.21 282.47 C 289.3 283.38 289.3 284.91 290.21 285.82 C 294.88 290.49 297.93 296.86 298.42 303.95 C 298.5 305.08 297.6 306 296.49 306 Z M 2 306 C 0.9 306 -0.01 305.08 0.07 303.95 C 0.57 296.86 3.62 290.49 8.28 285.82 C 9.19 284.91 9.19 283.38 8.28 282.47 C 3.17 277.35 0 270.2 0 262.29 C 0 254.38 3.17 247.23 8.29 242.11 C 9.2 241.2 9.2 239.67 8.29 238.76 C 3.17 233.63 0 226.48 0 218.57 C 0 210.66 3.17 203.51 8.29 198.39 C 9.2 197.48 9.2 195.95 8.29 195.04 C 3.17 189.92 0 182.77 0 174.86 C 0 166.95 3.17 159.8 8.29 154.68 C 9.2 153.77 9.2 152.24 8.29 151.33 C 3.17 146.2 0 139.06 0 131.14 C 0 123.23 3.17 116.08 8.29 110.96 C 9.2 110.05 9.2 108.52 8.29 107.61 C 3.17 102.49 0 95.34 0 87.43 C 0 79.52 3.17 72.37 8.29 67.25 C 9.2 66.34 9.2 64.81 8.29 63.9 C 3.17 58.78 0 51.63 0 43.71 C 0 35.8 3.17 28.65 8.29 23.53 C 9.2 22.62 9.2 21.09 8.29 20.18 C 3.62 15.51 0.57 9.14 0.07 2.05 C 0.037 1.518 0.225 0.995 0.591 0.607 C 0.957 0.219 1.467 -0.001 2 0 L 52.95 0 C 54.05 0 54.96 0.92 54.88 2.05 C 54.38 9.14 51.33 15.51 46.67 20.18 C 45.76 21.09 45.76 22.62 46.67 23.53 C 51.78 28.65 54.95 35.8 54.95 43.71 C 54.95 51.62 51.78 58.77 46.67 63.89 C 45.76 64.8 45.76 66.33 46.67 67.24 C 51.78 72.36 54.95 79.51 54.95 87.42 C 54.95 95.33 51.78 102.48 46.66 107.6 C 45.75 108.51 45.75 110.04 46.66 110.95 C 51.77 116.07 54.95 123.22 54.95 131.13 C 54.95 139.04 51.78 146.19 46.66 151.31 C 45.75 152.22 45.75 153.75 46.66 154.66 C 51.77 159.78 54.95 166.93 54.95 174.84 C 54.95 182.75 51.78 189.9 46.67 195.02 C 45.76 195.93 45.76 197.46 46.67 198.37 C 51.78 203.49 54.95 210.64 54.95 218.55 C 54.95 226.46 51.78 233.61 46.66 238.73 C 45.75 239.64 45.75 241.17 46.66 242.08 C 51.77 247.2 54.95 254.35 54.95 262.26 C 54.95 270.17 51.78 277.32 46.66 282.44 C 45.75 283.35 45.75 284.88 46.66 285.79 C 51.33 290.46 54.38 296.83 54.87 303.92 C 54.95 305.05 54.05 305.97 52.94 305.97 L 2 305.97 Z M 214.88 293.57 C 201.13 299.98 184.78 294.03 178.37 280.28 C 175.17 273.442 174.934 265.587 177.72 258.57 C 178.2 257.36 177.54 255.97 176.32 255.56 C 169.155 253.185 163.29 247.956 160.11 241.11 C 156.85 234.12 156.79 226.47 159.31 219.79 C 159.76 218.61 159.13 217.25 157.93 216.83 C 150.937 214.392 145.23 209.226 142.11 202.51 C 138.85 195.52 138.79 187.87 141.31 181.19 C 141.76 180.01 141.13 178.65 139.93 178.23 C 132.937 175.792 127.23 170.626 124.11 163.91 C 120.85 156.92 120.79 149.27 123.31 142.59 C 123.76 141.41 123.13 140.05 121.93 139.63 C 114.937 137.192 109.23 132.026 106.11 125.31 C 102.85 118.32 102.79 110.67 105.31 103.99 C 105.76 102.81 105.13 101.45 103.93 101.03 C 96.937 98.592 91.23 93.426 88.11 86.71 C 84.85 79.72 84.79 72.07 87.31 65.39 C 87.76 64.21 87.13 62.85 85.93 62.43 C 78.937 59.992 73.23 54.826 70.11 48.11 C 63.7 34.36 69.65 18.01 83.4 11.6 C 97.15 5.19 113.5 11.14 119.91 24.89 C 123.17 31.87 123.23 39.53 120.71 46.21 C 120.26 47.39 120.89 48.75 122.09 49.17 C 129.083 51.608 134.79 56.774 137.91 63.49 C 141.17 70.48 141.23 78.13 138.71 84.81 C 138.26 85.99 138.89 87.35 140.09 87.77 C 147.083 90.208 152.79 95.374 155.91 102.09 C 159.17 109.08 159.23 116.73 156.71 123.41 C 156.26 124.59 156.89 125.95 158.09 126.37 C 164.83 128.73 170.65 133.7 173.91 140.69 C 177.17 147.68 177.23 155.33 174.71 162.01 C 174.26 163.19 174.89 164.55 176.09 164.97 C 183.083 167.408 188.79 172.574 191.91 179.29 C 195.17 186.28 195.23 193.93 192.71 200.61 C 192.26 201.79 192.9 203.15 194.09 203.57 C 201.083 206.008 206.79 211.174 209.91 217.89 C 213.11 224.728 213.346 232.583 210.56 239.6 C 210.08 240.81 210.74 242.2 211.97 242.61 C 219.135 244.985 225 250.214 228.18 257.06 C 234.59 270.81 228.64 287.16 214.89 293.57 Z\" fill=\"var(--token-8b6e8589-b353-43a4-84be-22218745a311, rgb(250, 102, 157)) /* {&quot;name&quot;:&quot;Barbie&quot;} */\"></path></svg>',withExternalLayout:true,children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-whexsc\",layoutDependency:layoutDependency,layoutId:\"TymgnMxc_\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 54.97 305.97\" overflow=\"visible\"><path d=\"M 2 305.97 C 0.9 305.97 -0.01 305.05 0.07 303.92 C 0.57 296.83 3.62 290.46 8.29 285.79 C 9.19 284.88 9.19 283.35 8.29 282.44 C 3.18 277.32 0 270.17 0 262.26 C 0 254.35 3.17 247.2 8.29 242.08 C 9.19 241.17 9.19 239.64 8.29 238.73 C 3.18 233.61 0 226.46 0 218.55 C 0 210.64 3.17 203.49 8.29 198.37 C 9.19 197.46 9.19 195.93 8.29 195.02 C 3.18 189.9 0 182.75 0 174.84 C 0 166.93 3.17 159.78 8.29 154.66 C 9.19 153.75 9.19 152.22 8.29 151.31 C 3.18 146.19 0 139.04 0 131.13 C 0 123.22 3.17 116.07 8.29 110.95 C 9.19 110.04 9.19 108.51 8.29 107.6 C 3.18 102.48 0 95.33 0 87.42 C 0 79.51 3.17 72.36 8.29 67.24 C 9.19 66.33 9.19 64.8 8.29 63.89 C 3.18 58.77 0 51.62 0 43.71 C 0 35.8 3.18 28.65 8.29 23.53 C 9.19 22.62 9.19 21.09 8.29 20.18 C 3.62 15.51 0.57 9.14 0.08 2.05 C 0 0.92 0.9 0 2.01 0 L 52.96 0 C 54.06 0 54.97 0.92 54.89 2.05 C 54.39 9.14 51.34 15.51 46.68 20.18 C 45.77 21.09 45.77 22.62 46.68 23.53 C 51.79 28.65 54.97 35.8 54.97 43.71 C 54.97 51.62 51.8 58.77 46.68 63.89 C 45.77 64.8 45.77 66.33 46.68 67.24 C 51.79 72.36 54.97 79.51 54.97 87.42 C 54.97 95.33 51.8 102.48 46.68 107.6 C 45.77 108.51 45.77 110.04 46.68 110.95 C 51.79 116.07 54.97 123.22 54.97 131.13 C 54.97 139.04 51.8 146.19 46.68 151.31 C 45.77 152.22 45.77 153.75 46.68 154.66 C 51.79 159.78 54.97 166.93 54.97 174.84 C 54.97 182.75 51.8 189.9 46.68 195.02 C 45.77 195.93 45.77 197.46 46.68 198.37 C 51.79 203.49 54.97 210.64 54.97 218.55 C 54.97 226.46 51.8 233.61 46.68 238.73 C 45.77 239.64 45.77 241.17 46.68 242.08 C 51.79 247.2 54.97 254.35 54.97 262.26 C 54.97 270.17 51.8 277.32 46.68 282.44 C 45.77 283.35 45.77 284.88 46.68 285.79 C 51.35 290.46 54.4 296.83 54.89 303.92 C 54.97 305.05 54.07 305.97 52.96 305.97 L 2.01 305.97 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-xb3tvr\",layoutDependency:layoutDependency,layoutId:\"Ew5RfZr09\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 54.95 306\" overflow=\"visible\"><path d=\"M 2 306 C 0.9 306 -0.01 305.08 0.07 303.95 C 0.57 296.86 3.62 290.49 8.28 285.82 C 9.19 284.91 9.19 283.38 8.28 282.47 C 3.17 277.35 0 270.2 0 262.29 C 0 254.38 3.17 247.23 8.29 242.11 C 9.2 241.2 9.2 239.67 8.29 238.76 C 3.17 233.63 0 226.48 0 218.57 C 0 210.66 3.17 203.51 8.29 198.39 C 9.2 197.48 9.2 195.95 8.29 195.04 C 3.17 189.92 0 182.77 0 174.86 C 0 166.95 3.17 159.8 8.29 154.68 C 9.2 153.77 9.2 152.24 8.29 151.33 C 3.17 146.2 0 139.06 0 131.14 C 0 123.23 3.17 116.08 8.29 110.96 C 9.2 110.05 9.2 108.52 8.29 107.61 C 3.17 102.49 0 95.34 0 87.43 C 0 79.52 3.17 72.37 8.29 67.25 C 9.2 66.34 9.2 64.81 8.29 63.9 C 3.17 58.78 0 51.63 0 43.71 C 0 35.8 3.17 28.65 8.29 23.53 C 9.2 22.62 9.2 21.09 8.29 20.18 C 3.62 15.51 0.57 9.14 0.07 2.05 C 0.037 1.518 0.225 0.995 0.591 0.607 C 0.957 0.219 1.467 -0.001 2 0 L 52.95 0 C 54.05 0 54.96 0.92 54.88 2.05 C 54.38 9.14 51.33 15.51 46.67 20.18 C 45.76 21.09 45.76 22.62 46.67 23.53 C 51.78 28.65 54.95 35.8 54.95 43.71 C 54.95 51.62 51.78 58.77 46.67 63.89 C 45.76 64.8 45.76 66.33 46.67 67.24 C 51.78 72.36 54.95 79.51 54.95 87.42 C 54.95 95.33 51.78 102.48 46.66 107.6 C 45.75 108.51 45.75 110.04 46.66 110.95 C 51.77 116.07 54.95 123.22 54.95 131.13 C 54.95 139.04 51.78 146.19 46.66 151.31 C 45.75 152.22 45.75 153.75 46.66 154.66 C 51.77 159.78 54.95 166.93 54.95 174.84 C 54.95 182.75 51.78 189.9 46.67 195.02 C 45.76 195.93 45.76 197.46 46.67 198.37 C 51.78 203.49 54.95 210.64 54.95 218.55 C 54.95 226.46 51.78 233.61 46.66 238.73 C 45.75 239.64 45.75 241.17 46.66 242.08 C 51.77 247.2 54.95 254.35 54.95 262.26 C 54.95 270.17 51.78 277.32 46.66 282.44 C 45.75 283.35 45.75 284.88 46.66 285.79 C 51.33 290.46 54.38 296.83 54.87 303.92 C 54.95 305.05 54.05 305.97 52.94 305.97 L 2 305.97 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-xg3dlp\",layoutDependency:layoutDependency,layoutId:\"KLBEDp7Gr\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 163.228 287.128\" overflow=\"visible\"><path d=\"M 147.349 284.549 C 133.599 290.959 117.249 285.009 110.839 271.259 C 107.639 264.421 107.403 256.566 110.189 249.549 C 110.669 248.339 110.009 246.949 108.789 246.539 C 101.624 244.164 95.759 238.935 92.579 232.089 C 89.319 225.099 89.259 217.449 91.779 210.769 C 92.229 209.589 91.599 208.229 90.399 207.809 C 83.407 205.371 77.699 200.205 74.579 193.489 C 71.319 186.499 71.259 178.849 73.779 172.169 C 74.229 170.989 73.599 169.629 72.399 169.209 C 65.407 166.771 59.699 161.605 56.579 154.889 C 53.319 147.899 53.259 140.249 55.779 133.569 C 56.229 132.389 55.599 131.029 54.399 130.609 C 47.407 128.171 41.699 123.005 38.579 116.289 C 35.319 109.299 35.259 101.649 37.779 94.969 C 38.229 93.789 37.599 92.429 36.399 92.009 C 29.407 89.571 23.699 84.405 20.579 77.689 C 17.319 70.699 17.259 63.049 19.779 56.369 C 20.229 55.189 19.599 53.829 18.399 53.409 C 11.407 50.971 5.699 45.805 2.579 39.089 C -3.831 25.339 2.119 8.989 15.869 2.579 C 29.619 -3.831 45.969 2.119 52.379 15.869 C 55.639 22.849 55.699 30.509 53.179 37.189 C 52.729 38.369 53.359 39.729 54.559 40.149 C 61.552 42.587 67.259 47.753 70.379 54.469 C 73.639 61.459 73.699 69.109 71.179 75.789 C 70.729 76.969 71.359 78.329 72.559 78.749 C 79.552 81.187 85.259 86.353 88.379 93.069 C 91.639 100.059 91.699 107.709 89.179 114.389 C 88.729 115.569 89.359 116.929 90.559 117.349 C 97.299 119.709 103.119 124.679 106.379 131.669 C 109.639 138.659 109.699 146.309 107.179 152.989 C 106.729 154.169 107.359 155.529 108.559 155.949 C 115.552 158.387 121.259 163.553 124.379 170.269 C 127.639 177.259 127.699 184.909 125.179 191.589 C 124.729 192.769 125.369 194.129 126.559 194.549 C 133.552 196.987 139.259 202.153 142.379 208.869 C 145.58 215.707 145.815 223.562 143.029 230.579 C 142.549 231.789 143.209 233.179 144.439 233.589 C 151.604 235.964 157.469 241.193 160.649 248.039 C 167.059 261.789 161.109 278.139 147.359 284.549 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true})]})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-18w9gyk\",\"data-framer-name\":\"NOORD\",layoutDependency:layoutDependency,layoutId:\"JutqgWh_D\",children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-48smvo\",layoutDependency:layoutDependency,layoutId:\"agYK5uY7c\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 65.61 112.663\" overflow=\"visible\"><path d=\"M 57.5 0.013 C 42.616 0.332 29.269 9.258 23.29 22.893 L 23.29 1.723 L 0 1.723 L 0 112.663 L 23.29 112.663 L 23.29 71.213 C 23.29 36.583 38.25 21.623 54.5 21.623 C 58.24 21.643 61.97 22.073 65.61 22.903 L 65.61 0.653 C 62.94 0.153 60.22 -0.057 57.5 0.013 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1yib452\",layoutDependency:layoutDependency,layoutId:\"Bn60onV9U\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 110.94 111.16\" overflow=\"visible\"><path d=\"M 88.28 77.62 L 22.66 0 L 0 0 L 0 111.16 L 22.66 111.16 L 21.66 33.54 L 88.3 111.16 L 110.94 111.16 L 110.94 0 L 87.28 0 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsxs(SVG,{className:\"framer-1d1sd96\",layoutDependency:layoutDependency,layoutId:\"D21HUuNsk\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 111.58 114.36\" overflow=\"visible\"><path d=\"M 111.58 57.07 C 111.58 90.42 88.51 114.36 55.79 114.36 C 23.07 114.36 0 89.98 0 57.07 C 0 24.16 23.08 0 55.79 0 C 87.85 0 111.58 23.72 111.58 57.07 Z M 87.92 57.27 C 87.92 35.68 75.52 20.5 56.07 20.5 C 36.62 20.5 24 35.66 24 57.27 C 24 78.88 36.62 94.27 56.07 94.27 C 74.86 94.27 87.92 78.86 87.92 57.27 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',withExternalLayout:true,children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-qbu3zl\",layoutDependency:layoutDependency,layoutId:\"VuEHIchNn\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 111.58 114.36\" overflow=\"visible\"><path d=\"M 55.79 0 C 23.08 0 0 24.16 0 57.07 C 0 89.98 23.07 114.36 55.79 114.36 C 88.51 114.36 111.58 90.42 111.58 57.07 C 111.58 23.72 87.85 0 55.79 0 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-10j2nau\",layoutDependency:layoutDependency,layoutId:\"CG7MeBQHC\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 63.92 73.77\" overflow=\"visible\"><path d=\"M 32.07 73.77 C 12.62 73.77 0 58.38 0 36.77 C 0 15.16 12.62 0 32.07 0 C 51.52 0 63.92 15.18 63.92 36.77 C 63.92 58.36 50.86 73.77 32.07 73.77 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',withExternalLayout:true})]}),/*#__PURE__*/_jsxs(SVG,{className:\"framer-1s40apf\",layoutDependency:layoutDependency,layoutId:\"qj2I9PfQr\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 111.58 114.36\" overflow=\"visible\"><path d=\"M 111.58 57.07 C 111.58 90.42 88.51 114.36 55.79 114.36 C 23.07 114.36 0 89.98 0 57.07 C 0 24.16 23.08 0 55.79 0 C 87.85 0 111.58 23.72 111.58 57.07 Z M 87.92 57.27 C 87.92 35.68 75.52 20.5 56.07 20.5 C 36.62 20.5 24 35.66 24 57.27 C 24 78.88 36.62 94.27 56.07 94.27 C 74.89 94.27 87.92 78.86 87.92 57.27 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',withExternalLayout:true,children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-12nc7g4\",layoutDependency:layoutDependency,layoutId:\"dx11dvXc7\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 111.58 114.36\" overflow=\"visible\"><path d=\"M 55.79 0 C 23.08 0 0 24.16 0 57.07 C 0 89.98 23.07 114.36 55.79 114.36 C 88.51 114.36 111.58 90.42 111.58 57.07 C 111.58 23.72 87.85 0 55.79 0 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1xc7oj7\",layoutDependency:layoutDependency,layoutId:\"abxF_Tnts\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 63.92 73.77\" overflow=\"visible\"><path d=\"M 32.07 73.77 C 12.62 73.77 0 58.38 0 36.77 C 0 15.16 12.62 0 32.07 0 C 51.52 0 63.92 15.18 63.92 36.77 C 63.92 58.36 50.89 73.77 32.07 73.77 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',withExternalLayout:true})]}),/*#__PURE__*/_jsxs(SVG,{className:\"framer-1vdnx9a\",layoutDependency:layoutDependency,layoutId:\"rxzh1QLtl\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 109.66 157.54\" overflow=\"visible\"><path d=\"M 86.36 0 L 109.66 0 L 109.66 155.84 L 86.36 155.84 L 86.36 141.51 C 81.44 150.49 68.19 157.54 53.01 157.54 C 19.67 157.54 0 133.59 0 100.25 C 0 66.91 19.88 43.18 52.59 43.18 C 65.708 42.849 78.218 48.709 86.36 59 Z M 56.08 137.27 C 75.1 137.27 88.14 122.5 88.14 100.27 C 88.14 78.04 75.32 63.5 56.07 63.5 C 36.82 63.5 24 78.23 24 100.27 C 24 122.31 36.83 137.27 56.07 137.27 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',withExternalLayout:true,children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-104mzzw\",layoutDependency:layoutDependency,layoutId:\"p2nd5mPJi\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 109.66 157.54\" overflow=\"visible\"><path d=\"M 86.36 59 C 78.218 48.709 65.708 42.849 52.59 43.18 C 19.88 43.18 0 66.91 0 100.25 C 0 133.59 19.67 157.54 53.01 157.54 C 68.19 157.54 81.44 150.49 86.36 141.51 L 86.36 155.84 L 109.66 155.84 L 109.66 0 L 86.36 0 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-pe2yq2\",layoutDependency:layoutDependency,layoutId:\"fRsOoiHB4\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 64.14 73.77\" overflow=\"visible\"><path d=\"M 32.07 73.77 C 12.83 73.77 0 58.81 0 36.77 C 0 14.73 12.82 0 32.07 0 C 51.32 0 64.14 14.54 64.14 36.77 C 64.14 59 51.1 73.77 32.08 73.77 Z\" fill=\"rgb(255, 255, 255)\"></path></svg>',withExternalLayout:true})]})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1mlol1h\",\"data-framer-name\":\"ZUID\",layoutDependency:layoutDependency,layoutId:\"d7iLwuuva\",children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-1ox6kqk\",layoutDependency:layoutDependency,layoutId:\"BCqVl1lDL\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 100.05 112.653\" overflow=\"visible\"><path d=\"M 76.72 48.74 C 76.72 75.46 65.18 91.71 46.37 91.71 C 32.05 91.71 23.3 81.87 23.3 67.98 L 23.3 0 L 0 0 L 0 73.11 C 0 97.05 16.46 112.65 39.98 112.65 C 55.01 112.83 69.01 105.02 76.75 92.12 L 76.75 110.93 L 100.05 110.93 L 100.05 0 L 76.75 0 L 76.73 48.74 Z\" fill=\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Wit&quot;} */\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-2lr3ax\",layoutDependency:layoutDependency,layoutId:\"xvJdGdKyt\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 23.3 110.94\" overflow=\"visible\"><path d=\"M 0 0 L 23.3 0 L 23.3 110.94 L 0 110.94 Z\" fill=\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Wit&quot;} */\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1t8035j\",layoutDependency:layoutDependency,layoutId:\"LJpuDntkb\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 26.08 26.29\" overflow=\"visible\"><path d=\"M 0 0 L 26.08 0 L 26.08 26.29 L 0 26.29 Z\" fill=\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Wit&quot;} */\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1t5sfvq\",layoutDependency:layoutDependency,layoutId:\"Bl3bWZ3p4\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 111.15 110.94\" overflow=\"visible\"><path d=\"M 0 22.65 L 77.62 21.65 L 0 88.3 L 0 110.94 L 111.15 110.94 L 111.15 88.28 L 33.53 89.28 L 111.15 22.66 L 111.15 0 L 0 0 Z\" fill=\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Wit&quot;} */\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsxs(SVG,{className:\"framer-1db7kgj\",layoutDependency:layoutDependency,layoutId:\"Lau7Ds1Zf\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 109.67 157.54\" overflow=\"visible\"><path d=\"M 109.67 0 L 109.67 155.84 L 86.37 155.84 L 86.37 141.51 C 81.45 150.49 68.2 157.54 53.02 157.54 C 19.67 157.54 0 133.59 0 100.25 C 0 66.91 19.88 43.18 52.59 43.18 C 65.708 42.849 78.218 48.709 86.36 59 L 86.36 0 Z M 88.13 100.27 C 88.13 78.04 75.3 63.5 56.06 63.5 C 36.82 63.5 24 78.23 24 100.27 C 24 122.31 36.82 137.27 56.06 137.27 C 75.07 137.27 88.13 122.5 88.13 100.27 Z\" fill=\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Wit&quot;} */\"></path></svg>',withExternalLayout:true,children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-2ij3et\",layoutDependency:layoutDependency,layoutId:\"TlhweErYw\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 109.67 157.54\" overflow=\"visible\"><path d=\"M 86.36 0 L 86.36 59 C 78.218 48.709 65.708 42.849 52.59 43.18 C 19.88 43.18 0 66.91 0 100.25 C 0 133.59 19.67 157.54 53.02 157.54 C 68.2 157.54 81.45 150.49 86.37 141.51 L 86.37 155.84 L 109.67 155.84 L 109.67 0 L 86.37 0 Z\" fill=\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Wit&quot;} */\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1vjtlle\",layoutDependency:layoutDependency,layoutId:\"FPScLqJLu\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 64.13 73.77\" overflow=\"visible\"><path d=\"M 32.06 73.77 C 12.82 73.77 0 58.81 0 36.77 C 0 14.73 12.82 0 32.06 0 C 51.3 0 64.13 14.54 64.13 36.77 C 64.13 59 51.07 73.77 32.06 73.77 Z\" fill=\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Wit&quot;} */\"></path></svg>',withExternalLayout:true})]})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-9gqlsw\",\"data-framer-name\":\"STREEP\",layoutDependency:layoutDependency,layoutId:\"pd4FczyaN\",children:/*#__PURE__*/_jsx(SVG,{className:\"framer-1wli6cd\",layoutDependency:layoutDependency,layoutId:\"HYA2J29rC\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 376 68\" overflow=\"visible\"><path d=\"M 376 68 C 365.36 68 355.841 63.295 349.483 55.89 C 349.397 55.79 349.273 55.733 349.142 55.733 C 349.011 55.733 348.887 55.79 348.802 55.89 C 342.445 63.295 332.926 68 322.284 68 C 311.645 68 302.125 63.295 295.769 55.891 C 295.683 55.791 295.559 55.734 295.428 55.734 C 295.298 55.734 295.173 55.791 295.088 55.891 C 288.73 63.295 279.21 68 268.571 68 C 257.931 68 248.412 63.295 242.055 55.891 C 241.97 55.791 241.845 55.734 241.715 55.734 C 241.584 55.734 241.46 55.791 241.374 55.891 C 235.016 63.295 225.498 68 214.857 68 C 204.217 68 194.698 63.295 188.341 55.89 C 188.255 55.79 188.131 55.733 188 55.733 C 187.869 55.733 187.745 55.79 187.659 55.89 C 181.302 63.295 171.783 68 161.143 68 C 150.503 68 140.984 63.295 134.627 55.892 C 134.542 55.792 134.417 55.735 134.287 55.735 C 134.156 55.735 134.031 55.792 133.946 55.892 C 127.589 63.296 118.07 68 107.43 68 C 96.79 68 87.27 63.295 80.914 55.89 C 80.828 55.79 80.704 55.733 80.573 55.733 C 80.442 55.733 80.318 55.79 80.232 55.89 C 73.875 63.295 64.355 68 53.715 68 C 43.075 68 33.555 63.295 27.198 55.889 C 27.113 55.79 26.988 55.733 26.858 55.733 C 26.727 55.733 26.602 55.79 26.517 55.889 C 20.248 63.192 10.903 67.87 0.441 67.998 C 0.324 67.999 0.212 67.953 0.129 67.871 C 0.046 67.788 0 67.676 0 67.558 L 0 0.443 C 0 0.325 0.046 0.213 0.129 0.13 C 0.212 0.048 0.324 0.002 0.441 0.003 C 10.903 0.131 20.248 4.808 26.517 12.111 C 26.602 12.21 26.727 12.267 26.857 12.267 C 26.988 12.267 27.113 12.21 27.198 12.111 C 33.555 4.705 43.075 0 53.715 0 C 64.355 0 73.875 4.705 80.232 12.11 C 80.318 12.21 80.442 12.267 80.573 12.267 C 80.704 12.267 80.828 12.21 80.914 12.11 C 87.27 4.705 96.79 0 107.43 0 C 118.07 0 127.589 4.705 133.946 12.108 C 134.031 12.208 134.156 12.265 134.287 12.265 C 134.417 12.265 134.542 12.208 134.627 12.108 C 140.984 4.705 150.503 0 161.143 0 C 171.783 0 181.302 4.705 187.659 12.11 C 187.745 12.21 187.869 12.267 188 12.267 C 188.131 12.267 188.255 12.21 188.341 12.11 C 194.698 4.705 204.217 0 214.857 0 C 225.496 0 235.016 4.705 241.374 12.109 C 241.46 12.209 241.584 12.266 241.715 12.266 C 241.845 12.266 241.97 12.209 242.055 12.109 C 248.412 4.705 257.931 0 268.571 0 C 279.21 0 288.73 4.705 295.088 12.109 C 295.173 12.209 295.298 12.266 295.428 12.266 C 295.559 12.266 295.683 12.209 295.769 12.109 C 302.125 4.705 311.645 0 322.284 0 C 332.926 0 342.445 4.705 348.802 12.11 C 348.887 12.21 349.011 12.267 349.142 12.267 C 349.273 12.267 349.397 12.21 349.483 12.11 C 355.841 4.705 365.36 0 376 0 Z\" fill=\"rgb(212, 242, 170)\"></path></svg>',withExternalLayout:true})})]})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-9Mcgc.framer-19ong06, .framer-9Mcgc .framer-19ong06 { display: block; }\",\".framer-9Mcgc.framer-1v3jv08 { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 1440px; }\",\".framer-9Mcgc .framer-1qxkh3f { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: calc(var(--framer-viewport-height, 100vh) * 1); justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-9Mcgc .framer-9krwpj { 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: 30px 0px 30px 0px; position: relative; width: 100%; z-index: 5; }\",\".framer-9Mcgc .framer-oyka9y-container, .framer-9Mcgc .framer-pdv95x-container { flex: none; height: 48px; position: relative; width: 3%; }\",\".framer-9Mcgc .framer-1tef1ir { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 1px; z-index: 2; }\",\".framer-9Mcgc .framer-6ogn1j, .framer-9Mcgc .framer-jobzrj, .framer-9Mcgc .framer-1e1f5eh { 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: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-9Mcgc .framer-1hffrn, .framer-9Mcgc .framer-u9tekk, .framer-9Mcgc .framer-gqz28g, .framer-9Mcgc .framer-10ttlif, .framer-9Mcgc .framer-1lz4abn, .framer-9Mcgc .framer-nv74bh, .framer-9Mcgc .framer-jm8npy, .framer-9Mcgc .framer-1lq36co, .framer-9Mcgc .framer-13ev0ho, .framer-9Mcgc .framer-8q0go3, .framer-9Mcgc .framer-1wpyzgo { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 27px; justify-content: center; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-9Mcgc .framer-9a0arv-container, .framer-9Mcgc .framer-1asc3ga-container, .framer-9Mcgc .framer-md29pl-container, .framer-9Mcgc .framer-1v1nake-container, .framer-9Mcgc .framer-zylxxn-container, .framer-9Mcgc .framer-19us2nw-container, .framer-9Mcgc .framer-1rybep8-container, .framer-9Mcgc .framer-1383erj-container, .framer-9Mcgc .framer-qxot0t-container, .framer-9Mcgc .framer-k66rtr-container, .framer-9Mcgc .framer-kmtkob-container { flex: none; height: auto; mix-blend-mode: difference; position: relative; width: auto; z-index: 10; }\",\".framer-9Mcgc .framer-15008xg, .framer-9Mcgc .framer-sb4zyg, .framer-9Mcgc .framer-dk1ra1 { 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: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-9Mcgc .framer-3v4auo { align-content: center; align-items: center; bottom: 0px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; left: 0px; overflow: visible; padding: 10px 0px 10px 0px; position: absolute; width: min-content; z-index: 5; }\",\".framer-9Mcgc .framer-1douimp-container { flex: none; height: 48px; position: relative; width: 44px; }\",\".framer-9Mcgc .framer-cun9p4 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; 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; z-index: 2; }\",\".framer-9Mcgc .framer-x4tlx6-container { flex: none; height: 100%; left: 0px; position: absolute; right: 0px; top: 0px; z-index: 1; }\",\".framer-9Mcgc .framer-1n5w7bq { height: 299px; overflow: var(--overflow-clip-fallback, clip); position: relative; width: 300px; }\",\".framer-9Mcgc .framer-5fpnyd { height: 299px; left: 0px; position: absolute; top: 0px; width: 300px; }\",\".framer-9Mcgc .framer-7wl4ui { height: 299px; left: 251px; position: absolute; top: 0px; width: 50px; }\",\".framer-9Mcgc .framer-halbhu { height: 299px; left: 0px; position: absolute; top: 0px; width: 50px; }\",\".framer-9Mcgc .framer-zkcof8 { height: 280px; left: 66px; position: absolute; top: 10px; width: 163px; }\",\".framer-9Mcgc .framer-1vshbi4 { height: 307px; overflow: var(--overflow-clip-fallback, clip); position: relative; width: 299px; }\",\".framer-9Mcgc .framer-1utyujw { height: 306px; left: 0px; position: absolute; top: 0px; width: 299px; }\",\".framer-9Mcgc .framer-whexsc { height: 306px; left: 244px; position: absolute; top: 0px; width: 55px; }\",\".framer-9Mcgc .framer-xb3tvr { height: 306px; left: 0px; position: absolute; top: 0px; width: 55px; }\",\".framer-9Mcgc .framer-xg3dlp { height: 287px; left: 68px; position: absolute; top: 9px; width: 163px; }\",\".framer-9Mcgc .framer-18w9gyk { height: 158px; overflow: var(--overflow-clip-fallback, clip); position: relative; width: 546px; }\",\".framer-9Mcgc .framer-48smvo { height: 113px; left: 370px; position: absolute; top: 43px; width: 66px; }\",\".framer-9Mcgc .framer-1yib452, .framer-9Mcgc .framer-1t5sfvq { height: 111px; left: 0px; position: absolute; top: 45px; width: 111px; }\",\".framer-9Mcgc .framer-1d1sd96 { height: 115px; left: 124px; position: absolute; top: 43px; width: 112px; }\",\".framer-9Mcgc .framer-qbu3zl, .framer-9Mcgc .framer-12nc7g4 { height: 115px; left: 0px; position: absolute; top: 0px; width: 112px; }\",\".framer-9Mcgc .framer-10j2nau, .framer-9Mcgc .framer-1xc7oj7 { height: 74px; left: 24px; position: absolute; top: 21px; width: 64px; }\",\".framer-9Mcgc .framer-1s40apf { height: 115px; left: 246px; position: absolute; top: 43px; width: 112px; }\",\".framer-9Mcgc .framer-1vdnx9a { height: 158px; left: 436px; position: absolute; top: 0px; width: 110px; }\",\".framer-9Mcgc .framer-104mzzw, .framer-9Mcgc .framer-2ij3et { height: 158px; left: 0px; position: absolute; top: 0px; width: 110px; }\",\".framer-9Mcgc .framer-pe2yq2, .framer-9Mcgc .framer-1vjtlle { height: 74px; left: 24px; position: absolute; top: 64px; width: 64px; }\",\".framer-9Mcgc .framer-1mlol1h { height: 158px; overflow: var(--overflow-clip-fallback, clip); position: relative; width: 403px; }\",\".framer-9Mcgc .framer-1ox6kqk { height: 113px; left: 128px; position: absolute; top: 45px; width: 100px; }\",\".framer-9Mcgc .framer-2lr3ax { height: 111px; left: 252px; position: absolute; top: 45px; width: 24px; }\",\".framer-9Mcgc .framer-1t8035j { height: 27px; left: 251px; position: absolute; top: 1px; width: 26px; }\",\".framer-9Mcgc .framer-1db7kgj { height: 158px; left: 293px; position: absolute; top: 0px; width: 110px; }\",\".framer-9Mcgc .framer-9gqlsw { align-content: center; align-items: center; display: flex; 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: min-content; }\",\".framer-9Mcgc .framer-1wli6cd { height: 68px; position: relative; width: 376px; }\",\".framer-9Mcgc.framer-v-1we08vk.framer-1v3jv08 { width: 1728px; }\",\".framer-9Mcgc.framer-v-121fou1.framer-1v3jv08 { width: 1200px; }\",\".framer-9Mcgc.framer-v-hecy1o.framer-1v3jv08 { width: 810px; }\",\".framer-9Mcgc.framer-v-7oydwp.framer-1v3jv08 { width: 390px; }\",\".framer-9Mcgc.framer-v-7oydwp .framer-1tef1ir { flex-direction: column; }\",\".framer-9Mcgc.framer-v-7oydwp .framer-x4tlx6-container { height: 55%; top: 358px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 800\n * @framerIntrinsicWidth 1440\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"Iec816RQJ\":{\"layout\":[\"fixed\",\"auto\"]},\"gYyYaEOo3\":{\"layout\":[\"fixed\",\"auto\"]},\"blDswbMM3\":{\"layout\":[\"fixed\",\"auto\"]},\"oeNuQO11Y\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerbP71juiQC=withCSS(Component,css,\"framer-9Mcgc\");export default FramerbP71juiQC;FramerbP71juiQC.displayName=\"Footer Wrapper\";FramerbP71juiQC.defaultProps={height:800,width:1440};addPropertyControls(FramerbP71juiQC,{variant:{options:[\"RmSoyVyre\",\"Iec816RQJ\",\"gYyYaEOo3\",\"blDswbMM3\",\"oeNuQO11Y\"],optionTitles:[\"L\",\"XL\",\"M\",\"S\",\"Phone\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerbP71juiQC,[{explicitInter:true,fonts:[]},...SpacerFonts,...MenuButtonFonts,...PhysicsFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerbP71juiQC\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"800\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"1440\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"Iec816RQJ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"gYyYaEOo3\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"blDswbMM3\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"oeNuQO11Y\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./bP71juiQC.map","// Generated by Framer (656a448)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 966 158\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 179.83 43.18 C 147.12 43.18 124.04 67.34 124.04 100.25 C 124.04 133.16 147.11 157.54 179.83 157.54 C 212.55 157.54 235.62 133.6 235.62 100.25 C 235.62 66.9 211.89 43.18 179.83 43.18 Z M 179.83 137.23 C 160.38 137.23 147.76 121.84 147.76 100.23 C 147.76 78.62 160.38 63.46 179.83 63.46 C 199.28 63.46 211.68 78.64 211.68 100.23 C 211.68 121.82 198.62 137.23 179.83 137.23 Z M 301.39 43.18 C 268.68 43.18 245.6 67.34 245.6 100.25 C 245.6 133.16 268.67 157.54 301.39 157.54 C 334.11 157.54 357.18 133.6 357.18 100.25 C 357.18 66.9 333.45 43.18 301.39 43.18 Z M 301.39 137.23 C 281.94 137.23 269.32 121.84 269.32 100.23 C 269.32 78.62 281.94 63.46 301.39 63.46 C 320.84 63.46 333.24 78.64 333.24 100.23 C 333.24 121.82 320.21 137.23 301.39 137.23 Z M 427.08 43.18 L 427.1 43.18 Z M 427.09 43.18 C 412.206 43.499 398.859 52.425 392.88 66.06 L 392.88 44.89 L 369.59 44.89 L 369.59 155.83 L 392.88 155.83 L 392.88 114.38 C 392.88 79.75 407.84 64.79 424.09 64.79 C 427.83 64.81 431.56 65.24 435.2 66.07 L 435.2 43.82 C 432.53 43.32 429.81 43.11 427.09 43.18 Z M 522.59 59 C 514.448 48.709 501.938 42.849 488.82 43.18 C 456.11 43.18 436.23 66.91 436.23 100.25 C 436.23 133.59 455.9 157.54 489.24 157.54 C 504.42 157.54 517.67 150.49 522.59 141.51 L 522.59 155.84 L 545.89 155.84 L 545.89 0 L 522.59 0 Z M 492.24 137.23 C 473 137.23 460.17 122.27 460.17 100.23 C 460.17 78.19 472.99 63.46 492.24 63.46 C 511.49 63.46 524.31 78 524.31 100.23 C 524.31 122.46 511.27 137.23 492.25 137.23 Z M 768.21 93.63 C 768.21 120.35 756.67 136.6 737.86 136.6 C 723.54 136.6 714.79 126.76 714.79 112.87 L 714.79 44.89 L 691.49 44.89 L 691.49 118 C 691.49 141.94 707.95 157.54 731.47 157.54 C 746.5 157.72 760.5 149.91 768.24 137.01 L 768.24 155.82 L 791.54 155.82 L 791.54 44.89 L 768.24 44.89 L 768.22 93.63 Z M 815.79 44.89 L 839.09 44.89 L 839.09 155.83 L 815.79 155.83 Z M 814.51 1.07 L 840.59 1.07 L 840.59 27.36 L 814.51 27.36 Z M 943.01 0 L 943.01 59 C 934.868 48.709 922.358 42.849 909.24 43.18 C 876.53 43.18 856.65 66.91 856.65 100.25 C 856.65 133.59 876.32 157.54 909.67 157.54 C 924.85 157.54 938.1 150.49 943.02 141.51 L 943.02 155.84 L 966.32 155.84 L 966.32 0 L 943.02 0 Z M 912.65 137.23 C 893.41 137.23 880.59 122.27 880.59 100.23 C 880.59 78.19 893.41 63.46 912.65 63.46 C 931.89 63.46 944.72 78 944.72 100.23 C 944.72 122.46 931.66 137.23 912.65 137.23 Z M 564.11 67.54 L 641.73 66.54 L 564.11 133.19 L 564.11 155.83 L 675.26 155.83 L 675.26 133.17 L 597.64 134.17 L 675.26 67.55 L 675.26 44.89 L 564.11 44.89 Z M 88.28 122.39 L 22.66 44.77 L 0 44.77 L 0 155.93 L 22.66 155.93 L 21.66 78.31 L 88.3 155.93 L 110.94 155.93 L 110.94 44.77 L 87.28 44.77 Z\" fill=\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255))\" height=\"157.54304484866063px\" id=\"AALJ4DYDO\" width=\"966.3200244140625px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({height,id,width,...props})=>{return{...props};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-uHWHp\",className),layoutId:layoutId,ref:ref,style:{...style}});});const css=[`.framer-uHWHp { -webkit-mask: ${mask}; aspect-ratio: 6.113924050632911; background-color: var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, #ffffff); mask: ${mask}; width: 966px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 966\n * @framerIntrinsicHeight 158\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Vector\",\"color\":{\"type\":\"static\",\"value\":\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255))\"},\"set\":{\"localId\":\"vectorSet/ItRkWzX0a\",\"id\":\"ItRkWzX0a\",\"moduleId\":\"maL2WeWbIPlBf57rgpz1\"}}\n */const Icon=withCSS(Component,css,\"framer-uHWHp\");Icon.displayName=\"Vector\";export default Icon;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"158\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"966\",\"framerVector\":\"{\\\"name\\\":\\\"Vector\\\",\\\"color\\\":{\\\"type\\\":\\\"static\\\",\\\"value\\\":\\\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255))\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/ItRkWzX0a\\\",\\\"id\\\":\\\"ItRkWzX0a\\\",\\\"moduleId\\\":\\\"maL2WeWbIPlBf57rgpz1\\\"}}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (05a55d9)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,Link,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX,withOptimizedAppearEffect}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Vector from\"https://framerusercontent.com/modules/DsOpQ167Ewu9ixPyDd3g/6aRnMl0A8yKTG0Bn4xFX/Xh9r60c4y.js\";import Spacer from\"https://framerusercontent.com/modules/dmVoIBk7S2ij1XfLQ6hp/t19BvA9IOqIoqfQhQe8C/jGzayIqnd.js\";import MenuButton from\"https://framerusercontent.com/modules/SpP8TyNaygMSuyBHCd2X/uY3bN4YDFGi4N5Q6BgNe/u44x4y2qy.js\";const SpacerFonts=getFonts(Spacer);const VectorFonts=getFonts(Vector);const MenuButtonFonts=getFonts(MenuButton);const MotionDivWithFXWithOptimizedAppearEffect=withOptimizedAppearEffect(withFX(motion.div));const cycleOrder=[\"OToeDDWOv\",\"P0HM1ycIS\",\"ipRuC1elU\",\"qgYsARvGC\",\"VCpGQuKur\"];const serializationHash=\"framer-MWmga\";const variantClassNames={ipRuC1elU:\"framer-v-15c3l1j\",OToeDDWOv:\"framer-v-19lnoqj\",P0HM1ycIS:\"framer-v-13rjktd\",qgYsARvGC:\"framer-v-1izkhdr\",VCpGQuKur:\"framer-v-18pg2jn\"};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 transition2={bounce:0,delay:0,duration:.9,type:\"spring\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,x:0,y:0};const animation1={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:-140};const transformTemplate1=(_,t)=>`translate(-50%, -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={L:\"OToeDDWOv\",M:\"ipRuC1elU\",Phone:\"VCpGQuKur\",S:\"qgYsARvGC\",XL:\"P0HM1ycIS\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"OToeDDWOv\"};};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:\"OToeDDWOv\",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-19lnoqj\",className,classNames),\"data-framer-name\":\"L\",layoutDependency:layoutDependency,layoutId:\"OToeDDWOv\",ref:refBinding,style:{...style},...addPropertyOverrides({ipRuC1elU:{\"data-framer-name\":\"M\"},P0HM1ycIS:{\"data-framer-name\":\"XL\"},qgYsARvGC:{\"data-framer-name\":\"S\"},VCpGQuKur:{\"data-framer-name\":\"Phone\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:48,width:`calc(${componentViewport?.width||\"100vw\"} * 0.03)`,y:(componentViewport?.y||0)+(0+((componentViewport?.height||131)-0-48)/2),...addPropertyOverrides({ipRuC1elU:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||119)-0-48)/2)},qgYsARvGC:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||127)-0-48)/2)},VCpGQuKur:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||97)-0-48)/2)}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1hk692l-container\",layoutDependency:layoutDependency,layoutId:\"JUfRppow_-container\",nodeId:\"JUfRppow_\",rendersWithMotion:true,scopeId:\"IXCYxTYsW\",children:/*#__PURE__*/_jsx(Spacer,{height:\"100%\",id:\"JUfRppow_\",layoutId:\"JUfRppow_\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsxs(MotionDivWithFXWithOptimizedAppearEffect,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation,className:\"framer-1yjx8gs\",\"data-framer-appear-id\":\"1yjx8gs\",\"data-framer-name\":\"Nav Wrapper\",initial:animation1,layoutDependency:layoutDependency,layoutId:\"qm_IJvh7Y\",optimized:true,children:[/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Exa7fZnHa\"},motionChild:true,nodeId:\"ub24sxzIa\",openInNewTab:false,scopeId:\"IXCYxTYsW\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-q4frig framer-1u5kq29\",\"data-framer-name\":\"Logo Wrapper\",layoutDependency:layoutDependency,layoutId:\"ub24sxzIa\",children:/*#__PURE__*/_jsx(Vector,{animated:true,className:\"framer-1q9dvah\",layoutDependency:layoutDependency,layoutId:\"cDDIbViez\"})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-dxmi97\",\"data-framer-name\":\"Button Wrapper\",layoutDependency:layoutDependency,layoutId:\"mXOE2icK8\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1b9ssfh\",layoutDependency:layoutDependency,layoutId:\"E6NtCY72h\",children:[/*#__PURE__*/_jsx(Link,{href:{hash:\":zLO07U7MZ\",webPageId:\"Exa7fZnHa\"},motionChild:true,nodeId:\"FxFELuJvp\",openInNewTab:false,scopeId:\"IXCYxTYsW\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-k48e7d framer-1u5kq29\",layoutDependency:layoutDependency,layoutId:\"FxFELuJvp\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:26,y:(componentViewport?.y||0)+(0+((componentViewport?.height||131)-0-131)/2)+10+20+0+0+.5,...addPropertyOverrides({ipRuC1elU:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||119)-0-131)/2)+10+20+0+0+.5},qgYsARvGC:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||127)-0-131)/2)+10+20+0+0+.5},VCpGQuKur:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||97)-0-131)/2)+10+20+0+0+.5}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1dxlpxd-container\",layoutDependency:layoutDependency,layoutId:\"XZF27jtSg-container\",nodeId:\"XZF27jtSg\",rendersWithMotion:true,scopeId:\"IXCYxTYsW\",children:/*#__PURE__*/_jsx(MenuButton,{ce_J3RMbk:\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255))\",height:\"100%\",id:\"XZF27jtSg\",layoutId:\"XZF27jtSg\",variant:\"RMAEgzB4G\",width:\"100%\",WMqEkUcXD:\"feed\"})})})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bu58dNvZS\"},motionChild:true,nodeId:\"AOtD4aUCd\",openInNewTab:false,scopeId:\"IXCYxTYsW\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1m3z3cz framer-1u5kq29\",layoutDependency:layoutDependency,layoutId:\"AOtD4aUCd\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:26,y:(componentViewport?.y||0)+(0+((componentViewport?.height||131)-0-131)/2)+10+20+0+0+.5,...addPropertyOverrides({ipRuC1elU:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||119)-0-131)/2)+10+20+0+0+.5},qgYsARvGC:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||127)-0-131)/2)+10+20+0+0+.5},VCpGQuKur:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||97)-0-131)/2)+10+20+0+0+.5}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1u8bcp3-container\",layoutDependency:layoutDependency,layoutId:\"eJuHJ5ALl-container\",nodeId:\"eJuHJ5ALl\",rendersWithMotion:true,scopeId:\"IXCYxTYsW\",children:/*#__PURE__*/_jsx(MenuButton,{ce_J3RMbk:\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255))\",height:\"100%\",id:\"eJuHJ5ALl\",layoutId:\"eJuHJ5ALl\",variant:\"RMAEgzB4G\",width:\"100%\",WMqEkUcXD:\"wat wij doen\"})})})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-looapp\",layoutDependency:layoutDependency,layoutId:\"Yi0qHOUYz\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:26,y:(componentViewport?.y||0)+(0+((componentViewport?.height||131)-0-131)/2)+10+20+0+0,...addPropertyOverrides({ipRuC1elU:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||119)-0-131)/2)+10+20+0+0},qgYsARvGC:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||127)-0-131)/2)+10+20+0+0},VCpGQuKur:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||97)-0-131)/2)+10+20+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1pwghx0-container\",layoutDependency:layoutDependency,layoutId:\"ynlM6C7R6-container\",nodeId:\"ynlM6C7R6\",rendersWithMotion:true,scopeId:\"IXCYxTYsW\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsx(MenuButton,{ce_J3RMbk:\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255))\",height:\"100%\",id:\"ynlM6C7R6\",layoutId:\"ynlM6C7R6\",variant:\"RMAEgzB4G\",width:\"100%\",WMqEkUcXD:\"werken bij\"})})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"hHfTqIXuC\"},motionChild:true,nodeId:\"gqnjm1px8\",openInNewTab:false,scopeId:\"IXCYxTYsW\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1um98lr framer-1u5kq29\",layoutDependency:layoutDependency,layoutId:\"gqnjm1px8\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:26,y:(componentViewport?.y||0)+(0+((componentViewport?.height||131)-0-131)/2)+10+20+0+0,...addPropertyOverrides({ipRuC1elU:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||119)-0-131)/2)+10+20+0+0},qgYsARvGC:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||127)-0-131)/2)+10+20+0+0},VCpGQuKur:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||97)-0-131)/2)+10+20+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1ndv59u-container\",layoutDependency:layoutDependency,layoutId:\"R5CFKX_wK-container\",nodeId:\"R5CFKX_wK\",rendersWithMotion:true,scopeId:\"IXCYxTYsW\",children:/*#__PURE__*/_jsx(MenuButton,{ce_J3RMbk:\"var(--token-dd5b79c3-859d-46ff-b5f8-45f3bbc61c05, rgb(255, 255, 255))\",height:\"100%\",id:\"R5CFKX_wK\",layoutId:\"R5CFKX_wK\",variant:\"RMAEgzB4G\",width:\"100%\",WMqEkUcXD:\"over ons\"})})})})})]})})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:48,width:`calc(${componentViewport?.width||\"100vw\"} * 0.03)`,y:(componentViewport?.y||0)+(0+((componentViewport?.height||131)-0-48)/2),...addPropertyOverrides({ipRuC1elU:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||119)-0-48)/2)},qgYsARvGC:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||127)-0-48)/2)},VCpGQuKur:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||97)-0-48)/2)}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1vtfhdx-container\",layoutDependency:layoutDependency,layoutId:\"I6p08O5AK-container\",nodeId:\"I6p08O5AK\",rendersWithMotion:true,scopeId:\"IXCYxTYsW\",children:/*#__PURE__*/_jsx(Spacer,{height:\"100%\",id:\"I6p08O5AK\",layoutId:\"I6p08O5AK\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-MWmga.framer-1u5kq29, .framer-MWmga .framer-1u5kq29 { display: block; }\",\".framer-MWmga.framer-19lnoqj { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; mix-blend-mode: difference; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 1440px; }\",\".framer-MWmga .framer-1hk692l-container, .framer-MWmga .framer-1vtfhdx-container { flex: none; height: 48px; position: relative; width: 3%; }\",\".framer-MWmga .framer-1yjx8gs { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: var(--overflow-clip-fallback, clip); padding: 10px 0px 20px 0px; position: relative; width: 1px; }\",\".framer-MWmga .framer-q4frig { 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; text-decoration: none; width: min-content; }\",\".framer-MWmga .framer-1q9dvah { aspect-ratio: 6.108910891089109 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 101px); mix-blend-mode: difference; position: relative; width: 617px; }\",\".framer-MWmga .framer-dxmi97 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 20px 0px 0px 0px; position: relative; width: min-content; }\",\".framer-MWmga .framer-1b9ssfh { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: min-content; }\",\".framer-MWmga .framer-k48e7d, .framer-MWmga .framer-1m3z3cz { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 27px; justify-content: center; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-MWmga .framer-1dxlpxd-container, .framer-MWmga .framer-1u8bcp3-container { flex: none; height: auto; mix-blend-mode: difference; position: relative; width: auto; z-index: 10; }\",\".framer-MWmga .framer-looapp { flex: none; height: 26px; overflow: visible; position: relative; width: 97px; }\",\".framer-MWmga .framer-1pwghx0-container { flex: none; height: auto; left: 49%; mix-blend-mode: difference; position: absolute; top: 50%; width: auto; z-index: 10; }\",\".framer-MWmga .framer-1um98lr { flex: none; height: 27px; overflow: visible; position: relative; text-decoration: none; width: 81px; }\",\".framer-MWmga .framer-1ndv59u-container { flex: none; height: auto; mix-blend-mode: difference; position: absolute; right: 0px; top: 0px; width: auto; z-index: 10; }\",\".framer-MWmga.framer-v-15c3l1j .framer-q4frig { width: 40%; }\",\".framer-MWmga.framer-v-15c3l1j .framer-1q9dvah { flex: 1 0 0px; height: var(--framer-aspect-ratio-supported, 89px); width: 1px; }\",\".framer-MWmga.framer-v-1izkhdr .framer-q4frig { width: 44%; }\",\".framer-MWmga.framer-v-1izkhdr .framer-1q9dvah { flex: 1 0 0px; height: var(--framer-aspect-ratio-supported, 97px); width: 1px; }\",\".framer-MWmga.framer-v-1izkhdr .framer-1b9ssfh { gap: 14px; justify-content: flex-end; }\",\".framer-MWmga.framer-v-18pg2jn.framer-19lnoqj { width: 543px; }\",\".framer-MWmga.framer-v-18pg2jn .framer-q4frig { width: 80%; }\",\".framer-MWmga.framer-v-18pg2jn .framer-1q9dvah { flex: 1 0 0px; height: var(--framer-aspect-ratio-supported, 67px); width: 1px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 131\n * @framerIntrinsicWidth 1440\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"P0HM1ycIS\":{\"layout\":[\"fixed\",\"auto\"]},\"ipRuC1elU\":{\"layout\":[\"fixed\",\"auto\"]},\"qgYsARvGC\":{\"layout\":[\"fixed\",\"auto\"]},\"VCpGQuKur\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerIXCYxTYsW=withCSS(Component,css,\"framer-MWmga\");export default FramerIXCYxTYsW;FramerIXCYxTYsW.displayName=\"Navigatie\";FramerIXCYxTYsW.defaultProps={height:131,width:1440};addPropertyControls(FramerIXCYxTYsW,{variant:{options:[\"OToeDDWOv\",\"P0HM1ycIS\",\"ipRuC1elU\",\"qgYsARvGC\",\"VCpGQuKur\"],optionTitles:[\"L\",\"XL\",\"M\",\"S\",\"Phone\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerIXCYxTYsW,[{explicitInter:true,fonts:[]},...SpacerFonts,...VectorFonts,...MenuButtonFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerIXCYxTYsW\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"131\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"1440\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"P0HM1ycIS\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"ipRuC1elU\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"qgYsARvGC\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"VCpGQuKur\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./IXCYxTYsW.map","// Generated by Framer (656a448)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,PropertyOverrides,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import BlurGradient from\"https://framerusercontent.com/modules/rofp3mS0LNY15cjhHzia/Ycw95yYPzpr98rHtCJMh/BlurGradient.js\";import FooterWrapper from\"#framer/local/canvasComponent/bP71juiQC/bP71juiQC.js\";import Navigatie from\"#framer/local/canvasComponent/IXCYxTYsW/IXCYxTYsW.js\";const NavigatieFonts=getFonts(Navigatie);const BlurGradientFonts=getFonts(BlurGradient);const FooterWrapperFonts=getFonts(FooterWrapper);const breakpoints={GkRUJSsaA:\"(max-width: 809.98px)\",j6O_ecuYJ:\"(min-width: 810px) and (max-width: 1199.98px)\",PDYoAkUWH:\"(min-width: 1728px)\",pVIr9H2LR:\"(min-width: 1200px) and (max-width: 1439.98px)\",VZ7y7bMtB:\"(min-width: 1440px) and (max-width: 1727.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-Ph8wC\";const variantClassNames={GkRUJSsaA:\"framer-v-13gqfmt\",j6O_ecuYJ:\"framer-v-hdukp2\",PDYoAkUWH:\"framer-v-1kb1l3z\",pVIr9H2LR:\"framer-v-n7laxm\",VZ7y7bMtB:\"framer-v-12ph5ck\"};const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-Ph8wC.framer-18x4jxs, .framer-Ph8wC .framer-18x4jxs { display: block; }\",\".framer-Ph8wC.framer-12ph5ck { align-content: center; align-items: center; background-color: var(--token-111d0cfe-9045-4cb4-a681-1df26f2439e8, #ece8e5); 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: 100%; }\",\".framer-Ph8wC .framer-wdthsx { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-Ph8wC .framer-1pfa5vt-container { flex: none; height: auto; left: 0px; mix-blend-mode: difference; order: 1001; position: var(--framer-canvas-fixed-position, fixed); right: 0px; top: 0px; z-index: 5; }\",\".framer-Ph8wC .framer-1mudou3-container { flex: none; height: 90px; left: 0px; order: 1002; position: var(--framer-canvas-fixed-position, fixed); top: 0px; width: 100%; z-index: 3; }\",\".framer-Ph8wC .framer-c7rm4v-container { flex: none; height: 100vh; order: 1003; position: relative; width: 100%; z-index: 6; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={GkRUJSsaA:\"(max-width: 809.98px)\",j6O_ecuYJ:\"(min-width: 810px) and (max-width: 1199.98px)\",PDYoAkUWH:\"(min-width: 1728px)\",pVIr9H2LR:\"(min-width: 1200px) and (max-width: 1439.98px)\",VZ7y7bMtB:\"(min-width: 1440px) and (max-width: 1727.98px)\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const humanReadableVariantMap={L:\"VZ7y7bMtB\",M:\"pVIr9H2LR\",Phone:\"GkRUJSsaA\",S:\"j6O_ecuYJ\",XL:\"PDYoAkUWH\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"VZ7y7bMtB\"};};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{style,className,layoutId,variant,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{isLayoutTemplate:true,primaryVariantId:\"VZ7y7bMtB\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-111d0cfe-9045-4cb4-a681-1df26f2439e8, rgb(236, 232, 229)); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-12ph5ck\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-wdthsx\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:131,width:\"100vw\",y:0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1pfa5vt-container\",layoutScroll:true,nodeId:\"orSEGhl1R\",scopeId:\"KMMFdrKCl\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{GkRUJSsaA:{variant:\"VCpGQuKur\"},j6O_ecuYJ:{variant:\"qgYsARvGC\"},PDYoAkUWH:{variant:\"P0HM1ycIS\"},pVIr9H2LR:{variant:\"ipRuC1elU\"}},children:/*#__PURE__*/_jsx(Navigatie,{height:\"100%\",id:\"orSEGhl1R\",layoutId:\"orSEGhl1R\",style:{width:\"100%\"},variant:\"OToeDDWOv\",width:\"100%\"})})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1mudou3-container\",isAuthoredByUser:true,isModuleExternal:true,layoutScroll:true,nodeId:\"BIKs0B10_\",scopeId:\"KMMFdrKCl\",children:/*#__PURE__*/_jsx(BlurGradient,{blur:15,borderRadius:0,direction:\"toTop\",height:\"100%\",id:\"BIKs0B10_\",layoutId:\"BIKs0B10_\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:1e3,width:\"100vw\",y:1e3,children:/*#__PURE__*/_jsx(Container,{className:\"framer-c7rm4v-container\",nodeId:\"Oobm6_cC8\",scopeId:\"KMMFdrKCl\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{GkRUJSsaA:{variant:\"oeNuQO11Y\"},j6O_ecuYJ:{variant:\"blDswbMM3\"},PDYoAkUWH:{variant:\"Iec816RQJ\"},pVIr9H2LR:{variant:\"gYyYaEOo3\"}},children:/*#__PURE__*/_jsx(FooterWrapper,{height:\"100%\",id:\"Oobm6_cC8\",layoutId:\"Oobm6_cC8\",style:{height:\"100%\",width:\"100%\"},variant:\"RmSoyVyre\",width:\"100%\"})})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1440\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"PDYoAkUWH\":{\"layout\":[\"fixed\",\"fixed\"]},\"pVIr9H2LR\":{\"layout\":[\"fixed\",\"fixed\"]},\"j6O_ecuYJ\":{\"layout\":[\"fixed\",\"fixed\"]},\"GkRUJSsaA\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"VZ7y7bMtB\":[\".framer-1pfa5vt-container\",\".framer-1mudou3-container\",\".framer-c7rm4v-container\"],\"PDYoAkUWH\":[\".framer-1pfa5vt-container\",\".framer-1mudou3-container\",\".framer-c7rm4v-container\"],\"pVIr9H2LR\":[\".framer-1pfa5vt-container\",\".framer-1mudou3-container\",\".framer-c7rm4v-container\"],\"j6O_ecuYJ\":[\".framer-1pfa5vt-container\",\".framer-1mudou3-container\",\".framer-c7rm4v-container\"],\"GkRUJSsaA\":[\".framer-1pfa5vt-container\",\".framer-1mudou3-container\",\".framer-c7rm4v-container\"]}\n * @framerBreakpoints {\"PDYoAkUWH\":{\"min\":1728,\"canvasClassName\":\"framer-1kb1l3z-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"XL\",\"width\":1728,\"rootFontSize\":16},\"VZ7y7bMtB\":{\"min\":1440,\"max\":1727,\"canvasClassName\":\"framer-12ph5ck-override\",\"minHeight\":1000,\"name\":\"L\",\"width\":1440,\"rootFontSize\":16},\"pVIr9H2LR\":{\"min\":1200,\"max\":1439,\"canvasClassName\":\"framer-n7laxm-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"M\",\"width\":1200,\"rootFontSize\":16},\"j6O_ecuYJ\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-hdukp2-override\",\"minHeight\":1000,\"viewportHeight\":1080,\"name\":\"S\",\"width\":810,\"rootFontSize\":16},\"GkRUJSsaA\":{\"max\":809,\"canvasClassName\":\"framer-13gqfmt-override\",\"minHeight\":1000,\"viewportHeight\":844,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant VZ7y7bMtB\n * @framerLayoutTemplate true\n */const FramerKMMFdrKCl=withCSS(Component,css,\"framer-Ph8wC\");export default FramerKMMFdrKCl;FramerKMMFdrKCl.displayName=\"Template\";FramerKMMFdrKCl.defaultProps={height:1e3,width:1440};addFonts(FramerKMMFdrKCl,[{explicitInter:true,fonts:[]},...NavigatieFonts,...BlurGradientFonts,...FooterWrapperFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerKMMFdrKCl\",\"slots\":[],\"annotations\":{\"framerHitTargets\":\"{\\\"VZ7y7bMtB\\\":[\\\".framer-1pfa5vt-container\\\",\\\".framer-1mudou3-container\\\",\\\".framer-c7rm4v-container\\\"],\\\"PDYoAkUWH\\\":[\\\".framer-1pfa5vt-container\\\",\\\".framer-1mudou3-container\\\",\\\".framer-c7rm4v-container\\\"],\\\"pVIr9H2LR\\\":[\\\".framer-1pfa5vt-container\\\",\\\".framer-1mudou3-container\\\",\\\".framer-c7rm4v-container\\\"],\\\"j6O_ecuYJ\\\":[\\\".framer-1pfa5vt-container\\\",\\\".framer-1mudou3-container\\\",\\\".framer-c7rm4v-container\\\"],\\\"GkRUJSsaA\\\":[\\\".framer-1pfa5vt-container\\\",\\\".framer-1mudou3-container\\\",\\\".framer-c7rm4v-container\\\"]}\",\"framerBreakpoints\":\"{\\\"PDYoAkUWH\\\":{\\\"min\\\":1728,\\\"canvasClassName\\\":\\\"framer-1kb1l3z-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"XL\\\",\\\"width\\\":1728,\\\"rootFontSize\\\":16},\\\"VZ7y7bMtB\\\":{\\\"min\\\":1440,\\\"max\\\":1727,\\\"canvasClassName\\\":\\\"framer-12ph5ck-override\\\",\\\"minHeight\\\":1000,\\\"name\\\":\\\"L\\\",\\\"width\\\":1440,\\\"rootFontSize\\\":16},\\\"pVIr9H2LR\\\":{\\\"min\\\":1200,\\\"max\\\":1439,\\\"canvasClassName\\\":\\\"framer-n7laxm-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"M\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"j6O_ecuYJ\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-hdukp2-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":1080,\\\"name\\\":\\\"S\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"GkRUJSsaA\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-13gqfmt-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":844,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerDisplayContentsDiv\":\"false\",\"framerLayoutTemplate\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"PDYoAkUWH\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"pVIr9H2LR\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"j6O_ecuYJ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"GkRUJSsaA\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1440\",\"framerIntrinsicHeight\":\"1000\",\"framerDefaultVariant\":\"VZ7y7bMtB\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n\t\timport * as Framer from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport Template1 from \"https://framerusercontent.com/modules/NiLNKlz1A1yLRnRdb3NQ/sWVCOo5MIpKerEEd0eIt/KMMFdrKCl.js\";\r\n\r\n\t\tconst routes = {augiA20Il: {elements: {tVfxM62W3: \"hero\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/iO1VMf03GRejkDfg18aU/gTLpWLhJnAKDVAYWRf9N/augiA20Il.js\")), path: \"/\"}, Exa7fZnHa: {elements: {zLO07U7MZ: \"feed\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/J7kkmmEak5XLx1vGFE1Q/YyBMkbCJ82L9rfyWCXsu/Exa7fZnHa.js\")), path: \"/home-2\"}, bu58dNvZS: {elements: {JqTkdWRfT: \"products\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/xwzKLE4u6k2HWX6nlKlD/gREWD30mnYscgGzbFUSK/bu58dNvZS.js\")), path: \"/wat-wij-doen\"}}\r\n\r\n\t\tconst locales = [{code: \"nl\", id: \"default\", name: \"Dutch\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {WrS9ZxSJi: async () => (await import(\"https://framerusercontent.com/modules/TQekJgxMHtgy2pwOlBwQ/5CyqAUpRWYpQOzOZXnRq/WrS9ZxSJi.js\"))?.[\"utils\"]}\r\n\t\tconst framerSiteId = \"dd0ce9af33714d44bfe559cc4806ed115210e0f738aaf9cdf456f25cb4296347\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"Exa7fZnHa\":\r\ncase \"bu58dNvZS\":\r\ncase \"fQd5BVkyl\":\r\ncase \"hHfTqIXuC\":\r\ncase \"DKoXqAizE\":\r\ncase \"Ts5lbyBGY\":\r\nreturn React.createElement(Template1, {...props, key: \"Template1\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"Exa7fZnHa\":\r\ncase \"bu58dNvZS\":\r\ncase \"fQd5BVkyl\":\r\ncase \"hHfTqIXuC\":\r\ncase \"DKoXqAizE\":\r\ncase \"Ts5lbyBGY\":\r\nreturn [{hash: \"1kb1l3z\", mediaQuery: \"(min-width: 1728px)\"}, {hash: \"12ph5ck\", mediaQuery: \"(min-width: 1440px) and (max-width: 1727.98px)\"}, {hash: \"n7laxm\", mediaQuery: \"(min-width: 1200px) and (max-width: 1439.98px)\"}, {hash: \"hdukp2\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"13gqfmt\", mediaQuery: \"(max-width: 809.98px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\texport async function getPageRoot({ routeId, pathVariables, localeId, collectionItemId }) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\tconst content = React.createElement(\r\n\t\t\t\tFramer.PageRoot,\r\n\t\t\t\t{\r\n\t\t\t\t\tisWebsite: true,\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"__framer-not-found-page\")),\r\n\t\t\t\t\tisReducedMotion: undefined,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: undefined,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://noordzuid.nl\",\r\n\t\t\t\t\tEditorBar: \r\n\t\t\ttypeof window !== \"undefined\" ? (() => {\r\n\t\t\t\tif (isBot) {\r\n\t\t\t\t\tconsole.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Framer.lazy(async () => {\r\n\t\t\t\t\tconst dependencies = {\r\n\t\t\t\t\t\t__version: 3,\r\n\t\t\t\t\t\tframer: {\r\n\t\t\t\t\t\t\tuseCurrentRoute: Framer.useCurrentRoute,\r\n\t\t\t\t\t\t\tuseLocaleInfo: Framer.useLocaleInfo,\r\n\t\t\t\t\t\t\tuseRouter: Framer.useRouter,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\treact: {\r\n\t\t\t\t\t\t\tcreateElement: React.createElement,\r\n\t\t\t\t\t\t\tFragment: React.Fragment,\r\n\t\t\t\t\t\t\tmemo: React.memo,\r\n\t\t\t\t\t\t\tuseCallback: React.useCallback,\r\n\t\t\t\t\t\t\tuseEffect: React.useEffect,\r\n\t\t\t\t\t\t\tuseRef: React.useRef,\r\n\t\t\t\t\t\t\tuseState: React.useState,\r\n\t\t\t\t\t\t\tuseLayoutEffect: React.useLayoutEffect,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"react-dom\": { createPortal },\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.__framer_editorBarDependencies = dependencies\r\n\r\n\t\t\t\t\tconst { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdefault: createEditorBar(),\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t})() : undefined\r\n\t\t,\r\n\t\t\t\t\tadaptLayoutToTextDirection: false,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/3KyJ5n6hTPV2K5anXn8s/U6od43ycgYhFMi0yfiFR/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithFeaturesContext = React.createElement(\r\n\t\t\t\tFramer.LibraryFeaturesProvider,\r\n\t\t\t\t{\r\n\t\t\t\t\tchildren: content,\r\n\t\t\t\t\tvalue: {autobahnNavigation: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: true, onPageMoveTool: true, synchronousNavigationOnDesktop: false, yieldOnTap: false}\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n\t\t\t\tchildren: contentWithFeaturesContext\r\n\t\t\t})\r\n\r\n\t\t\t\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {routes: {}}\r\n\t\t\t})\r\n\r\n\t\t\t// We don't want the initial render to immediately have to suspend.\r\n\t\t\tawait rootPreload\r\n\t\t\treturn page\r\n\t\t}\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\twindow.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n\t\t\t\treturn React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n\t\t\t}\r\n\r\n\t\t\twindow.__framer_events = window.__framer_events || []\r\n\r\n\t\t\t// Initialize lazy modules cache for hydration\r\n\t\t\tFramer.initLazyModulesCache()\r\n\r\n\t\t\t// Fallback support for stack gaps\r\n\t\t\tFramer.installFlexboxGapWorkaroundIfNeeded()\r\n\r\n\t\t\tconst container = document.getElementById(\"main\")\r\n\t\t\t// We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n\t\t\tif (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n\t\t\telse main(false, container)\r\n\t\t}\r\n\r\n\t\tfunction track() {\r\n\t\t\tif (!isBrowser) return\r\n\t\t\twindow.__framer_events.push(arguments)\r\n\t\t}\r\n\r\n\t\tasync function main(shouldHydrate, container) {\r\n\t\t\tfunction handleError(error, errorInfo, recoverable = true) {\r\n\t\t\t\tif (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n\t\t\t\tconst componentStack = errorInfo?.componentStack\r\n\t\t\t\tif (recoverable) {\r\n\t\t\t\t\tconsole.warn(\"Caught a recoverable error. The site is still functional, but might have some UI flickering or degraded page load performance. If you are the author of this website, update external components and check recently added custom code or code overrides to fix the following server/client mismatches:\\n\", error, componentStack)\r\n\t\t\t\t\t// we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n\t\t\t\t\tif (Math.random() > 0.01) return\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\"Caught a fatal error. Please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n\t\t\t\t}\r\n\t\t\t\ttrack(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n\t\t\t\t\tmessage: String(error),\r\n\t\t\t\t\tcomponentStack, // componentStack is more useful\r\n\t\t\t\t\tstack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tlet routeId, localeId, pathVariables, breakpoints, routeData\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\trouteData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tbreakpoints = routeData.breakpoints\r\n\r\n\t\t\t\t\trouteId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tFramer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\tconst serverRouteExperimentEnabled = true\r\n\t\t\t\t\tconst serverRoute = serverRouteExperimentEnabled && performance.getEntriesByType(\"navigation\")[0]?.serverTiming?.find(e => e.name === \"route\")?.description\r\n\t\t\t\t\tif (serverRoute) {\r\n\t\t\t\t\t\tconst routeData = new URLSearchParams(serverRoute)\r\n\t\t\t\t\t\trouteId = routeData.get(\"id\")\r\n\t\t\t\t\t\tlocaleId = routeData.get(\"locale\")\r\n\t\t\t\t\t\tfor (const [key, value] of routeData.entries()) {\r\n\t\t\t\t\t\t\tif (!key.startsWith(\"var.\")) continue\r\n\t\t\t\t\t\t\tpathVariables ??= {}\r\n\t\t\t\t\t\t\tpathVariables[key.slice(4)] = value\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!routeId || !localeId) {\r\n\t\t\t\t\t\tconst routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n\t\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst pagePromise = getPageRoot({\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcollectionItemId: routeData?.collectionItemId,\r\n\t\t\t\t})\r\n\r\n\t\t\t\t\r\nif (typeof window !== \"undefined\") {\r\n\tvoid (async () => {\r\n\t\tconst route = routes[routeId]\r\n\r\n\t\tconst defaultLocaleId = \"default\"\r\n\t\tconst framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\t  const utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\t  const [slug] = Object.values(pathVariables)\r\n\t\t\t  if (utils && typeof slug === \"string\") {\r\n\t\t\t\t  collectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t  }\r\n\t\t}\r\n\r\n\t\tconst resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n\t\tconst timezone = resolvedDateTimeOptions.timeZone\r\n\t\tconst locale = resolvedDateTimeOptions.locale\r\n\r\n\t\t// wait for the page to be activated before sending the pageview event\r\n\t\t// https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tif (document.prerendering) {\r\n\t\t\t\tdocument.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n\t\t\t} else {\r\n\t\t\t\tresolve()\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\twindow.__framer_events.push([\r\n\t\t\t\"published_site_pageview\",\r\n\t\t\t{\r\n\t\t\t\tframerSiteId: framerSiteId ?? null,\r\n\t\t\t\tversion: 2,\r\n\t\t\t\troutePath: route?.path || \"/\",\r\n\t\t\t\tcollectionItemId,\r\n\t\t\t\tframerLocale: framerLocale || null,\r\n\t\t\t\twebPageId: route?.abTestingVariantId ?? routeId,\r\n\t\t\t\tabTestId: route?.abTestId,\r\n\t\t\t\treferrer: document.referrer || null,\r\n\t\t\t\turl: window.location.href,\r\n\t\t\t\thostname: window.location.hostname || null,\r\n\t\t\t\tpathname: window.location.pathname || null,\r\n\t\t\t\thash: window.location.hash || null,\r\n\t\t\t\tsearch: window.location.search || null,\r\n\t\t\t\ttimezone,\r\n\t\t\t\tlocale,\r\n\t\t\t},\r\n\t\t\t\"eager\"\r\n\t\t])\r\n\r\n\t\t// Yield to avoid blocking the main thread with the user code\r\n\t\tawait Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n\t\tdocument.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n\t\t\tdetail: { framerLocale: framerLocale || null }\r\n\t\t}))\r\n\t})()\r\n}\r\n\r\n\r\n\t\t\t\tconst page = await pagePromise\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tFramer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n\t\t\t\t\t\tFramer.removeHiddenBreakpointLayersV2(breakpoints)\r\n\t\t\t\t\t\twindow.__framer_onRewriteBreakpoints?.(breakpoints)\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tconst startTransition = isBot ? cb => cb() : React.startTransition\r\n\t\t\t\t\tstartTransition(() => {\r\n\t\t\t\t\t\tFramer.markHydrationStart()\r\n\t\t\t\t\t\tif (true) Framer.turnOffReactEventHandling()\r\n\t\t\t\t\t\tReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\thandleError(error, undefined, false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\t\r\n\t"],"mappings":"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"}