angry-pixel 1.2.16 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../packages/math/lib/index.esm.js","../../../packages/core/lib/index.esm.js","../../../packages/input/lib/index.esm.js","../../../packages/2d-physics/lib/index.esm.js"],"sourcesContent":["var t=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}(),e=function(){function e(e,i,n,o){this._position=new t,this._center=new t,this._width=0,this._height=0,this.set(e,i,n,o)}return Object.defineProperty(e.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),e.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},e.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},e.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},e.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},e.prototype.contains=function(i){return i instanceof e?i.x1<=this.x1&&i.x>=this.x&&i.y1<=this.y1&&i.y>=this.y:i instanceof t&&!(i.x<this.x||i.y<this.y||i.x>=this.x1||i.y>=this.y1)},e}(),i=function(t,e,i){return Math.min(i,Math.max(e,t))},n=function(t,e){return Math.round(Math.random()*(e-t))+t},o=function(t,e,i){return void 0===i&&(i=2),r(Math.random()*(e-t)+t,i)},r=function(t,e){return Math.round(t*Math.pow(10,e))/Math.pow(10,e)},s=function(t,e,i){void 0===i&&(i=1);for(var n=[],o=t;o<=e;o+=i)n.push(o);return n},u=function(t,e,i){return t>=e&&t<=i},h=function(){function e(e,i){void 0===e&&(e=null),void 0===i&&(i=null),this._degrees=0,this._radians=0,this._direction=new t,e?this.radians=e:i&&(this.degrees=i)}return Object.defineProperty(e.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),e.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))},e}();export{e as Rectangle,h as Rotation,t as Vector2,u as between,i as clamp,r as fixedRound,o as randomFloat,n as randomInt,s as range};\n//# sourceMappingURL=index.esm.js.map\n","var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};function e(e,i){if(\"function\"!=typeof i&&null!==i)throw new TypeError(\"Class extends value \"+String(i)+\" is not a constructor or null\");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}var i,n=function(){return n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},n.apply(this,arguments)};function r(t,e,i){if(i||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);return t.concat(n||Array.prototype.slice.call(e))}\"function\"==typeof SuppressedError&&SuppressedError,function(t){t[t.Init=0]=\"Init\",t[t.Start=1]=\"Start\",t[t.Update=2]=\"Update\",t[t.UpdateEngine=3]=\"UpdateEngine\",t[t.UpdateCollider=4]=\"UpdateCollider\",t[t.UpdatePhysics=5]=\"UpdatePhysics\",t[t.UpdateTransform=6]=\"UpdateTransform\",t[t.UpdatePreRender=7]=\"UpdatePreRender\",t[t.UpdateCamera=8]=\"UpdateCamera\",t[t.UpdateRender=9]=\"UpdateRender\",t[t.Destroy=10]=\"Destroy\",t[t.StopGame=11]=\"StopGame\"}(i||(i={}));var o,s,a,h=function(){function t(t,e,n,r,o,s,a){this.timeManager=t,this.physicsManager=e,this.renderManager=n,this.inputManager=r,this.gameObjectManager=o,this.sceneManager=s,this.canvasColor=a,this.running=!1,this.gameLoopAccumulator=0,this.gameObjects=[],this.components=[],this.changingScene=!1,this.sceneEvents=[i.Start,i.Update,i.StopGame],this.gameObjectEvents=[i.Start,i.Update]}return t.prototype.start=function(){this.startLoop(!0)},t.prototype.pause=function(){this.running=!1},t.prototype.resume=function(){this.startLoop(!1)},t.prototype.stop=function(){this.running=!1,this.dispatchFrameEvent(i.StopGame),this.physicsManager.clear(),this.renderManager.clearScreen(this.canvasColor)},t.prototype.startLoop=function(t){this.running||(this.running=!0,t&&this.sceneManager.loadOpeningScene(),this.requestAnimationLoop(window.performance.now()),this.timeManager.gameFramerate!==this.timeManager.physicsFramerate&&this.asyncPhysicsLoop())},t.prototype.requestAnimationLoop=function(t){var e=this;this.running&&(this.timeManager.updateForBrowser(.001*t),this.sceneManager.pendingSceneToload()&&(this.sceneManager.loadPendingScene(),this.changingScene=!1),this.gameLoopAccumulator+=this.timeManager.browserDeltaTime,this.gameLoopAccumulator>=this.timeManager.minGameDeltatime&&(this.gameLogicIteration(.001*t),this.gameLoopAccumulator-=this.timeManager.minGameDeltatime),this.renderIteration(),this.sceneManager.pendingSceneToload()&&(this.changingScene=!0,this.sceneManager.unloadCurrentScene()),window.requestAnimationFrame((function(t){return e.requestAnimationLoop(t)})))},t.prototype.gameLogicIteration=function(t){this.timeManager.updateForGame(t),this.load(),this.dispatchFrameEvent(i.Start),this.inputManager.update(),this.dispatchFrameEvent(i.Update),this.dispatchFrameEvent(i.UpdateEngine),this.dispatchFrameEvent(i.UpdateTransform),this.timeManager.gameFramerate===this.timeManager.physicsFramerate&&(this.timeManager.updateForPhysics(t),this.physicsIteration()),this.dispatchFrameEvent(i.UpdatePreRender)},t.prototype.renderIteration=function(){this.dispatchFrameEvent(i.UpdatePreRender),this.dispatchFrameEvent(i.UpdateCamera),this.dispatchFrameEvent(i.UpdateRender),this.renderManager.clearScreen(this.canvasColor),this.renderManager.render(),this.renderManager.clearData()},t.prototype.physicsIteration=function(){this.timeManager.timeScale<=0||this.changingScene||(this.dispatchFrameEvent(i.UpdatePhysics),this.dispatchFrameEvent(i.UpdateCollider),this.dispatchFrameEvent(i.UpdateTransform),this.physicsManager.resolve(this.timeManager.physicsDeltaTime))},t.prototype.asyncPhysicsLoop=function(){var t=this;this.physicsIntervalId=window.setInterval((function(){if(!t.running)return window.clearInterval(t.physicsIntervalId);t.timeManager.updateForPhysics(.001*window.performance.now()),document.hidden||t.physicsIteration()}),1e3/this.timeManager.physicsFramerate)},t.prototype.load=function(){var t=this;this.loadedScene=this.sceneManager.getLoadedScene(),this.gameObjects=this.gameObjectManager.findGameObjects().filter((function(t){return t.active})),this.components=[],this.gameObjects.forEach((function(e){return e.getComponents().filter((function(t){return t.active})).forEach((function(e){return t.components.push(e)}))}))},t.prototype.dispatchFrameEvent=function(t){this.sceneEvents.includes(t)&&this.loadedScene.dispatch(t),this.gameObjectEvents.includes(t)&&this.gameObjects.forEach((function(e){e.active&&e.dispatch(t)})),this.components.forEach((function(e){e.active&&e.dispatch(t)}))},t}(),c=function(){function t(t){this.updateEvent=i.Update,this.started=!1,this.container=t,this.gameConfig=this.container.getConstant(\"GameConfig\"),this.gameConfig.headless||(this.assetManager=this.container.getSingleton(\"AssetManager\"),this.domManager=this.container.getSingleton(\"DomManager\"),this.inputManager=this.container.getSingleton(\"InputManager\"),this.renderManager=this.container.getSingleton(\"RenderManager\")),this.gameObjectManager=this.container.getSingleton(\"GameObjectManager\"),this.physicsManager=this.container.getSingleton(\"PhysicsManager\"),this.sceneManager=this.container.getSingleton(\"SceneManager\"),this.timeManager=this.container.getSingleton(\"TimeManager\")}return t.prototype.dispatch=function(t,e){t===i.Init&&this.init?this.init(e):t!==i.Start||this.started?t===this.updateEvent&&this.started&&this.update?this.update():t===i.Destroy?(this.onDestroy&&this.onDestroy(),this._destroy()):t===i.StopGame&&(this.onDestroy&&this.onDestroy(),this._stopGame()):(this.start&&this.start(),this.started=!0)},t.prototype.addGameObject=function(t,e,i){return\"string\"==typeof e&&(i=e,e={}),this.gameObjectManager.addGameObject(t,e,void 0,i)},t.prototype.findGameObjects=function(t){return t?this.gameObjectManager.findGameObjects(t):this.gameObjectManager.findGameObjects()},t.prototype.findGameObject=function(t){return this.gameObjectManager.findGameObject(t)},t.prototype.findGameObjectsByTag=function(t){return this.gameObjectManager.findGameObjectsByTag(t)},t.prototype.destroyGameObject=function(t){this.gameObjectManager.destroyGameObject(t)},t}(),l=function(t){function i(e,i,n){void 0===n&&(n=\"\");var r=t.call(this,e)||this;return r.allowMultiple=!0,r._active=!0,r.gameObject=i,r.name=n,r}return e(i,t),Object.defineProperty(i.prototype,\"active\",{get:function(){return this._active},set:function(t){this._active!==t&&(this._active=t,this.onActiveChange())},enumerable:!1,configurable:!0}),i.prototype.onActiveChange=function(){},i.prototype.getCurrentScene=function(){return this.sceneManager.getLoadedScene()},i.prototype.getGameObject=function(){return this.gameObject},i.prototype.getComponents=function(t){return t?this.gameObject.getComponents(t):this.gameObject.getComponents()},i.prototype.getComponent=function(t){return this.gameObject.getComponent(t)},i.prototype.hasComponent=function(t){return this.gameObject.hasComponent(t)},i.prototype.removeComponent=function(t){this.gameObject.removeComponent(t)},i.prototype._destroy=function(){var t=this;Object.keys(this).forEach((function(e){return delete t[e]}))},i.prototype._stopGame=function(){},i}(c),u=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateEngine,e}return e(n,t),n}(l),p=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateCollider,e}return e(n,t),n}(l),d=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdatePhysics,e}return e(n,t),n}(l),f=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateTransform,e}return e(n,t),n}(l),g=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdatePreRender,e}return e(n,t),n}(l),m=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateCamera,e}return e(n,t),n}(l),y=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateRender,e}return e(n,t),n}(l);!function(t){t[t.Polygon=0]=\"Polygon\",t[t.Circumference=1]=\"Circumference\",t[t.Line=2]=\"Line\"}(o||(o={})),function(t){t[t.WorldSpace=0]=\"WorldSpace\",t[t.ViewPort=1]=\"ViewPort\"}(s||(s={})),function(t){t[t.Sprite=0]=\"Sprite\",t[t.Text=1]=\"Text\",t[t.Tilemap=2]=\"Tilemap\",t[t.Mask=3]=\"Mask\",t[t.Geometric=4]=\"Geometric\",t[t.Video=5]=\"Video\"}(a||(a={}));var v=function(){function t(t){this.gl=t,this.viewport={x:0,x1:0,y:0,y1:0},this.object={x:0,x1:0,y:0,y1:0}}return t.prototype.setViewport=function(t,e){var i=t.position,n=t.zoom;e===s.WorldSpace?(this.viewport.x=i.x-this.gl.canvas.width/n/2,this.viewport.x1=i.x+this.gl.canvas.width/n/2,this.viewport.y=i.y-this.gl.canvas.height/n/2,this.viewport.y1=i.y+this.gl.canvas.height/n/2):(this.viewport.x=-this.gl.canvas.width/2,this.viewport.x1=this.gl.canvas.width/2,this.viewport.y=-this.gl.canvas.height/2,this.viewport.y1=this.gl.canvas.height/2)},t.prototype.setObjectForResizeable=function(t){var e=t.position,i=t.width,n=t.height,r=t.rotation,o=void 0===r?0:r,s=Math.abs(Math.sin(o)),a=Math.abs(Math.cos(o)),h=s*n+a*i,c=s*i+a*n;this.object.x=e.x-h/2,this.object.x1=e.x+h/2,this.object.y=e.y-c/2,this.object.y1=e.y+c/2},t.prototype.setObjectForText=function(t){var e=t.position,i=t.text,n=t.fontSize,r=t.lineSeparation,o=t.letterSpacing,s=t.rotation,a=i.split(\"\\n\").reduce((function(t,e){return Math.max(t,e.length)}),0)*(n+(null!=o?o:0))*2,h=i.split(\"\\n\").length*(n+(null!=r?r:0));this.setObjectForResizeable({position:e,width:a,height:h,rotation:s})},t.prototype.setObjectForGeometric=function(t){var e=this,i=t.position,n=t.vertexModel,r=t.shape,s=t.radius;r===o.Circumference?(this.object.x=i.x-s,this.object.y=i.y-s,this.object.x1=i.x+s,this.object.y1=i.y+s):(this.object.x=Number.MAX_SAFE_INTEGER,this.object.y=Number.MAX_SAFE_INTEGER,this.object.x1=Number.MIN_SAFE_INTEGER,this.object.y1=Number.MIN_SAFE_INTEGER,n.forEach((function(t){e.object.x=Math.min(t.x+i.x,e.object.x),e.object.y=Math.min(t.y+i.y,e.object.y),e.object.x1=Math.max(t.x+i.x,e.object.x1),e.object.y1=Math.max(t.y+i.y,e.object.y1)})))},t.prototype.setObjectForTilemap=function(t){t.tilemap.height=Math.ceil(t.tiles.length/t.tilemap.width),this.setObjectForResizeable({position:t.renderPosition,width:t.tilemap.width*t.tilemap.tileWidth,height:t.tilemap.height*t.tilemap.tileHeight,rotation:t.rotation})},t.prototype.applyCullingInTiles=function(t){var e=this,i=t.tiles,n=t.tilemap,r=n.width,o=n.tileWidth,s=n.tileHeight;t.culledTiles=i.map((function(t,i){return e.viewport.x1>=e.object.x+i%r*o&&e.viewport.x<=e.object.x+i%r*o+o&&e.viewport.y1>=e.object.y1-((i/r|0)*s+s)&&e.viewport.y<=e.object.y1-(i/r|0)*s?t:0}))},t.prototype.isInViewPort=function(t,e){switch(this.setViewport(e,t.location),t.type){case a.Video:case a.Mask:case a.Sprite:this.setObjectForResizeable(t);break;case a.Geometric:this.setObjectForGeometric(t);break;case a.Text:this.setObjectForText(t);break;case a.Tilemap:this.setObjectForTilemap(t)}return this.viewport.x1>=this.object.x&&this.viewport.x<=this.object.x1&&this.viewport.y1>=this.object.y&&this.viewport.y<=this.object.y1},t.prototype.applyCulling=function(t,e){var i=this;return e.filter((function(e){return!!i.isInViewPort(e,t)&&(e.type===a.Tilemap&&i.applyCullingInTiles(e),!0)}))},t}(),x=function(){return x=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},x.apply(this,arguments)};function b(t,e,i){if(i||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);return t.concat(n||Array.prototype.slice.call(e))}\"function\"==typeof SuppressedError&&SuppressedError;var M,_=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}();!function(){function t(t,e,i,n){this._position=new _,this._center=new _,this._width=0,this._height=0,this.set(t,e,i,n)}Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof _&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)}}(),function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new _,t?this.radians=t:e&&(this.degrees=e)}Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}(),function(t){t[t.Center=0]=\"Center\",t[t.RightUp=1]=\"RightUp\",t[t.RightDown=2]=\"RightDown\",t[t.RightCenter=3]=\"RightCenter\"}(M||(M={}));var w,C=function(){function t(t,e){this.webglManager=t,this.cullingManager=e,this.renderData=[],this.cameraData=[]}return t.prototype.addRenderData=function(t){this.renderData.push(t)},t.prototype.addCameraData=function(t){this.cameraData.push(t)},t.prototype.render=function(){var t=this;this.cameraData.sort((function(t,e){return t.depth-e.depth})).forEach((function(e){return t.renderByCamera(e)}))},t.prototype.renderByCamera=function(t){var e=this;this.cullingManager.applyCulling(t,this.renderData.filter((function(e){return t.layers.includes(e.layer)})).sort((function(e,i){return t.layers.indexOf(e.layer)-t.layers.indexOf(i.layer)})).map((function(t){return t.type===a.Tilemap?function(t){var e=x(x({},t),{culledTiles:[],tilemap:x(x({},t.tilemap),{height:Math.ceil(t.tiles.length/t.tilemap.width),realWidth:t.tilemap.width*t.tilemap.tileWidth,realHeight:0}),renderPosition:new _});return e.tilemap.realHeight=e.tilemap.height*e.tilemap.tileHeight,function(t){t.renderPosition.set(t.position.x+(t.orientation!==M.Center?t.tilemap.realWidth/2:0),t.position.y+(t.orientation===M.RightDown?-t.tilemap.realHeight/2:t.orientation===M.RightUp?t.tilemap.realHeight/2:0))}(e),e}(t):t}))).forEach((function(i){return e.webglManager.render(i,t)}))},t.prototype.clearData=function(){this.renderData=[],this.cameraData=[]},t.prototype.clearScreen=function(t){this.webglManager.clearCanvas(t)},t.prototype.preloadTexture=function(t){this.webglManager.createTexture(t)},t}();!function(t){t.LegacyWebGL=\"webgl\",t.WebGL2=\"webgl2\"}(w||(w={}));var j=function(){function t(t){if(this.canvas=t,this.contextVersion=this.getContextVersion(),!this.contextVersion)throw new Error(\"Your browser does not support WebGL.\");this.gl=this.canvas.getContext(this.contextVersion)}return t.prototype.getContextVersion=function(){return null!==this.canvas.getContext(w.WebGL2)?w.WebGL2:null!==this.canvas.getContext(w.LegacyWebGL)?w.LegacyWebGL:void 0},t}(),O=function(){function t(){this.fontAtlas=new Map}return t.prototype.hasFontAtlas=function(t){return this.fontAtlas.has(this.symbol(t))},t.prototype.getFontAtlas=function(t){return this.fontAtlas.get(this.symbol(t))},t.prototype.getOrCreate=function(t,e,i){var n;return null!==(n=this.getFontAtlas(e))&&void 0!==n?n:this.create(t,e,i)},t.prototype.create=function(t,e,i){this.bitmapSize=i,this.chars=[];for(var n=0;n<t.length;n+=2)for(var r=t[n];r<=t[n+1];r++)this.chars.push(String.fromCharCode(r));var o=this.renderAtlas(e instanceof FontFace?e.family:e);return this.fontAtlas.set(this.symbol(e),o),o},t.prototype.symbol=function(t){return Symbol.for(t instanceof FontFace?t.family:t)},t.prototype.renderAtlas=function(t){var e=new P(t,this.bitmapSize,Math.ceil(Math.sqrt(this.chars.length))),i=e.canvas.getContext(\"2d\");i.clearRect(0,0,e.canvas.width,e.canvas.height),i.textBaseline=\"top\",i.fillStyle=\"#000\",i.font=\"\".concat(this.bitmapSize,\"px \").concat(t);for(var n=0,r=0,o=0;o<this.chars.length;o++)i.fillText(this.chars[o],n,r),e.glyphs.set(this.chars[o],{id:o,width:i.measureText(this.chars[o]).width}),(n+=this.bitmapSize)>e.canvas.width-this.bitmapSize&&(n=0,r+=this.bitmapSize);return e},t}(),P=function(t,e,i){this.fontFaceFamily=t,this.bitmapFontSize=e,this.gridSize=i,this.canvas=document.createElement(\"canvas\"),this.glyphs=new Map,this.canvas.width=this.gridSize*this.bitmapFontSize,this.canvas.height=this.canvas.width},R=function(){function t(t,e){this.gl=t,this.shaderLoader=e}return t.prototype.create=function(t,e){var i=this.gl.createProgram(),n=this.shaderLoader.load(this.gl.VERTEX_SHADER,t),r=this.shaderLoader.load(this.gl.FRAGMENT_SHADER,e);this.gl.attachShader(i,n),this.gl.attachShader(i,r),this.gl.linkProgram(i);var o=this.gl.LINK_STATUS;if(!this.gl.getProgramParameter(i,o)){var s=this.gl.getProgramInfoLog(i);throw this.gl.deleteProgram(i),new Error(\"Unable to initialize the Program: \".concat(s))}return i},t}(),A=function(){function t(t,e,i){this.gl=t,this.contextVersion=e,this.programFactory=i}return t.prototype.loadProgram=function(){this.program=this.contextVersion===w.WebGL2?this.programFactory.create(\"#version 300 es\\n\\nin vec4 positionCoords;\\nin vec2 textureCoords;\\n\\nout vec2 texCoords;\\n\\nuniform mat4 projectionMatrix;\\nuniform mat4 modelMatrix;\\nuniform mat4 textureMatrix;\\n\\nvoid main()\\n{\\n gl_Position = projectionMatrix * modelMatrix * positionCoords;\\n texCoords = (textureMatrix * vec4(textureCoords, 0, 1)).xy;\\n}\",\"#version 300 es\\nprecision highp float;\\n\\nout vec4 fragColor;\\n\\nin vec2 texCoords;\\n\\nuniform int u_renderTexture;\\nuniform sampler2D u_texImage;\\nuniform vec4 u_solidColor;\\n\\nuniform int u_useTintColor;\\nuniform vec4 u_tintColor;\\n\\nuniform int u_useMaskColor;\\nuniform vec4 u_maskColor;\\nuniform float u_maskColorMix;\\n\\nuniform float u_alpha;\\n\\nvoid main()\\n{\\n if (u_renderTexture == 1) {\\n vec4 texColor = texture(u_texImage, texCoords);\\n\\n if (texColor.a < 0.0001) {\\n discard;\\n }\\n\\n if (u_useTintColor == 1) {\\n texColor = u_tintColor * texColor;\\n }\\n\\n if (u_useMaskColor == 1) {\\n texColor = mix(texColor, u_maskColor, clamp(u_maskColorMix, 0.0, 1.0));\\n }\\n\\n fragColor = vec4(texColor.rgb, u_alpha * texColor.a); \\n } else {\\n fragColor = vec4(u_solidColor.rgb, u_alpha);\\n }\\n}\"):this.programFactory.create(\"precision mediump float;\\n\\nattribute vec2 positionCoords;\\nattribute vec2 textureCoords;\\n\\nvarying vec2 texCoords;\\n\\nuniform mat4 projectionMatrix;\\nuniform mat4 modelMatrix;\\nuniform mat4 textureMatrix;\\n\\nvoid main()\\n{\\n gl_Position = projectionMatrix * modelMatrix * vec4(positionCoords, 0, 1);\\n texCoords = (textureMatrix * vec4(textureCoords, 0, 1)).xy;\\n}\",\"precision mediump float;\\n\\nvarying vec2 texCoords;\\n\\nuniform int u_renderTexture;\\nuniform sampler2D u_texImage;\\nuniform vec4 u_solidColor;\\n\\nuniform int u_useTintColor;\\nuniform vec4 u_tintColor;\\n\\nuniform int u_useMaskColor;\\nuniform vec4 u_maskColor;\\nuniform float u_maskColorMix;\\n\\nuniform float u_alpha;\\n\\nvoid main()\\n{\\n if (u_renderTexture == 1) {\\n vec4 texColor = texture2D(u_texImage, texCoords);\\n\\n if (texColor.a < 0.0001) {\\n discard;\\n }\\n\\n if (u_useTintColor == 1) {\\n texColor = u_tintColor * texColor;\\n }\\n\\n if (u_useMaskColor == 1) {\\n texColor = mix(texColor, u_maskColor, clamp(u_maskColorMix, 0.0, 1.0));\\n }\\n\\n gl_FragColor = vec4(texColor.rgb, u_alpha * texColor.a);\\n } else {\\n gl_FragColor = vec4(u_solidColor.rgb, u_alpha);\\n }\\n}\"),this.positionBuffer=this.gl.createBuffer(),this.textureBuffer=this.gl.createBuffer(),this.positionCoordsAttr=this.gl.getAttribLocation(this.program,\"positionCoords\"),this.texCoordsAttr=this.gl.getAttribLocation(this.program,\"textureCoords\"),this.modelMatrixUniform=this.gl.getUniformLocation(this.program,\"modelMatrix\"),this.projectionMatrixUniform=this.gl.getUniformLocation(this.program,\"projectionMatrix\"),this.textureMatrixUniform=this.gl.getUniformLocation(this.program,\"textureMatrix\"),this.renderTextureUniform=this.gl.getUniformLocation(this.program,\"u_renderTexture\"),this.textureUniform=this.gl.getUniformLocation(this.program,\"u_texImage\"),this.solidColorUniform=this.gl.getUniformLocation(this.program,\"u_solidColor\"),this.useTintColorUniform=this.gl.getUniformLocation(this.program,\"u_useTintColor\"),this.tintColorUniform=this.gl.getUniformLocation(this.program,\"u_tintColor\"),this.useMaskColorUniform=this.gl.getUniformLocation(this.program,\"u_useMaskColor\"),this.maskColorUniform=this.gl.getUniformLocation(this.program,\"u_maskColor\"),this.maskColorMixUniform=this.gl.getUniformLocation(this.program,\"u_maskColorMix\"),this.alphaUniform=this.gl.getUniformLocation(this.program,\"u_alpha\"),this.gl.useProgram(this.program),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.enableVertexAttribArray(this.positionCoordsAttr),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionBuffer),this.gl.vertexAttribPointer(this.positionCoordsAttr,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.texCoordsAttr),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.textureBuffer),this.gl.vertexAttribPointer(this.texCoordsAttr,2,this.gl.FLOAT,!1,0,0)},t}(),S=function(){function t(t){this.gl=t}return t.prototype.load=function(t,e){var i=this.gl.createShader(t);this.gl.shaderSource(i,e),this.gl.compileShader(i);var n=this.gl.COMPILE_STATUS;if(!this.gl.getShaderParameter(i,n)){var r=this.gl.getShaderInfoLog(i);throw this.gl.deleteShader(i),new Error(\"Unable to initialize the shader program: \".concat(r))}return i},t}(),E=\"undefined\"!=typeof Float32Array?Float32Array:Array;function T(){var t=new E(16);return E!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function D(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function F(t,e,i){var n,r,o,s,a,h,c,l,u,p,d,f,g=i[0],m=i[1],y=i[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*y+e[12],t[13]=e[1]*g+e[5]*m+e[9]*y+e[13],t[14]=e[2]*g+e[6]*m+e[10]*y+e[14],t[15]=e[3]*g+e[7]*m+e[11]*y+e[15]):(n=e[0],r=e[1],o=e[2],s=e[3],a=e[4],h=e[5],c=e[6],l=e[7],u=e[8],p=e[9],d=e[10],f=e[11],t[0]=n,t[1]=r,t[2]=o,t[3]=s,t[4]=a,t[5]=h,t[6]=c,t[7]=l,t[8]=u,t[9]=p,t[10]=d,t[11]=f,t[12]=n*g+a*m+u*y+e[12],t[13]=r*g+h*m+p*y+e[13],t[14]=o*g+c*m+d*y+e[14],t[15]=s*g+l*m+f*y+e[15]),t}function B(t,e,i){var n=i[0],r=i[1],o=i[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function U(t,e,i){var n=Math.sin(i),r=Math.cos(i),o=e[0],s=e[1],a=e[2],h=e[3],c=e[4],l=e[5],u=e[6],p=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*r+c*n,t[1]=s*r+l*n,t[2]=a*r+u*n,t[3]=h*r+p*n,t[4]=c*r-o*n,t[5]=l*r-s*n,t[6]=u*r-a*n,t[7]=p*r-h*n,t}Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)});var I,L=function(t){var e=/^#?([a-f\\d]{2})?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(t);return e?{r:parseInt(e[2],16)/256,g:parseInt(e[3],16)/256,b:parseInt(e[4],16)/256,a:void 0!==e[1]?parseInt(e[1],16)/256:1}:null},V=function(t,e,i,n){var r,o;(function(t,e,i,n,r,o,s){var a=1/(e-i),h=1/(n-r),c=1/(o-s);t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*h,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+i)*a,t[13]=(r+n)*h,t[14]=(s+o)*c,t[15]=1})(t=D(t),-e.canvas.width/2,e.canvas.width/2,-e.canvas.height/2,e.canvas.height/2,-1,1),n===s.WorldSpace&&(B(t,t,[null!==(r=i.zoom)&&void 0!==r?r:1,null!==(o=i.zoom)&&void 0!==o?o:1,1]),F(t,t,[-i.position.x,-i.position.y,0]))},k=function(){function t(t,e){this.gl=t,this.programManager=e,this.vertices=new Map,this.lastVertices=null,this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T();var i=2*Math.PI/60;this.circumferenceVertices=new Float32Array(function(t,e,i){void 0===i&&(i=1);for(var n=[],r=1;r<=60;r+=i)n.push(r);return n}(0,0,1).reduce((function(t,e){return b(b([],t,!0),[Math.cos(e*i),Math.sin(e*i)],!1)}),[]))}return t.prototype.render=function(t,e,i){switch(t.shape){case o.Polygon:this.renderLines(t,e,this.gl.LINE_LOOP,i);break;case o.Line:this.renderLines(t,e,this.gl.LINES,i);break;case o.Circumference:this.renderCircumference(t,e)}},t.prototype.renderLines=function(t,e,i,n){var r,o=this.generateVerticesKey(t.vertexModel);!1===this.vertices.has(o)&&this.vertices.set(o,new Float32Array(this.generatePolygonVertices(t.vertexModel)));var s=this.vertices.get(o);this.lastVertices===o&&n===a.Geometric||(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,s,this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,s,this.gl.DYNAMIC_DRAW)),this.lastVertices=o,this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(r=t.rotation)&&void 0!==r?r:0),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.uniform1i(this.programManager.renderTextureUniform,0);var h=L(t.color),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.solidColorUniform,c,l,u,p),this.gl.uniform1f(this.programManager.alphaUniform,1),this.gl.drawArrays(i,0,s.length/2)},t.prototype.generateVerticesKey=function(t){return Symbol.for(t.reduce((function(t,e){return\"\".concat(t).concat(e.x).concat(e.y)}),t.length.toString()))},t.prototype.generatePolygonVertices=function(t){for(var e=[],i=0;i<t.length;i++)e.push(t[i].x,t[i].y);return e},t.prototype.renderCircumference=function(t,e){this.lastVertices=null,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.circumferenceVertices,this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.circumferenceVertices,this.gl.DYNAMIC_DRAW),this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),B(this.modelMatrix,this.modelMatrix,[t.radius,t.radius,1]),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.uniform1i(this.programManager.renderTextureUniform,0);var i=L(t.color),n=i.r,r=i.g,o=i.b,s=i.a;this.gl.uniform4f(this.programManager.solidColorUniform,n,r,o,s),this.gl.uniform1f(this.programManager.alphaUniform,1),this.gl.drawArrays(this.gl.LINE_LOOP,0,this.circumferenceVertices.length/2)},t}();!function(t){t[t.Rectangle=0]=\"Rectangle\",t[t.Circumference=1]=\"Circumference\"}(I||(I={}));var G,W=function(){function t(t,e){this.gl=t,this.programManager=e,this.type=a.Mask,this.rectangleVertices=new Float32Array([-.5,-.5,-.5,.5,.5,-.5,.5,-.5,-.5,.5,.5,.5]),this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T();for(var i=2*Math.PI/60,n=[0,0],r=0;r<=60;r++)n.push(Math.cos(r*i),Math.sin(r*i));this.circumferenceVertices=new Float32Array(n)}return t.prototype.render=function(t,e,i){var n,r;i===a.Mask&&this.lastShape===t.shape||(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,t.shape===I.Rectangle?this.rectangleVertices:this.circumferenceVertices,this.gl.STATIC_DRAW)),this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,t.shape===I.Rectangle?[t.width,t.height,1]:[t.radius,t.radius,1]),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),t.alpha>=0&&t.alpha<1?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND),this.gl.uniform1i(this.programManager.renderTextureUniform,0);var o=L(t.color),s=o.r,h=o.g,c=o.b,l=o.a;this.gl.uniform4f(this.programManager.solidColorUniform,s,h,c,l),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),t.shape===I.Rectangle?this.gl.drawArrays(this.gl.TRIANGLES,0,6):this.gl.drawArrays(this.gl.TRIANGLE_FAN,0,this.circumferenceVertices.length/2),this.lastShape=t.shape},t}(),H=function(){function t(t,e,i){this.gl=t,this.programManager=e,this.textureManager=i,this.lastTexture=null,this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T(),this.posVertices=new Float32Array([-.5,-.5,-.5,.5,.5,-.5,.5,-.5,-.5,.5,.5,.5]),this.texVertices=new Float32Array([0,1,0,0,1,1,1,1,0,0,1,0])}return t.prototype.render=function(t,e,i){var n,r,o,s;i!==t.type&&(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.posVertices,this.gl.STATIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.texVertices,this.gl.STATIC_DRAW)),this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.width*(t.flipHorizontal?-1:1),t.height*(t.flipVertical?-1:1),1]),this.textureMatrix=D(this.textureMatrix),t.slice&&(F(this.textureMatrix,this.textureMatrix,[t.slice.x/t.image.naturalWidth,t.slice.y/t.image.naturalHeight,0]),B(this.textureMatrix,this.textureMatrix,[t.slice.width/t.image.naturalWidth,t.slice.height/t.image.naturalHeight,1])),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.enable(this.gl.BLEND);var a=this.textureManager.getOrCreateTextureFromImage(t.image,t.smooth);if(this.lastTexture===a&&i===t.type||(this.gl.bindTexture(this.gl.TEXTURE_2D,a),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=a),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var h=L(t.tintColor),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.tintColorUniform,c,l,u,p)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var d=L(t.maskColor);c=d.r,l=d.g,u=d.b,this.gl.uniform4f(this.programManager.maskColorUniform,c,l,u,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s:1)}this.gl.drawArrays(this.gl.TRIANGLES,0,6)},t}();!function(t){t[t.Center=0]=\"Center\",t[t.RightUp=1]=\"RightUp\",t[t.RightDown=2]=\"RightDown\",t[t.RightCenter=3]=\"RightCenter\"}(G||(G={}));var z=new _,N=new _,Y=[32,126,161,255],X=G.Center,q=function(){function t(t,e,i,n){this.gl=t,this.programManager=e,this.textureManager=i,this.fontAtlasFactory=n,this.type=a.Text,this.posVertices=[],this.texVertices=[],this.lastTexture=null,this.textSize=new _,this.modelPosition=new _,this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T()}return t.prototype.render=function(t,e,i){var n;if(!t.text)throw new Error(\"Nothing to render\");this.setDefaultValues(t);var r=this.fontAtlasFactory.getOrCreate(t.bitmap.charRanges,t.font,t.bitmap.fontSize);this.generateTextVertices(r,t),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.posVertices),this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.texVertices),this.gl.DYNAMIC_DRAW),this.modelMatrix=D(this.modelMatrix),this.setPositionFromOrientation(t),F(this.modelMatrix,this.modelMatrix,[this.modelPosition.x,this.modelPosition.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.fontSize,t.fontSize,1]),this.textureMatrix=D(this.textureMatrix),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),t.alpha<1?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND);var o=this.textureManager.getOrCreateTextureFromCanvas(\"FontFamily:\"+r.fontFaceFamily,r.canvas,t.smooth);this.lastTexture===o&&i===a.Text||(this.gl.bindTexture(this.gl.TEXTURE_2D,o),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=o),this.gl.uniform1i(this.programManager.useTintColorUniform,0),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,t.alpha);var s=L(t.color),h=s.r,c=s.g,l=s.b,u=s.a;this.gl.uniform4f(this.programManager.maskColorUniform,h,c,l,u),this.gl.uniform1f(this.programManager.maskColorMixUniform,1),this.gl.uniform1i(this.programManager.useMaskColorUniform,1),this.gl.drawArrays(this.gl.TRIANGLES,0,this.posVertices.length/2)},t.prototype.setDefaultValues=function(t){var e,i,n,r,o,s,a,h,c,l;t.bitmap?(t.bitmap.margin=null!==(e=t.bitmap.margin)&&void 0!==e?e:z,t.bitmap.spacing=null!==(i=t.bitmap.spacing)&&void 0!==i?i:N,t.bitmap.fontSize=null!==(n=t.bitmap.fontSize)&&void 0!==n?n:64,t.bitmap.charRanges=null!==(r=t.bitmap.charRanges)&&void 0!==r?r:Y):t.bitmap={margin:z,spacing:N,fontSize:64,charRanges:Y},t.color=null!==(o=t.color)&&void 0!==o?o:\"#000000\",t.letterSpacing=null!==(s=t.letterSpacing)&&void 0!==s?s:0,t.lineSeparation=null!==(a=t.lineSeparation)&&void 0!==a?a:0,t.alpha=null!==(h=t.alpha)&&void 0!==h?h:1,t.orientation=null!==(c=t.orientation)&&void 0!==c?c:X,t.rotation=null!==(l=t.rotation)&&void 0!==l?l:0},t.prototype.generateTextVertices=function(t,e){var i=e.text,n=e.fontSize,r=e.bitmap,o=e.letterSpacing,s=e.lineSeparation;this.posVertices=[],this.texVertices=[];var a=0,h=0,c=0;o/=n,s/=n;for(var l=0;l<i.length;l++){var u=i[l];if(\"\\n\"!==u){var p=t.glyphs.get(u);if(p){var d=p.width/t.bitmapFontSize;this.posVertices.push(a,h-1,a+d,h-1,a,h,a,h,a+d,h-1,a+d,h);var f=p.id%t.gridSize*t.bitmapFontSize,g=(p.id/t.gridSize|0)*t.bitmapFontSize,m=(f+r.margin.x)/t.canvas.width,y=(g+r.margin.y)/t.canvas.width,v=(f+p.width+r.spacing.x)/t.canvas.width,x=(g+t.bitmapFontSize+r.spacing.y)/t.canvas.width;this.texVertices.push(m,x,v,x,m,y,m,y,v,x,v,y),a+=d+o}}else c=Math.max(c,a),a=0,h-=1+s}this.textSize.set(Math.max(c,a)*n,Math.abs(h-1)*n)},t.prototype.setPositionFromOrientation=function(t){this.modelPosition.set(t.position.x+(t.orientation===G.Center?-this.textSize.x/2:0),t.position.y+(t.orientation===G.Center||t.orientation===G.RightCenter?this.textSize.y/2:t.orientation===G.RightUp?this.textSize.y:0))},t}(),K=function(){function t(t,e,i){this.gl=t,this.programManager=e,this.textureManager=i,this.posVertices=[],this.texVertices=[],this.lastTexture=null,this.tileset={width:0,tileWidth:0,tileHeight:0,texMargin:new _,texSpacing:new _,texWidth:0,texHeight:0,texCorrection:new _},this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T()}return t.prototype.render=function(t,e,i){var n,r,o,s;if(0===t.culledTiles.reduce((function(t,e){return t+e}),0))throw new Error(\"Nothing to render\");if(this.processTileset(t),this.generateVertices(t),0===this.posVertices.length)throw new Error(\"Nothing to render\");this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.posVertices),this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.texVertices),this.gl.DYNAMIC_DRAW),this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.renderPosition.x,t.renderPosition.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.tilemap.tileWidth*(t.flipHorizontal?-1:1),t.tilemap.tileHeight*(t.flipVertical?-1:1),1]),this.textureMatrix=D(this.textureMatrix),B(this.textureMatrix,this.textureMatrix,[this.tileset.tileWidth/t.tileset.image.naturalWidth,this.tileset.tileHeight/t.tileset.image.naturalHeight,1]),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.enable(this.gl.BLEND);var h=this.textureManager.getOrCreateTextureFromImage(t.tileset.image,t.smooth);if(this.lastTexture===h&&i===a.Tilemap||(this.gl.bindTexture(this.gl.TEXTURE_2D,h),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=h),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var c=L(t.tintColor),l=c.r,u=c.g,p=c.b,d=c.a;this.gl.uniform4f(this.programManager.tintColorUniform,l,u,p,d)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var f=L(t.maskColor);l=f.r,u=f.g,p=f.b,this.gl.uniform4f(this.programManager.maskColorUniform,l,u,p,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s:1)}this.gl.drawArrays(this.gl.TRIANGLES,0,this.posVertices.length/2)},t.prototype.processTileset=function(t){var e,i,n,r,o,s,a,h=t.tileset;h.margin=null!==(e=h.margin)&&void 0!==e?e:new _,h.spacing=null!==(i=h.spacing)&&void 0!==i?i:new _,h.correction=null!==(n=h.correction)&&void 0!==n?n:new _,this.tileset.width=h.width,this.tileset.tileWidth=h.tileWidth+(null!==(r=h.margin.x)&&void 0!==r?r:0)+(null!==(o=h.spacing.x)&&void 0!==o?o:0),this.tileset.tileHeight=h.tileHeight+(null!==(s=h.margin.y)&&void 0!==s?s:0)+(null!==(a=h.spacing.y)&&void 0!==a?a:0),this.tileset.texMargin.set(h.margin.x/this.tileset.tileWidth,h.margin.y/this.tileset.tileHeight),this.tileset.texSpacing.set(h.spacing.x/this.tileset.tileWidth,h.spacing.y/this.tileset.tileHeight),this.tileset.texCorrection.set(h.correction.x/this.tileset.tileWidth,h.correction.y/this.tileset.tileHeight),this.tileset.texWidth=1-this.tileset.texMargin.x-this.tileset.texSpacing.x-2*this.tileset.texCorrection.x,this.tileset.texHeight=1-this.tileset.texMargin.y-this.tileset.texSpacing.y-2*this.tileset.texCorrection.y},t.prototype.generateVertices=function(t){var e=this,i=t.culledTiles,n=t.tilemap;this.posVertices=[],this.texVertices=[];var r=Math.floor(i.length/n.width);i.forEach((function(t,i){if(0!==t){var o=i%n.width-n.width/2,s=r/2-Math.floor(i/n.width);e.posVertices.push(o,s-1,o+1,s-1,o,s,o,s,o+1,s-1,o+1,s);var a=(t-1)%e.tileset.width+e.tileset.texMargin.x+e.tileset.texCorrection.x,h=Math.floor((t-1)/e.tileset.width)+e.tileset.texMargin.y+e.tileset.texCorrection.y;e.texVertices.push(a,h+e.tileset.texHeight,a+e.tileset.texWidth,h+e.tileset.texHeight,a,h,a,h,a+e.tileset.texWidth,h+e.tileset.texHeight,a+e.tileset.texWidth,h)}}))},t}(),Q=function(){function t(t,e,i){this.gl=t,this.programManager=e,this.textureManager=i,this.lastTexture=null,this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T(),this.posVertices=new Float32Array([-.5,-.5,-.5,.5,.5,-.5,.5,-.5,-.5,.5,.5,.5]),this.texVertices=new Float32Array([0,1,0,0,1,1,1,1,0,0,1,0])}return t.prototype.render=function(t,e,i){var n,r,o,s;i!==t.type&&(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.posVertices,this.gl.STATIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.texVertices,this.gl.STATIC_DRAW)),this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.width*(t.flipHorizontal?-1:1),t.height*(t.flipVertical?-1:1),1]),this.textureMatrix=D(this.textureMatrix),t.slice&&(F(this.textureMatrix,this.textureMatrix,[t.slice.x/t.video.videoWidth,t.slice.y/t.video.videoHeight,0]),B(this.textureMatrix,this.textureMatrix,[t.slice.width/t.video.videoWidth,t.slice.height/t.video.videoHeight,1])),V(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.enable(this.gl.BLEND);var a=this.textureManager.getOrCreateTextureFromVideo(t.video);if(this.lastTexture===a&&i===t.type||(this.gl.bindTexture(this.gl.TEXTURE_2D,a),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=a),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t.video),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var h=L(t.tintColor),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.tintColorUniform,c,l,u,p)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var d=L(t.maskColor);c=d.r,l=d.g,u=d.b,this.gl.uniform4f(this.programManager.maskColorUniform,c,l,u,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s:1)}this.gl.drawArrays(this.gl.TRIANGLES,0,6)},t}(),$=function(){function t(t){this.gl=t}return t.prototype.createFromImage=function(t,e,i){var n=this;return void 0===e&&(e=!0),void 0===i&&(i=null),i=null!=i?i:this.gl.createTexture(),t.naturalWidth?this.createFromSource(t,i,e):t.addEventListener(\"load\",(function(){return n.createFromSource(t,i,e)})),i},t.prototype.createFromCanvas=function(t,e,i){return void 0===e&&(e=!0),void 0===i&&(i=null),i=null!=i?i:this.gl.createTexture(),this.createFromSource(t,i,e),i},t.prototype.createPixelTexture=function(){var t=this.gl.createTexture();return this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,1,1,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,new Uint8Array([0,0,0,255])),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.gl.bindTexture(this.gl.TEXTURE_2D,null),t},t.prototype.createFromSource=function(t,e,i){void 0===i&&(i=!0),this.gl.bindTexture(this.gl.TEXTURE_2D,e),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),!1===i?(this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.NEAREST),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.NEAREST)):(this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR)),this.gl.bindTexture(this.gl.TEXTURE_2D,null)},t}(),J=function(){function t(t){this.textureFactory=t,this.textures=new Map}return t.prototype.getOrCreateTextureFromImage=function(t,e){var i;return void 0===e&&(e=!0),null!==(i=this.textures.get(Symbol.for(t.src)))&&void 0!==i?i:this.createTextureFromImage(t,e)},t.prototype.createTextureFromImage=function(t,e){void 0===e&&(e=!0);var i=this.textureFactory.createFromImage(t,e);return this.textures.set(Symbol.for(t.src),i),i},t.prototype.getOrCreateTextureFromCanvas=function(t,e,i){var n;return void 0===i&&(i=!0),null!==(n=this.textures.get(Symbol.for(t)))&&void 0!==n?n:this.createTextureFromCanvas(t,e,i)},t.prototype.createTextureFromCanvas=function(t,e,i){void 0===i&&(i=!0);var n=this.textureFactory.createFromCanvas(e,i);return this.textures.set(Symbol.for(t),n),n},t.prototype.getOrCreateTextureFromVideo=function(t){var e;return null!==(e=this.textures.get(Symbol.for(t.src)))&&void 0!==e?e:this.createTextureFromVideo(t)},t.prototype.createTextureFromVideo=function(t){var e=this.textureFactory.createPixelTexture();return this.textures.set(Symbol.for(t.src),e),e},t}(),Z=function(){function t(t,e,i,n){this.gl=t,this.textureManager=i,this.renderers=n,e.loadProgram()}return t.prototype.render=function(t,e){try{this.renderers.get(t.type).render(t,e,this.lastRender),this.lastRender=t.type}catch(t){return}},t.prototype.clearCanvas=function(t){var e=L(t);this.gl.clearColor(e.r,e.g,e.b,e.a),this.gl.clear(this.gl.COLOR_BUFFER_BIT)},t.prototype.createTexture=function(t,e){void 0===e&&(e=!1),this.textureManager.createTextureFromImage(t,e)},t}(),tt=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}(),et=function(){function t(t,e,i,n){this._position=new tt,this._center=new tt,this._width=0,this._height=0,this.set(t,e,i,n)}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof tt&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)},t}(),it=function(t,e,i){return Math.min(i,Math.max(e,t))};!function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new tt,t?this.radians=t:e&&(this.degrees=e)}Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var nt,rt=function(){function t(){}return t.prototype.create=function(t){var e=t.shape,i=t.layer,n=t.updateCollisions,r=t.physics,o=t.position,s=t.rotation,a=t.group,h=t.onCollision;return{id:0,active:!0,layer:i,shape:e,updateCollisions:n,physics:r,position:null!=o?o:new tt,rotation:null!=s?s:0,group:a,onCollision:h}},t}(),ot=function(){function t(t,e){void 0===e&&(e=0),this.area=new et(0,0,0,0),this.depth=0,this.items=[],this.children=[],this.depth=e,this.resize(t)}return t.prototype.resize=function(t){this.clear(),this.area.copy(t)},t.prototype.clear=function(){this.items=[],this.children.forEach((function(t){return t.clear()})),this.children=[]},t.prototype.insert=function(t,e){0===this.children.length&&this.items.length>16&&this.depth<8&&this.split(),this.children.length>0?this.insertItemIntoChildren(t,e):this.items.push([t,e])},t.prototype.split=function(){var e=this,i=this.area.width/2,n=this.area.height/2;this.children=[new et(this.area.x,this.area.y,i,n),new et(this.area.x,this.area.y+n,i,n),new et(this.area.x+i,this.area.y+n,i,n),new et(this.area.x+i,this.area.y,i,n)].map((function(i){return new t(i,e.depth+1)})),this.items.forEach((function(t){return e.insertItemIntoChildren(t[0],t[1])})),this.items=[]},t.prototype.insertItemIntoChildren=function(t,e){this.getChildrenForArea(e).forEach((function(i){return i.insert(t,e)}))},t.prototype.retrieve=function(t){var e=[];return this.children.length>0?this.getChildrenForArea(t).forEach((function(i){return e.push.apply(e,i.retrieve(t))})):this.items.forEach((function(t){return e.push(t[0])})),e},t.prototype.getChildrenForArea=function(t){var e=[];return t.x<=this.area.center.x&&t.y<=this.area.center.y&&e.push(this.children[0]),t.x<=this.area.center.x&&t.y1>=this.area.center.y&&e.push(this.children[1]),t.x1>=this.area.center.x&&t.y1>=this.area.center.y&&e.push(this.children[2]),t.x1>=this.area.center.x&&t.y<=this.area.center.y&&e.push(this.children[3]),e},t}(),st=function(t,e,i,n){return Math.min((t-e)/i|0,n-1)},at=function(){function t(t){this.coordinates={x0:0,x1:0,y0:0,y1:0},this._subdivisions=1,this.resize(t)}return Object.defineProperty(t.prototype,\"subdivisions\",{get:function(){return this._subdivisions},set:function(t){this._subdivisions=it(t,1,20)},enumerable:!1,configurable:!0}),t.prototype.resize=function(t){this.area=t,this.cellWidth=Math.ceil(t.width/this._subdivisions),this.cellHeight=Math.ceil(t.height/this._subdivisions),this.itemsInCells=[];for(var e=0;e<this._subdivisions;e++){this.itemsInCells[e]=[];for(var i=0;i<this._subdivisions;i++)this.itemsInCells[e][i]=[]}},t.prototype.clear=function(){for(var t=0;t<this._subdivisions;t++)for(var e=0;e<this._subdivisions;e++)this.itemsInCells[t][e]=[]},t.prototype.insert=function(t,e){this.updateCoordinates(e);for(var i=this.coordinates.x0;i<=this.coordinates.x1;i++)for(var n=this.coordinates.y0;n<=this.coordinates.y1;n++)this.itemsInCells[i][n].push(t)},t.prototype.retrieve=function(t){var e=[];this.updateCoordinates(t);for(var i=this.coordinates.x0;i<=this.coordinates.x1;i++)for(var n=this.coordinates.y0;n<=this.coordinates.y1;n++)this.itemsInCells[i][n].forEach((function(t){return e.includes(t)?null:e.push(t)}));return e},t.prototype.updateCoordinates=function(t){this.coordinates.x0=st(t.x,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.x1=st(t.x1,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.y0=st(t.y,this.area.y,this.cellHeight,this._subdivisions),this.coordinates.y1=st(t.y1,this.area.y,this.cellHeight,this._subdivisions)},t}();!function(t){t[t.QuadTree=0]=\"QuadTree\",t[t.SpartialGrid=1]=\"SpartialGrid\"}(nt||(nt={}));var ht,ct=function(){function t(t,e,i,n){this.collisions=[],this.lastCollidersAmount=0,this.minArea=new tt,this.maxArea=new tt,this.newArea=new et(0,0,0,0),this.method=t,this.colliders=[],this.activeColliders=[],this.collisionMatrix=n,this.setupBroadPhaseResolver(null!=e?e:nt.QuadTree,i)}return t.prototype.setupBroadPhaseResolver=function(t,e){this.collisionArea=null!=e?e:new et(0,0,0,0),this.fixedCollisionArea=!!e,t===nt.SpartialGrid?this.broadPhaseResolver=new at(this.collisionArea):this.broadPhaseResolver=new ot(this.collisionArea)},t.prototype.addCollider=function(t){t.id=this.colliders.length,this.colliders.push(t)},t.prototype.getCollider=function(t){return this.colliders[t]},t.prototype.removeCollider=function(t){this.colliders.splice(t.id,1),this.colliders.forEach((function(t,e){return t.id=e}))},t.prototype.clearColliders=function(){this.colliders=[]},t.prototype.getCollisionsForCollider=function(t){return t.active?this.collisions.filter((function(e){return e.localCollider.id===t.id})):[]},t.prototype.getCollisionsForColliderAndLayer=function(t,e){return t.active?this.collisions.filter((function(i){return i.localCollider.id===t.id&&i.remoteCollider.layer===e})):[]},t.prototype.refreshCollisionsForCollider=function(t){this.colliders[t.id]&&t.active&&(this.collisions=this.collisions.filter((function(e){return e.localCollider.id!==t.id&&e.remoteCollider.id!==t.id})),this.updateShape(t),this.narrowPhase(t,this.broadPhase(t)))},t.prototype.resolve=function(){var t=this;this.collisions=[],0!==this.colliders.length&&(this.activeColliders=this.colliders.filter((function(t){return t.active})),this.broadPhaseResolver.clear(),this.activeColliders.forEach((function(e){t.updateShape(e)})),!1===this.fixedCollisionArea&&(this.updateNewArea(),!1===this.newArea.equals(this.collisionArea)&&(this.collisionArea.copy(this.newArea),this.broadPhaseResolver.resize(this.collisionArea))),this.checkForSpartialGridResize(),this.activeColliders.forEach((function(e){var i=e.id,n=e.shape.boundingBox;return t.broadPhaseResolver.insert(i,n)})),this.updateCollisions())},t.prototype.updateShape=function(t){t.shape.position=t.position,t.shape.rotation=t.rotation,t.shape.update()},t.prototype.updateNewArea=function(){var t=this;this.activeColliders.forEach((function(e){var i=e.shape.boundingBox;t.minArea.set(Math.min(i.x,t.minArea.x),Math.min(i.y,t.minArea.y)),t.maxArea.set(Math.max(i.x1,t.maxArea.x),Math.max(i.y1,t.maxArea.y))})),this.newArea.set(this.minArea.x,this.minArea.y,this.maxArea.x-this.minArea.x,this.maxArea.y-this.minArea.y)},t.prototype.checkForSpartialGridResize=function(){this.broadPhaseResolver instanceof at&&this.lastCollidersAmount!==this.activeColliders.length&&(this.broadPhaseResolver.subdivisions=1+(this.activeColliders.length/10|0),this.broadPhaseResolver.resize(this.collisionArea),this.lastCollidersAmount=this.activeColliders.length)},t.prototype.updateCollisions=function(){var t=this;this.activeColliders.filter((function(t){return t.updateCollisions})).forEach((function(e){return t.narrowPhase(e,t.broadPhase(e))}))},t.prototype.broadPhase=function(t){var e=this;return this.collisionMatrix?this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return e.colliders[t]})).filter((function(t){return t.active})).filter((function(i){return e.collisionMatrix.some((function(e){return e[0]===t.layer&&e[1]===i.layer||e[1]===t.layer&&e[0]===i.layer}))})):this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return e.colliders[t]})).filter((function(t){return t.active}))},t.prototype.narrowPhase=function(t,e){var i=this;e.filter((function(e){return!(t.group&&e.group&&e.group===t.group||t.id===e.id)})).forEach((function(e){if(!i.isResolved(t,e)){var n=i.method.getCollisionResolution(t.shape,e.shape);null!==n&&(i.collisions.push({localCollider:t,remoteCollider:e,resolution:n},{localCollider:e,remoteCollider:t,resolution:{direction:n.displacementDirection,displacementDirection:n.direction,penetration:n.penetration}}),t.onCollision&&t.onCollision(n))}}))},t.prototype.isResolved=function(t,e){for(var i=0,n=this.collisions;i<n.length;i++){var r=n[i];if(r.localCollider.id===t.id&&r.remoteCollider.id===e.id)return!0}return!1},t}();!function(t){t[t.Polygon=0]=\"Polygon\",t[t.Circumference=1]=\"Circumference\",t[t.Line=2]=\"Line\"}(ht||(ht={}));var lt,ut=function(){function t(t,e,i){this.AABBResolver=t,this.circumferenceAABBResolver=e,this.circumferenceResolver=i}return t.prototype.getCollisionResolution=function(t,e){return t.type===ht.Polygon&&e.type===ht.Polygon?this.AABBResolver.resolve(t,e):t.type===ht.Circumference&&e.type===ht.Polygon?this.circumferenceAABBResolver.resolve(t,e):t.type===ht.Polygon&&e.type===ht.Circumference?this.circumferenceAABBResolver.resolve(e,t,!0):t.type===ht.Circumference&&e.type===ht.Circumference?this.circumferenceResolver.resolve(t,e):null},t}();!function(t){t[t.AABB=0]=\"AABB\",t[t.SAT=1]=\"SAT\"}(lt||(lt={}));var pt=function(){function t(t,e){this.circumferenceResolver=t,this.satResolver=e}return t.prototype.getCollisionResolution=function(t,e){return t.type===ht.Circumference&&e.type===ht.Circumference?this.circumferenceResolver.resolve(t,e):this.satResolver.resolve(t,e)},t}(),dt=function(){function t(){this.direction=new tt,this.displacementDirection=new tt}return t.prototype.resolve=function(t,e){var i=t.boundingBox,n=e.boundingBox;return this.overlapX=Math.min(i.x1,n.x1)-Math.max(i.x,n.x),this.overlapY=Math.min(i.y1,n.y1)-Math.max(i.y,n.y),this.overlapX<0||this.overlapY<0?null:(this.checkOverlapForLines(i,n),this.direction.set(Math.sign(n.center.x-i.center.x),Math.sign(n.center.y-i.center.y)),this.preventContainment(i,n),this.overlapY<this.overlapX?(this.minOverlap=this.overlapY,this.displacementDirection.set(0,-this.direction.y)):(this.minOverlap=this.overlapX,this.displacementDirection.set(-this.direction.x,this.overlapY===this.overlapX?-this.direction.y:0)),tt.unit(this.displacementDirection,this.displacementDirection),{direction:tt.scale(new tt,this.displacementDirection,-1),displacementDirection:this.displacementDirection.clone(),penetration:this.minOverlap})},t.prototype.checkOverlapForLines=function(t,e){0!==t.width&&0!==e.width||0!==this.overlapX||(this.overlapX=Math.min(Math.abs(t.x-e.x),Math.abs(t.x1-e.x1))),0!==t.height&&0!==e.height||0!==this.overlapY||(this.overlapY=Math.min(Math.abs(t.y-e.y),Math.abs(t.y1-e.y1)))},t.prototype.preventContainment=function(t,e){if(this.overlapY>0&&(t.y1>e.y1&&t.y<e.y||t.y1<e.y1&&t.y>e.y)){var i=Math.abs(t.y-e.y),n=Math.abs(t.y1-e.y1);this.overlapY+=i<n?i:n}this.overlapX>0&&(t.x1>e.x1&&t.x<e.x||t.x1<e.x1&&t.x>e.x)&&(i=Math.abs(t.x-e.x),n=Math.abs(t.x1-e.x1),this.overlapX+=i<n?i:n)},t}(),ft=function(){function t(){this.closestPoint=new tt,this.distance=new tt,this.direction=new tt}return t.prototype.resolve=function(t,e,i){return void 0===i&&(i=!1),this.closestPoint.set(it(t.position.x,e.boundingBox.x,e.boundingBox.x1),it(t.position.y,e.boundingBox.y,e.boundingBox.y1)),tt.subtract(this.distance,this.closestPoint,t.position),this.distance.magnitude>t.radius?null:(tt.unit(this.direction,this.distance),{direction:i?tt.scale(new tt,this.direction,-1):this.direction.clone(),displacementDirection:i?this.direction.clone():tt.scale(new tt,this.direction,-1),penetration:t.radius-this.distance.magnitude})},t}(),gt=function(){function t(){this.distance=new tt,this.direction=new tt}return t.prototype.resolve=function(t,e){return tt.subtract(this.distance,e.position,t.position),this.distance.magnitude>t.radius+e.radius?null:(tt.unit(this.direction,this.distance),{direction:this.direction.clone(),displacementDirection:tt.scale(new tt,this.direction,-1),penetration:t.radius+e.radius-this.distance.magnitude})},t}(),mt=function(t,e){return mt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},mt(t,e)};function yt(t,e,i){if(i||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);return t.concat(n||Array.prototype.slice.call(e))}\"function\"==typeof SuppressedError&&SuppressedError;var vt,xt=function(){function t(){this.projA={min:0,max:0},this.projB={min:0,max:0},this.smallestAxis=new tt,this.distance=new tt(1/0,1/0),this.cache=new tt}return t.prototype.resolve=function(t,e){var i=this;this.minOverlap=1/0,t.type===ht.Circumference?this.setCircumferenceAxis(t,e):e.type===ht.Circumference&&this.setCircumferenceAxis(e,t),this.axes=yt([],t.projectionAxes,!0),e.projectionAxes.forEach((function(t){return i.axes.some((function(e){return e.equals(t)}))?null:i.axes.push(t)}));for(var n=0;n<this.axes.length;n++){if(t.type===ht.Circumference?this.setCircumferenceVertices(t,this.axes[n]):e.type===ht.Circumference&&this.setCircumferenceVertices(e,this.axes[n]),this.projectShapeOntoAxis(this.projA,t,this.axes[n]),this.projectShapeOntoAxis(this.projB,e,this.axes[n]),this.currentOverlap=Math.min(this.projA.max,this.projB.max)-Math.max(this.projA.min,this.projB.min),this.currentOverlap<0)return null;if(this.invertAxis=!0,this.projA.max>this.projB.max&&this.projA.min<this.projB.min||this.projA.max<this.projB.max&&this.projA.min>this.projB.min){var r=Math.abs(this.projA.min-this.projB.min),o=Math.abs(this.projA.max-this.projB.max);r<o?this.currentOverlap+=r:(this.currentOverlap+=o,tt.scale(this.axes[n],this.axes[n],-1),this.invertAxis=!1)}this.currentOverlap<this.minOverlap&&(this.minOverlap=this.currentOverlap,this.smallestAxis.copy(this.axes[n]),this.invertAxis&&this.projA.max<this.projB.max&&tt.scale(this.smallestAxis,this.axes[n],-1))}return{direction:tt.scale(new tt,this.smallestAxis,-1),displacementDirection:this.smallestAxis.clone(),penetration:this.minOverlap}},t.prototype.projectShapeOntoAxis=function(t,e,i){return t.min=1/0,t.max=-1/0,e.vertices.forEach((function(e){t.min=Math.min(tt.dot(i,e),t.min),t.max=Math.max(tt.dot(i,e),t.max)})),t},t.prototype.setCircumferenceAxis=function(t,e){var i=this;this.distance.set(1/0,1/0),e.vertices.forEach((function(e){tt.subtract(i.cache,e,t.position),i.cache.magnitude<i.distance.magnitude&&i.distance.copy(i.cache)})),tt.unit(t.projectionAxes[0],this.distance)},t.prototype.setCircumferenceVertices=function(t,e){tt.add(t.vertices[0],t.position,tt.scale(this.cache,tt.unit(this.cache,e),-t.radius)),tt.add(t.vertices[1],t.position,tt.scale(this.cache,tt.unit(this.cache,e),t.radius))},t}(),bt=function(){function t(t,e,i,n){this.collisionManager=t,this.colliderFactory=e,this.rigidBodyManager=i,this.rigidBodyFactory=n}return t.prototype.addCollider=function(t){var e=this.colliderFactory.create(t);return this.collisionManager.addCollider(e),e},t.prototype.removeCollider=function(t){this.collisionManager.removeCollider(t)},t.prototype.getCollisionsForCollider=function(t){return this.collisionManager.getCollisionsForCollider(t)},t.prototype.getCollisionsForColliderAndLayer=function(t,e){return this.collisionManager.getCollisionsForColliderAndLayer(t,e)},t.prototype.addRigidBody=function(t){var e=this.rigidBodyFactory.create(t);return this.rigidBodyManager.addRigidBody(e),e},t.prototype.removeRigidBody=function(t){this.rigidBodyManager.removeRigidBody(t)},t.prototype.resolve=function(t){this.collisionManager.resolve(),this.rigidBodyManager.resolve(t)},t.prototype.clear=function(){this.collisionManager.clearColliders(),this.rigidBodyManager.clearRigidBodies()},t}(),Mt=function(){function t(){}return t.prototype.create=function(t){var e=t.colliderIds,i=t.type,n=t.gravity,r=t.position,o=t.velocity,s=t.onResolve;if(0===e.length)throw new Error(\"RigidBody needs at least one collider\");return{active:!0,colliderIds:e,type:i,gravity:null!=n?n:0,position:null!=r?r:new tt,velocity:null!=o?o:new tt,onResolve:s}},t}();!function(t){t[t.Static=0]=\"Static\",t[t.Dynamic=1]=\"Dynamic\",t[t.Kinematic=2]=\"Kinematic\"}(vt||(vt={}));var _t=[\"x\",\"y\"],wt=function(){function t(t){this.collisionManager=t,this.rigidBodies=[],this.activeRigidBodies=[],this.colliders=[],this.velocity=new tt,this.displacement=new tt,this.cacheDisplacement=0}return t.prototype.addRigidBody=function(t){this.rigidBodies.push(t)},t.prototype.removeRigidBody=function(t){var e=this.rigidBodies.indexOf(t);e>=0&&this.rigidBodies.splice(e,1)},t.prototype.clearRigidBodies=function(){this.rigidBodies=[]},t.prototype.resolve=function(t){var e=this;this.activeRigidBodies=this.rigidBodies.filter((function(t){return t.active})),this.colliders=this.activeRigidBodies.reduce((function(t,e){return yt(yt([],t,!0),e.colliderIds,!0)}),[]),this.activeRigidBodies.forEach((function(i){i.type===vt.Dynamic?e.dynamicUpdate(i,t):i.type===vt.Kinematic&&e.kinematicUpdate(i,t),i.onResolve&&i.onResolve(i)}))},t.prototype.dynamicUpdate=function(t,e){var i=this;this.applyGravity(t,e),_t.forEach((function(n){i.applyVelocity(t,e,n),i.obtainDisplacement(t,n),i.applyReposition(t,n)}))},t.prototype.kinematicUpdate=function(t,e){var i=this;tt.add(t.position,t.position,tt.scale(this.velocity,t.velocity,e)),t.colliderIds.map((function(t){return i.collisionManager.getCollider(t)})).forEach((function(t){tt.add(t.position,t.position,i.velocity),i.collisionManager.refreshCollisionsForCollider(t)}))},t.prototype.applyGravity=function(t,e){t.gravity>0&&(t.velocity.y-=t.gravity*e)},t.prototype.applyVelocity=function(t,e,i){var n=this;this.velocity[i]=t.velocity[i]*e,0!==this.velocity[i]&&(t.position[i]+=this.velocity[i],t.colliderIds.map((function(t){return n.collisionManager.getCollider(t)})).forEach((function(t){t.position[i]+=n.velocity[i],n.collisionManager.refreshCollisionsForCollider(t)})))},t.prototype.obtainDisplacement=function(t,e){var i=this;this.displacement[e]=0,this.getCollisions(t).forEach((function(t){i.cacheDisplacement=t.resolution.displacementDirection[e]*t.resolution.penetration,i.displacement[e]=Math.abs(i.displacement[e])>Math.abs(i.cacheDisplacement)?i.displacement[e]:i.cacheDisplacement}))},t.prototype.applyReposition=function(t,e){var i=this;0!==this.displacement[e]&&(t.position[e]+=this.displacement[e],t.colliderIds.map((function(t){return i.collisionManager.getCollider(t)})).forEach((function(t){t.position[e]+=i.displacement[e],i.collisionManager.refreshCollisionsForCollider(t)})),Math.sign(this.displacement[e])!==Math.sign(t.velocity[e])&&(t.velocity[e]=0))},t.prototype.getCollisions=function(t){var e=this;return t.colliderIds.map((function(t){return e.collisionManager.getCollider(t)})).filter((function(t){return t.active&&t.physics})).reduce((function(t,i){return t.push.apply(t,e.collisionManager.getCollisionsForCollider(i).filter((function(t){return t.remoteCollider.physics&&e.colliders.includes(t.remoteCollider.id)}))),t}),[])},t}(),Ct=function(){function t(t){this.radius=t,this.type=ht.Circumference,this.boundingBox=new et(0,0,0,0),this.vertices=[new tt,new tt],this.projectionAxes=[new tt],this._position=new tt}return Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),t.prototype.update=function(){this.updateBoundingBox()},t.prototype.updateBoundingBox=function(){this.boundingBox.set(this.position.x-this.radius,this.position.y-this.radius,2*this.radius,2*this.radius)},t}(),jt=function(){function t(t){this.vertexModel=t,this.type=ht.Polygon,this.vertices=[new tt,new tt],this.projectionAxes=[new tt],this.boundingBox=new et(0,0,0,0),this.rotation=0,this._position=new tt}return t.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),t.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},t.prototype.updateBoundingBox=function(){this.boundingBox.x=Math.min(this.vertices[0].x,this.vertices[1].x),this.boundingBox.y=Math.min(this.vertices[0].y,this.vertices[1].y),this.boundingBox.width=Math.max(this.vertices[0].x,this.vertices[1].x)-this.boundingBox.x,this.boundingBox.height=Math.max(this.vertices[0].y,this.vertices[1].y)-this.boundingBox.y},t.prototype.updateProjectionAxes=function(){tt.normal(this.projectionAxes[0],tt.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0]))},t}(),Ot=function(){function t(t){this.vertexModel=t,this.type=ht.Polygon,this.vertices=[],this.boundingBox=new et(0,0,0,0),this.rotation=0,this._projectionAxes=[],this._position=new tt,this.boxMinX=Number.MAX_SAFE_INTEGER,this.boxMinY=Number.MAX_SAFE_INTEGER,this.boxMaxX=-Number.MAX_SAFE_INTEGER,this.boxMaxY=-Number.MAX_SAFE_INTEGER;for(var e=0;e<this.vertexModel.length;e++)this.vertices.push(new tt),this._projectionAxes.push(new tt)}return Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"projectionAxes\",{get:function(){return this._projectionAxes},enumerable:!1,configurable:!0}),t.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},t.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},t.prototype.updateBoundingBox=function(){var t=this;this.boxMinX=this.vertices[0].x,this.boxMinY=this.vertices[0].y,this.boxMaxX=this.vertices[0].x,this.boxMaxY=this.vertices[0].y,this.vertices.forEach((function(e){t.boxMinX=Math.min(e.x,t.boxMinX),t.boxMinY=Math.min(e.y,t.boxMinY),t.boxMaxX=Math.max(e.x,t.boxMaxX),t.boxMaxY=Math.max(e.y,t.boxMaxY)})),this.boundingBox.set(this.boxMinX,this.boxMinY,this.boxMaxX-this.boxMinX,this.boxMaxY-this.boxMinY)},t.prototype.updateProjectionAxes=function(){for(var t,e=0;e<this.vertices.length;e++)tt.normal(this._projectionAxes[e],tt.subtract(this._projectionAxes[e],null!==(t=this.vertices[e+1])&&void 0!==t?t:this.vertices[0],this.vertices[e]))},t}(),Pt=function(t){function e(e,i){var n=t.call(this,[new tt(-e/2,-i/2),new tt(-e/2,i/2),new tt(e/2,i/2),new tt(e/2,-i/2)])||this;return n.width=e,n.height=i,n._projectionAxes=[new tt,new tt],n}return function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function i(){this.constructor=t}mt(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}(e,t),e.prototype.updateSize=function(t,e){this.width=t,this.height=e,this.vertexModel[0].set(-t/2,-e/2),this.vertexModel[1].set(-t/2,e/2),this.vertexModel[2].set(t/2,e/2),this.vertexModel[3].set(t/2,-e/2)},e.prototype.updateProjectionAxes=function(){tt.unit(this.projectionAxes[0],tt.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0])),tt.normal(this.projectionAxes[1],this.projectionAxes[0])},e}(Ot),Rt=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}();!function(){function t(t,e,i,n){this._position=new Rt,this._center=new Rt,this._width=0,this._height=0,this.set(t,e,i,n)}Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof Rt&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)}}(),function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new Rt,t?this.radians=t:e&&(this.degrees=e)}Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var At,St=function(){function t(){var t=this;this.gamepads=new Map,this.eventHandler=function(e){\"gamepadconnected\"===e.type?t.gamepadConnected(e.gamepad):\"gamepaddisconnected\"===e.type&&t.gamepadDisconected(e.gamepad)},window.addEventListener(\"gamepadconnected\",this.eventHandler),window.addEventListener(\"gamepaddisconnected\",this.eventHandler)}return t.prototype.getGamepad=function(t){var e;return null!==(e=this.gamepads.get(t))&&void 0!==e?e:null},t.prototype.getGamepads=function(){return Array.from(this.gamepads.values())},t.prototype.gamepadConnected=function(t){this.gamepads.set(t.index,new Et),this.gamepads.get(t.index).updateFromGamepad(t)},t.prototype.gamepadDisconected=function(t){this.gamepads.delete(t.index)},t.prototype.update=function(){for(var t=0,e=this.getGamepadsFromBrowser();t<e.length;t++){var i=e[t];null!==i&&(!1===this.gamepads.has(i.index)?this.gamepadConnected(i):this.gamepads.get(i.index).updateFromGamepad(i))}},t.prototype.getGamepadsFromBrowser=function(){return navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[]},t}(),Et=function(){function t(){this.buttons=new Map,this.axes=new Map,this._dpadAxes=new Rt,this._leftStickAxes=new Rt,this._rightStickAxes=new Rt,this._vibrating=!1}return t.prototype.updateFromGamepad=function(t){var e=this;this._gamepad=t,t.buttons.forEach((function(t,i){return e.buttons.set(i,t.pressed)})),t.axes.forEach((function(t,i){return e.axes.set(i,t)}))},Object.defineProperty(t.prototype,\"id\",{get:function(){return this._gamepad.id},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"connected\",{get:function(){return this._gamepad.connected},enumerable:!1,configurable:!0}),t.prototype.getButtonPressed=function(t){return this.buttons.get(t)},t.prototype.getAxis=function(t){return this.axes.get(t)},Object.defineProperty(t.prototype,\"dpadAxes\",{get:function(){return this._dpadAxes.set(this.dpadRight?1:this.dpadLeft?-1:0,this.dpadUp?1:this.dpadDown?-1:0),this._dpadAxes},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickAxes\",{get:function(){return this._leftStickAxes.set(this.leftStickHorizontal,this.leftStickVertical),this._leftStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickAxes\",{get:function(){return this._rightStickAxes.set(this.rightStickHorizontal,this.rightStickVertical),this._rightStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadUp\",{get:function(){var t;return null!==(t=this.buttons.get(12))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadDown\",{get:function(){var t;return null!==(t=this.buttons.get(13))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadLeft\",{get:function(){var t;return null!==(t=this.buttons.get(14))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadRight\",{get:function(){var t;return null!==(t=this.buttons.get(15))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"bottomFace\",{get:function(){var t;return null!==(t=this.buttons.get(0))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightFace\",{get:function(){var t;return null!==(t=this.buttons.get(1))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftFace\",{get:function(){var t;return null!==(t=this.buttons.get(2))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"topFace\",{get:function(){var t;return null!==(t=this.buttons.get(3))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(4))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(5))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(6))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(7))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"back\",{get:function(){var t;return null!==(t=this.buttons.get(8))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"start\",{get:function(){var t;return null!==(t=this.buttons.get(9))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(10))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(11))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(0))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(1))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(2))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(3))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"anyButtonPressed\",{get:function(){var t;return null!==(t=Array.from(this.buttons.values()).find((function(t){return t})))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"vibrating\",{get:function(){return this._vibrating},enumerable:!1,configurable:!0}),t.prototype.vibrate=function(t,e,i,n){var r=this;void 0===t&&(t=200),void 0===e&&(e=.2),void 0===i&&(i=.2),void 0===n&&(n=0),this._gamepad.vibrationActuator&&(this._vibrating=!0,this._gamepad.vibrationActuator.playEffect(this._gamepad.vibrationActuator.type,{duration:t,weakMagnitude:e,strongMagnitude:i,startDelay:n}).catch((function(){return r._vibrating=!1})).finally((function(){return r._vibrating=!1})))},t}(),Tt=function(){function t(t,e,i,n){this.mouse=t,this.keyboard=e,this.gamepad=i,this.touch=n}return t.prototype.update=function(){this.mouse.update(),this.gamepad.update()},t}(),Dt=function(){function t(t){var e=this;this.pressedKeys=[],this.keyMap=new Map,this.eventHandler=function(t){if(\"keydown\"===t.type&&(e.keyMap.set(t.code,!0),e.pressedKeys.includes(t.code)||e.pressedKeys.push(t.code)),\"keyup\"===t.type){e.keyMap.set(t.code,!1);var i=e.pressedKeys.indexOf(t.code);-1!==i&&e.pressedKeys.splice(i,1)}},t.addEventListener(\"keydown\",this.eventHandler),t.addEventListener(\"keyup\",this.eventHandler)}return t.prototype.isPressed=function(t){var e;return null!==(e=this.keyMap.get(t))&&void 0!==e&&e},t.prototype.orPressed=function(t){var e=this;return t.reduce((function(t,i){var n;return t||null!==(n=e.keyMap.get(i))&&void 0!==n&&n}),!1)},t.prototype.andPressed=function(t){var e=this;return t.reduce((function(t,i){var n;return t&&null!==(n=e.keyMap.get(i))&&void 0!==n&&n}),!0)},t.prototype.isPressedReturn=function(t,e,i){return this.keyMap.get(t)?e:i},t.prototype.orPressedReturn=function(t,e,i){var n=this;return t.reduce((function(t,e){var i;return t||null!==(i=n.keyMap.get(e))&&void 0!==i&&i}),!1)?e:i},t.prototype.andPressedReturn=function(t,e,i){var n=this;return t.reduce((function(t,e){var i;return t&&null!==(i=n.keyMap.get(e))&&void 0!==i&&i}),!0)?e:i},t}(),Ft=function(){function t(t){this._leftButtonPressed=!1,this._scrollButtonPressed=!1,this._rightButtonPressed=!1,this._positionInViewport=new Rt,this._hasMoved=!1,this._wheelScroll=new Rt,this.lastPositionInViewport=new Rt,this.canvas=t,this.setup()}return Object.defineProperty(t.prototype,\"leftButtonPressed\",{get:function(){return this._leftButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"scrollButtonPressed\",{get:function(){return this._scrollButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightButtonPressed\",{get:function(){return this._rightButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"positionInViewport\",{get:function(){return this._positionInViewport},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"hasMoved\",{get:function(){return this._hasMoved},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"wheelScroll\",{get:function(){return this._wheelScroll},enumerable:!1,configurable:!0}),t.prototype.update=function(){!1===this._positionInViewport.equals(this.lastPositionInViewport)?(this._hasMoved=!0,this.lastPositionInViewport.copy(this._positionInViewport)):this._hasMoved=!1,this.wheelEvent?(this._wheelScroll.set(this.wheelEvent.deltaX,this.wheelEvent.deltaY),this.wheelEvent=void 0):this._wheelScroll.set(0,0)},t.prototype.setup=function(){var t=this;this.canvas.addEventListener(\"mousemove\",(function(e){return t.updatePosition(e)})),this.canvas.addEventListener(\"mousedown\",(function(e){return t.updateButtonDown(e)})),this.canvas.addEventListener(\"mouseup\",(function(e){return t.updateButtonUp(e)})),this.canvas.addEventListener(\"wheel\",(function(e){return t.handleWheelEvent(e)}))},t.prototype.updateButtonDown=function(t){this.canvas.focus(),t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0===t.button,this._scrollButtonPressed=1===t.button,this._rightButtonPressed=2===t.button},t.prototype.updateButtonUp=function(t){t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0!==t.button&&this._leftButtonPressed,this._scrollButtonPressed=1!==t.button&&this._scrollButtonPressed,this._rightButtonPressed=2!==t.button&&this._rightButtonPressed},t.prototype.updatePosition=function(t){t.preventDefault(),t.stopPropagation(),this._positionInViewport.set(t.offsetX/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-t.offsetY/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2)},t.prototype.handleWheelEvent=function(t){t.preventDefault(),t.stopPropagation(),this.wheelEvent=t},t}(),Bt=function(){function t(t){var e=this;this._touching=!1,this._interactions=[],this.eventHandler=function(t){\"touchstart\"===t.type&&(e._touching=!0,e.updatePosition(t)),\"touchmove\"===t.type&&e.updatePosition(t),\"touchend\"!==t.type&&\"touchcancel\"!==t.type||(e._touching=!1)},this.canvas=t,this.canvas.addEventListener(\"touchstart\",this.eventHandler),this.canvas.addEventListener(\"touchend\",this.eventHandler),this.canvas.addEventListener(\"touchcancel\",this.eventHandler),this.canvas.addEventListener(\"touchmove\",this.eventHandler)}return Object.defineProperty(t.prototype,\"touching\",{get:function(){return this._touching},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"interactions\",{get:function(){return this._interactions},enumerable:!1,configurable:!0}),t.prototype.updatePosition=function(t){if(t.preventDefault(),t.stopPropagation(),this._interactions=[],0!==t.targetTouches.length)for(var e=0;e<t.targetTouches.length;e++)this._interactions[e]={positionInViewport:new Rt((t.targetTouches[e].clientX-this.canvas.offsetLeft)/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-(t.targetTouches[e].clientY-this.canvas.offsetTop)/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2),radius:new Rt(t.targetTouches[e].radiusX,t.targetTouches[e].radiusY)}},t}();!function(t){t.Image=\"Image\",t.Audio=\"Audio\",t.Font=\"Font\",t.Video=\"Video\"}(At||(At={}));var Ut,It=function(){function t(t){this.renderManager=t,this.assets=[]}return t.prototype.getAssetsLoaded=function(){return this.assets.reduce((function(t,e){return t&&e.loaded}),!0)},t.prototype.loadImage=function(t,e){var i=this;void 0===e&&(e=!1);var n=new Image;n.crossOrigin=\"\",n.src=t;var r=this.createAsset(t,At.Image,n),o=function(){e&&i.renderManager.preloadTexture(n),r.loaded=!0};return n.naturalWidth?o():n.addEventListener(\"load\",o),n},t.prototype.loadAudio=function(t){var e=new Audio;e.src=t;var i=this.createAsset(t,At.Audio,e);return e.duration?i.loaded=!0:e.addEventListener(\"canplaythrough\",(function(){return i.loaded=!0})),e},t.prototype.loadFont=function(t,e){var i=new FontFace(t,\"url(\".concat(e,\")\")),n=this.createAsset(e,At.Font,i);return n.family=t,i.load().then((function(t){document.fonts.add(t),n.loaded=!0})),i},t.prototype.loadVideo=function(t){var e=document.createElement(\"video\");e.playsInline=!0,e.src=t;var i=this.createAsset(t,At.Video,e);return e.duration?i.loaded=!0:e.addEventListener(\"canplaythrough\",(function(){return i.loaded=!0})),e},t.prototype.getImage=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===At.Image&&e.url===t})))||void 0===e?void 0:e.element},t.prototype.getAudio=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===At.Audio&&e.url===t})))||void 0===e?void 0:e.element},t.prototype.getFont=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===At.Font&&e.family===t})))||void 0===e?void 0:e.element},t.prototype.getVideo=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===At.Video&&e.url===t})))||void 0===e?void 0:e.element},t.prototype.createAsset=function(t,e,i){var n={type:e,url:t,element:i,loaded:!1};return this.assets.push(n),n},t}(),Lt=function(t){function i(e){var i=t.call(this,e)||this;return i.name=\"AngryPixelException\",i}return e(i,t),i}(Error),Vt=function(){function t(t,e,i){if(this._canvas=null,!t)throw new Lt(\"containerNode cannot be empty or null.\");this.containerNode=t,this.gameWidth=e,this.gameHeight=i,this.setupCanvas()}return Object.defineProperty(t.prototype,\"canvas\",{get:function(){return this._canvas},enumerable:!1,configurable:!0}),t.prototype.setupCanvas=function(){this._canvas=document.createElement(\"canvas\"),this._canvas.id=\"angryPixelGameCanvas\",this._canvas.width=Math.floor(this.gameWidth),this._canvas.height=Math.floor(this.gameHeight),this.canvas.tabIndex=0,this._canvas.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this.containerNode.appendChild(this._canvas),this.canvas.focus()},t}(),kt=function(){function t(t){this.container=t,this.gameObjects=[],this.lastId=0}return t.prototype.addGameObject=function(t,e,n,r){var o=new t(this.container,++this.lastId,r,n);return this.gameObjects.push(o),o.dispatch(i.Init,e),o},t.prototype.findGameObjects=function(t){return t?this.gameObjects.filter((function(e){return e instanceof t})):r([],this.gameObjects,!0)},t.prototype.findGameObjectById=function(t){return this.gameObjects.find((function(e){return e.id===t}))},t.prototype.findGameObject=function(t){return\"string\"==typeof t?this.gameObjects.find((function(e){return e.name===t})):this.gameObjects.find((function(e){return e instanceof t}))},t.prototype.findGameObjectsByParent=function(t){return this.gameObjects.filter((function(e){return e.parent===t}))},t.prototype.findGameObjectByParent=function(t,e){return\"string\"==typeof e?this.gameObjects.find((function(i){return i.name===e&&i.parent===t})):this.gameObjects.find((function(i){return i instanceof e&&i.parent===t}))},t.prototype.findGameObjectsByTag=function(t){return this.gameObjects.filter((function(e){return e.tag===t}))},t.prototype.destroyAllGameObjects=function(t){var e=this;void 0===t&&(t=!1),this.gameObjects.filter((function(e){return t||!e.keep})).forEach((function(t){return e.destroy(t,!1)}))},t.prototype.destroyGameObject=function(t){this.destroy(t,!0)},t.prototype.destroy=function(t,e){var n=this.gameObjects.indexOf(t);if(-1!==n){var r=this.gameObjects.splice(n,1)[0];e&&this.destroyChildren(r),r.dispatch(i.Destroy)}},t.prototype.destroyChildren=function(t){var e=this;this.findGameObjectsByParent(t).forEach((function(t){return e.destroyGameObject(t)}))},t}(),Gt=function(){function t(t,e,n,r){this.timeManager=t,this.physicsManager=e,this.gameObjectManager=n,this.sceneManager=r,this.running=!1,this.gameObjects=[],this.components=[],this.changingScene=!1,this.sceneEvents=[i.Start,i.Update,i.StopGame],this.gameObjectEvents=[i.Start,i.Update]}return t.prototype.start=function(){this.startLoop(!0)},t.prototype.pause=function(){this.running=!1},t.prototype.resume=function(){this.startLoop(!1)},t.prototype.stop=function(){this.running=!1,this.dispatchFrameEvent(i.StopGame),this.physicsManager.clear()},t.prototype.startLoop=function(t){this.running||(this.running=!0,t&&this.sceneManager.loadOpeningScene(),this.asyncGameLoop(),this.timeManager.gameFramerate!==this.timeManager.physicsFramerate&&this.asyncPhysicsLoop())},t.prototype.gameLogicIteration=function(t){this.timeManager.updateForGame(t),this.sceneManager.pendingSceneToload()&&(this.sceneManager.loadPendingScene(),this.changingScene=!1),this.load(),this.dispatchFrameEvent(i.Start),this.dispatchFrameEvent(i.Update),this.dispatchFrameEvent(i.UpdateEngine),this.dispatchFrameEvent(i.UpdateTransform),this.timeManager.gameFramerate===this.timeManager.physicsFramerate&&(this.timeManager.updateForPhysics(t),this.physicsIteration()),this.sceneManager.pendingSceneToload()&&(this.changingScene=!0,this.sceneManager.unloadCurrentScene())},t.prototype.physicsIteration=function(){this.timeManager.timeScale<=0||this.changingScene||(this.dispatchFrameEvent(i.UpdatePhysics),this.dispatchFrameEvent(i.UpdateCollider),this.dispatchFrameEvent(i.UpdateTransform),this.physicsManager.resolve(this.timeManager.physicsDeltaTime))},t.prototype.asyncGameLoop=function(){var t=this;this.gameInterval=setInterval((function(){if(!t.running)return clearInterval(t.gameInterval);t.gameLogicIteration(process.uptime())}),1e3/this.timeManager.gameFramerate)},t.prototype.asyncPhysicsLoop=function(){var t=this;this.physicsInterval=setInterval((function(){if(!t.running)return clearInterval(t.physicsInterval);t.timeManager.updateForPhysics(process.uptime()),t.physicsIteration()}),1e3/this.timeManager.physicsFramerate)},t.prototype.load=function(){var t=this;this.loadedScene=this.sceneManager.getLoadedScene(),this.gameObjects=this.gameObjectManager.findGameObjects().filter((function(t){return t.active})),this.components=[],this.gameObjects.forEach((function(e){return e.getComponents().filter((function(t){return t.active})).forEach((function(e){return t.components.push(e)}))}))},t.prototype.dispatchFrameEvent=function(t){this.sceneEvents.includes(t)&&this.loadedScene.dispatch(t),this.gameObjectEvents.includes(t)&&this.gameObjects.forEach((function(e){e.active&&e.dispatch(t)})),this.components.forEach((function(e){e.active&&e.dispatch(t)}))},t}(),Wt=function(){function t(t,e){this.container=t,this.renderManager=e,this.scenes=new Map,this.sceneNamePendingToLoad=null}return t.prototype.addScene=function(t,e,n,r){var o=this;if(void 0===r&&(r=!1),this.scenes.has(e))throw new Lt(\"There is already a scene with the name '\".concat(e,\"'\"));this.scenes.set(e,(function(){var r=new t(o.container,e,o.container.getConstant(\"Game\"));return o.currentScene=r,r.dispatch(i.Init,n),r})),!r&&this.openingSceneName||(this.openingSceneName=e)},t.prototype.loadScene=function(t){if(!1===this.scenes.has(t))throw new Lt(\"Scene with name \".concat(t,\" does not exists\"));this.sceneNamePendingToLoad=t},t.prototype.getLoadedScene=function(){return this.currentScene},t.prototype.loadOpeningScene=function(){if(null===this.openingSceneName)throw new Lt(\"There is no opening scene\");this.scenes.get(this.openingSceneName)()},t.prototype.pendingSceneToload=function(){return null!==this.sceneNamePendingToLoad},t.prototype.loadPendingScene=function(){this.sceneNamePendingToLoad&&(this.scenes.get(this.sceneNamePendingToLoad)(),this.sceneNamePendingToLoad=null)},t.prototype.unloadCurrentScene=function(){this.currentScene&&(this.currentScene.dispatch(i.Destroy),this.currentScene=void 0)},t}(),Ht=[60,120,180,240],zt=function(){function t(t){if(this.minGameDeltatime=0,this.minPhysicsDeltaTime=0,this.gameFramerate=60,this.physicsFramerate=180,this.timeScale=1,this.browserDeltaTime=0,this.unscaledDeltaTime=0,this.unscaledPhysicsDeltaTime=0,this.maxDeltaTime=1/30,this.thenForGame=0,this.thenForPhysics=0,this.thenForBrowser=0,!Ht.includes(t))throw new Lt(\"Invalid Physics frame rate. Allowed: [\".concat(Ht.join(\", \"),\"]\"));this.physicsFramerate=t,this.minGameDeltatime=parseFloat((1/this.gameFramerate).toFixed(6)),this.minPhysicsDeltaTime=parseFloat((1/this.physicsFramerate).toFixed(6))}return Object.defineProperty(t.prototype,\"deltaTime\",{get:function(){return this.unscaledDeltaTime*this.timeScale},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"physicsDeltaTime\",{get:function(){return this.unscaledPhysicsDeltaTime*this.timeScale},enumerable:!1,configurable:!0}),t.prototype.updateForGame=function(t){this.unscaledDeltaTime=Math.min(Math.max(this.minGameDeltatime,t-this.thenForGame),this.maxDeltaTime),this.thenForGame=t},t.prototype.updateForBrowser=function(t){this.browserDeltaTime=Math.min(Math.max(0,t-this.thenForBrowser),this.maxDeltaTime),this.thenForBrowser=t},t.prototype.updateForPhysics=function(t){this.unscaledPhysicsDeltaTime=Math.min(Math.max(0,t-this.thenForPhysics),this.maxDeltaTime),this.thenForPhysics=t},t}(),Nt=function(t,e){if(t.addConstant(\"GameConfig\",e),t.add(\"TimeManager\",(function(){return new zt(e.physicsFramerate)})),t.add(\"GameObjectManager\",(function(){return new kt(t)})),t.add(\"PhysicsManager\",(function(){return function(t){var e=void 0===t?{}:t,i=e.collisionArea,n=e.collisionMatrix,r=e.collisionMethod,o=e.collisionBroadPhaseMethod,s=new gt,a=r===lt.AABB?new ut(new dt,new ft,s):new pt(s,new xt),h=new ct(a,o,i,n),c=new rt,l=new wt(h),u=new Mt;return new bt(h,c,l,u)}(e.collisions)})),e.headless)t.add(\"IterationManager\",(function(){return new Gt(t.getSingleton(\"TimeManager\"),t.getSingleton(\"PhysicsManager\"),t.getSingleton(\"GameObjectManager\"),t.getSingleton(\"SceneManager\"))}));else{t.add(\"DomManager\",(function(){return new Vt(e.containerNode,e.gameWidth,e.gameHeight)}));var i=t.getSingleton(\"DomManager\").canvas;t.add(\"RenderManager\",(function(){return function(t){var e=new j(t),i=e.gl,n=e.contextVersion,r=new A(i,n,new R(i,new S(i))),o=new J(new $(i)),s=new Z(i,r,o,new Map([[a.Sprite,new H(i,r,o)],[a.Text,new q(i,r,o,new O)],[a.Tilemap,new K(i,r,o)],[a.Geometric,new k(i,r)],[a.Mask,new W(i,r)],[a.Video,new Q(i,r,o)]]));return new C(s,new v(i))}(i)})),t.add(\"InputManager\",(function(){return function(t){return new Tt(new Ft(t),new Dt(t),new St,new Bt(t))}(i)})),t.add(\"AssetManager\",(function(){return new It(t.getSingleton(\"RenderManager\"))})),t.add(\"IterationManager\",(function(){return new h(t.getSingleton(\"TimeManager\"),t.getSingleton(\"PhysicsManager\"),t.getSingleton(\"RenderManager\"),t.getSingleton(\"InputManager\"),t.getSingleton(\"GameObjectManager\"),t.getSingleton(\"SceneManager\"),e.canvasColor)}))}t.add(\"SceneManager\",(function(){return new Wt(t,e.headless?void 0:t.getSingleton(\"RenderManager\"))}))},Yt=function(){function t(){this.instances=new Map,this.constructors=new Map,this.constants=new Map}return t.prototype.add=function(t,e){if(this.constructors.has(t))throw new Lt(\"There is already an object constructor with the name \".concat(t));this.constructors.set(t,e)},t.prototype.getSingleton=function(t){if(!1===this.constructors.has(t))throw new Lt(\"Invalid object constructor name: \".concat(t));return!1===this.instances.has(t)&&this.instances.set(t,this.constructors.get(t)()),this.instances.get(t)},t.prototype.getTranscient=function(t){if(!1===this.constructors.has(t))throw new Lt(\"Invalid object constructor name: \".concat(t));return this.constructors.get(t)()},t.prototype.addConstant=function(t,e){if(this.constants.has(t))throw new Lt(\"There is already a constant value with the name \".concat(t));this.constants.set(t,e)},t.prototype.getConstant=function(t){if(!1===this.constants.has(t))throw new Lt(\"Invalid constant name: \".concat(t));return this.constants.get(t)},t}(),Xt=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}(),qt=function(){function t(t,e,i,n){this._position=new Xt,this._center=new Xt,this._width=0,this._height=0,this.set(t,e,i,n)}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof Xt&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)},t}(),Kt=function(t,e,i){return t>=e&&t<=i},Qt=function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new Xt,t?this.radians=t:e&&(this.degrees=e)}return Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))},t}(),$t={containerNode:void 0,gameWidth:320,gameHeight:180,debugEnabled:!1,canvasColor:\"#000000\",physicsFramerate:180,headless:!1,spriteDefaultScale:new Xt(1,1),collisions:{collisionMethod:lt.SAT,collisionBroadPhaseMethod:nt.SpartialGrid}},Jt=function(){function t(t){this._config=n(n({},$t),t),this._config.collisions=n(n({},$t.collisions),t.collisions),this.container=new Yt,this.container.addConstant(\"Game\",this),this.setupManagers()}return t.prototype.setupManagers=function(){Nt(this.container,this._config),this.sceneManager=this.container.getSingleton(\"SceneManager\"),this.iterationManager=this.container.getSingleton(\"IterationManager\")},Object.defineProperty(t.prototype,\"config\",{get:function(){return this._config},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"running\",{get:function(){return this.iterationManager.running},enumerable:!1,configurable:!0}),t.prototype.addScene=function(t,e,i,n){this.sceneManager.addScene(t,e,\"object\"==typeof i?i:void 0,\"boolean\"==typeof i?i:null!=n&&n)},t.prototype.run=function(){this.iterationManager.start()},t.prototype.stop=function(){this.iterationManager.stop()},t.prototype.pause=function(){this.iterationManager.pause()},t.prototype.resume=function(){this.iterationManager.resume()},t}(),Zt=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.parentScale=!0,e.parentRotation=!0,e._position=new Xt,e._scale=new Xt(1,1),e._rotation=new Qt,e._innerPosition=new Xt,e._parent=null,e.cache=new Xt,e.lastParentRadians=0,e.lastPosition=new Xt,e.scaledInnerPosition=new Xt,e}return e(i,t),Object.defineProperty(i.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"scale\",{get:function(){return this._scale},set:function(t){this._scale.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"rotation\",{get:function(){return this._rotation},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"direction\",{get:function(){return this._rotation.direction},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"innerPosition\",{get:function(){return this._innerPosition},set:function(t){this._innerPosition.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"parent\",{get:function(){return this._parent},set:function(t){this._parent=t,null!==this._parent&&Xt.subtract(this._innerPosition,this._position,this._parent.position)},enumerable:!1,configurable:!0}),i.prototype.update=function(){null!==this._parent&&this.setPositionFromParent(),this.lastPosition.copy(this._position)},i.prototype.setPositionFromParent=function(){this._innerPosition.magnitude>0?(0!==this._parent.rotation.radians&&this.lastParentRadians!==this._parent.rotation.radians&&(this.translateInnerPosition(),this.lastParentRadians=this._parent.rotation.radians),this.parentScale?(this.updateScaledInnerPosition(),Xt.add(this._position,this._parent.position,this.scaledInnerPosition)):Xt.add(this._position,this._parent.position,this._innerPosition)):this._position.copy(this._parent.position),this._rotation.radians=this.parentRotation?this._parent.rotation.radians+this._rotation.radians:this._rotation.radians,this.parentScale&&this._scale.copy(this.parent._scale)},i.prototype.translateInnerPosition=function(){var t=Math.atan2(this._innerPosition.y,this._innerPosition.x)+(this._parent.rotation.radians-this.lastParentRadians);this.cache.set(Math.cos(t),Math.sin(t)),Xt.scale(this._innerPosition,this.cache,this._innerPosition.magnitude)},i.prototype.updateScaledInnerPosition=function(){this.scaledInnerPosition.set(this._innerPosition.x*this._parent.scale.x,this._innerPosition.y*this._parent.scale.y)},i}(f),te=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderer=null,e.colliders=[],e.physics=!0,e.activateColliders=!1,e}return e(i,t),i.prototype.update=function(){this.activateColliders&&(this.colliders.forEach((function(t){return t.active=!0})),this.activateColliders=!1),this.updateRealSize(),this.updatePosition(),this.updateColliders()},i.prototype.collidesWithLayer=function(t){for(var e=0,i=this.colliders;e<i.length;e++){var n=i[e];if(this.physicsManager.getCollisionsForColliderAndLayer(n,t).length>0)return!0}return!1},i.prototype.collidesWithLayers=function(t,e){void 0===e&&(e=\"or\");for(var i=0,n=0,r=this.colliders;n<r.length;n++)for(var o=r[n],s=0,a=this.physicsManager.getCollisionsForCollider(o);s<a.length;s++){var h=a[s];if(t.includes(h.remoteCollider.layer)){if(\"or\"===e)return!0;i++}}return\"and\"===e&&i===t.length},i.prototype.getCollisionWithLayer=function(t){for(var e=0,i=this.colliders;e<i.length;e++){var n=i[e],r=this.physicsManager.getCollisionsForColliderAndLayer(n,t);if(r.length>0)return this.createCollisionData(r[0])}return null},i.prototype.getCollisionsWithLayer=function(t){for(var e=this,i=[],n=0,r=this.colliders;n<r.length;n++){var o=r[n];this.physicsManager.getCollisionsForColliderAndLayer(o,t).forEach((function(t){return i.push(e.createCollisionData(t))}))}return i},i.prototype.getCollisionsWithLayers=function(t){for(var e=[],i=0,n=this.colliders;i<n.length;i++)for(var r=n[i],o=0,s=this.physicsManager.getCollisionsForCollider(r);o<s.length;o++){var a=s[o];t.includes(a.remoteCollider.layer)&&e.push(this.createCollisionData(a))}return e},i.prototype.createCollisionData=function(t){return{gameObject:this.gameObjectManager.findGameObjectById(Number(t.remoteCollider.group)),collider:t.remoteCollider,resolution:t.resolution,getGameObject:function(){return this.gameObject},localCollider:t.localCollider}},i.prototype.onActiveChange=function(){var t=this;this.renderer&&(this.renderer.active=this.active),this.active?this.activateColliders=!0:this.colliders.forEach((function(e){return e.active=t.active}))},i.prototype.onDestroy=function(){var t=this;this.colliders.forEach((function(e){return t.physicsManager.removeCollider(e)}))},i}(p),ee=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e}return e(i,t),Object.defineProperty(i.prototype,\"velocity\",{get:function(){return this.rigidBody.velocity},set:function(t){this.rigidBody.velocity.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"gravity\",{get:function(){return this.rigidBody.gravity},set:function(t){this.rigidBody.gravity=Math.abs(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"rigidBodyType\",{get:function(){return this.rigidBody.type},enumerable:!1,configurable:!0}),i.prototype.init=function(t){var e,i=t.rigidBodyType,n=t.gravity;if(0===this.getColliderIds().length)throw new Lt(\"RigidBody needs at least one Collider with physics\");this.rigidBody=this.physicsManager.addRigidBody({type:i,colliderIds:this.getColliderIds(),gravity:null!==(e=Math.abs(n))&&void 0!==e?e:0,velocity:new Xt,position:new Xt})},i.prototype.update=function(){if(0===this.getColliderIds().length)throw new Lt(\"RigidBody needs at least one Collider with physics\");this.rigidBody.colliderIds=this.getColliderIds(),this.rigidBody.position=this.gameObject.transform.parent?this.gameObject.transform.innerPosition:this.gameObject.transform.position},i.prototype.getColliderIds=function(){return this.gameObject.getComponents().filter((function(t){return t instanceof te&&t.physics})).reduce((function(t,e){return r(r([],t,!0),e.colliders.map((function(t){return t.id})),!0)}),[])},i.prototype.onActiveChange=function(){this.rigidBody.active=this.active},i.prototype.onDestroy=function(){this.physicsManager.removeRigidBody(this.rigidBody)},i}(u),ie=\"Default\",ne=function(t){function n(e,i,n,r){void 0===n&&(n=\"\"),void 0===r&&(r=null);var o=t.call(this,e)||this;return o.layer=\"Default\",o.ui=!1,o.keep=!1,o._parent=null,o._active=!0,o.components=[],o.activeComponentsCache=[],o.activeChildrenCache=[],o.id=i,o.name=n,o.addComponent(Zt),r&&(o.transform.position=r.transform.position,o.parent=r),o}return e(n,t),Object.defineProperty(n.prototype,\"active\",{get:function(){return this._active},set:function(t){this._active!==t&&(this._active=t,this.updateComponentsActiveStatus(),this.updateChildrenActiveStatus(),this.onActiveChange())},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,\"parent\",{get:function(){return this._parent},set:function(t){this._parent=t,this.transform.parent=null!==t?t.transform:null},enumerable:!1,configurable:!0}),n.prototype.updateComponentsActiveStatus=function(){var t=this;!1===this.active&&(this.activeComponentsCache=this.components.filter((function(t){return t.active}))),this.activeComponentsCache.forEach((function(e){return e.active=t.active})),!0===this.active&&(this.activeComponentsCache=[])},n.prototype.updateChildrenActiveStatus=function(){var t=this;!1===this.active&&(this.activeChildrenCache=this.getChildren().filter((function(t){return t.active}))),this.activeChildrenCache.forEach((function(e){return e.active=t.active})),!0===this.active&&(this.activeChildrenCache=[])},Object.defineProperty(n.prototype,\"transform\",{get:function(){return this.getComponent(Zt)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,\"rigidBody\",{get:function(){return this.getComponent(ee)},enumerable:!1,configurable:!0}),n.prototype.onActiveChange=function(){},n.prototype.getCurrentScene=function(){return this.sceneManager.getLoadedScene()},n.prototype.addComponent=function(t,e,n){var r=\"string\"==typeof e?void 0:e,o=\"string\"==typeof e?e:n,s=new t(this.container,this,o);return this.checkMultipleComponent(s,t),this.components.push(s),s.dispatch(i.Init,r),s},n.prototype.checkMultipleComponent=function(t,e){if(!1===t.allowMultiple&&this.hasComponent(e))throw new Lt(\"GameObject only allows one component of type \".concat(e.name))},n.prototype.getComponents=function(t){return t?this.components.filter((function(e){return e instanceof t})):this.components},n.prototype.getComponent=function(t){return\"string\"==typeof t?this.components.find((function(e){return e.name===t})):this.components.find((function(e){return e instanceof t}))},n.prototype.hasComponent=function(t){return\"string\"==typeof t?this.components.some((function(e){return e.name===t})):this.components.some((function(e){return e instanceof t}))},n.prototype.removeComponent=function(t){var e=this.components.indexOf(t);-1!==e&&this.components.splice(e,1)[0].dispatch(i.Destroy)},n.prototype.addChild=function(t,e,i){var n=this.gameObjectManager.addGameObject(t,e,this,i);return n.transform.innerPosition.set(0,0),n.transform.position.copy(this.transform.position),n},n.prototype.getChildren=function(){return this.gameObjectManager.findGameObjectsByParent(this)},n.prototype.getChild=function(t){return this.gameObjectManager.findGameObjectByParent(this,t)},n.prototype.destroyChildren=function(){var t=this;this.gameObjectManager.findGameObjectsByParent(this).forEach((function(e){return t.gameObjectManager.destroyGameObject(e)}))},n.prototype._destroy=function(){var t=this;this.destroyComponents(),Object.keys(this).forEach((function(e){return delete t[e]}))},n.prototype.destroyComponents=function(){for(var t=0;t<this.components.length;t++)this.components[t].dispatch(i.Destroy),delete this.components[t];this.components=[]},n.prototype._stopGame=function(){},n}(c),re=[\"Default\"],oe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.viewportRect=new qt(0,0,0,0),e.worldSpaceRect=new qt(0,0,0,0),e.depth=0,e.layers=re,e._zoom=1,e}return e(i,t),Object.defineProperty(i.prototype,\"zoom\",{get:function(){return this._zoom},set:function(t){if(this.zoom<=0)throw new Lt(\"zoom must be greather than 0\");this._zoom=t},enumerable:!1,configurable:!0}),i.prototype.addLayer=function(t){this.layers.push(t)},i.prototype.init=function(){this.canvas=this.domManager.canvas,this.cameraData={position:new Xt,layers:[],depth:1}},i.prototype.update=function(){this.updateViewportRect(),this.updateWorldSpaceRect(),this.updateCameraData()},i.prototype.updateViewportRect=function(){this.viewportRect.x=-this.canvas.width/2,this.viewportRect.y=-this.canvas.height/2,this.viewportRect.width=this.canvas.width,this.viewportRect.height=this.canvas.height},i.prototype.updateWorldSpaceRect=function(){this.worldSpaceRect.x=(this.gameObject.transform.position.x-this.viewportRect.width/2)/this._zoom,this.worldSpaceRect.y=(this.gameObject.transform.position.y-this.viewportRect.height/2)/this._zoom,this.worldSpaceRect.width=this.viewportRect.width/this._zoom,this.worldSpaceRect.height=this.viewportRect.height/this._zoom},i.prototype.updateCameraData=function(){this.cameraData.position.copy(this.gameObject.transform.position),this.cameraData.depth=this.depth,this.cameraData.layers=this.layers,this.cameraData.zoom=this._zoom,this.renderManager.addCameraData(this.cameraData)},i}(m),se=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e(i,t),i.prototype.init=function(){this.transform.position.set(0,0),this.camera=this.addComponent(oe)},Object.defineProperty(i.prototype,\"layers\",{get:function(){return this.camera.layers},set:function(t){this.camera.layers=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"depth\",{get:function(){return this.camera.depth},set:function(t){this.camera.depth=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"zoom\",{get:function(){return this.camera.zoom},set:function(t){this.camera.zoom=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"worldSpaceRect\",{get:function(){return this.camera.worldSpaceRect},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"viewportRect\",{get:function(){return this.camera.viewportRect},enumerable:!1,configurable:!0}),i.prototype.addLayer=function(t){this.camera.layers.push(t)},i}(ne),ae=function(t){function i(e,i,n){var r=t.call(this,e)||this;return r.name=i,r.game=n,r.game.config.headless||r.addGameObject(se),r}return e(i,t),Object.defineProperty(i.prototype,\"gameCamera\",{get:function(){return this.findGameObject(se)},enumerable:!1,configurable:!0}),i.prototype._destroy=function(){var t=this;this.gameObjectManager.destroyAllGameObjects(!1),Object.keys(this).forEach((function(e){return delete t[e]}))},i.prototype._stopGame=function(){var t=this;this.gameObjectManager.destroyAllGameObjects(!0),Object.keys(this).forEach((function(e){return delete t[e]}))},i}(c),he=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.scaledVertexModel=[],e.scaledOffset=new Xt,e.scaledPosition=new Xt,e.finalRotation=0,e.innerPosition=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s;if(this.gameConfig.collisions.collisionMethod!==lt.SAT)throw new Lt(\"Polygon Colliders need SAT collision method.\");if(t.vertexModel.length<3)throw new Lt(\"Polygon Collider needs at least 3 vertices.\");this.debug=(null!==(e=t.debug)&&void 0!==e?e:this.debug)&&this.gameConfig.debugEnabled,this.vertexModel=t.vertexModel,this.offsetX=null!==(i=t.offsetX)&&void 0!==i?i:this.offsetX,this.offsetY=null!==(n=t.offsetY)&&void 0!==n?n:this.offsetY,this.physics=null!==(r=t.physics)&&void 0!==r?r:this.physics,this.rotation=null!==(o=t.rotation)&&void 0!==o?o:new Qt,this.layer=t.layer;for(var a=0;a<this.vertexModel.length;a++)this.scaledVertexModel.push(new Xt);this.colliders.push(this.physicsManager.addCollider({layer:null!==(s=this.layer)&&void 0!==s?s:this.gameObject.layer,position:this.gameObject.transform.position.clone(),rotation:this.rotation.radians,shape:new Ot(this.scaledVertexModel),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(ce,{collider:this.colliders[0]}))},i.prototype.updateRealSize=function(){var t=this;this.vertexModel.forEach((function(e,i){return t.scaledVertexModel[i].set(e.x*t.gameObject.transform.scale.x,e.y*t.gameObject.transform.scale.y)})),this.scaledOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.scaledOffset.y=this.offsetY*this.gameObject.transform.scale.y,this.finalRotation=this.gameObject.transform.rotation.radians+this.rotation.radians},i.prototype.updatePosition=function(){Xt.add(this.scaledPosition,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Xt.subtract(this.innerPosition,this.scaledPosition,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.scaledPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.updateColliders=function(){var t;this.colliders[0].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[0].position.copy(this.scaledPosition),this.colliders[0].rotation=this.finalRotation,this.colliders[0].shape.vertexModel=this.scaledVertexModel},i}(te),ce=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e(i,t),i.prototype.init=function(t){var e=t.collider;this.renderData={type:a.Geometric,location:s.WorldSpace,layer:this.gameObject.layer,position:new Xt,shape:o.Polygon,color:\"#00FF00\"},this.collider=e},i.prototype.update=function(){this.renderData.layer=this.gameObject.layer,this.renderData.position.copy(this.collider.position),this.renderData.rotation=this.collider.shape.rotation,this.renderData.vertexModel=this.collider.shape.vertexModel,this.renderManager.addRenderData(this.renderData)},i}(y),le=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.realWidth=0,e.realHeight=0,e.realOffset=new Xt,e.realPosition=new Xt,e.realRotation=0,e.applyRotation=e.gameConfig.collisions.collisionMethod===lt.SAT,e.innerPosition=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s;this.width=t.width,this.height=t.height,this.offsetX=null!==(e=t.offsetX)&&void 0!==e?e:this.offsetX,this.offsetY=null!==(i=t.offsetY)&&void 0!==i?i:this.offsetY,this.physics=null!==(n=t.physics)&&void 0!==n?n:this.physics,this.debug=(null!==(r=t.debug)&&void 0!==r?r:this.debug)&&this.gameConfig.debugEnabled,this.rotation=null!==(o=t.rotation)&&void 0!==o?o:new Qt,this.layer=t.layer,this.colliders.push(this.physicsManager.addCollider({layer:null!==(s=this.layer)&&void 0!==s?s:this.gameObject.layer,position:this.gameObject.transform.position.clone(),rotation:this.rotation.radians,shape:new Pt(this.realWidth,this.realHeight),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(ce,{collider:this.colliders[0]}))},i.prototype.updateRealSize=function(){this.realWidth=this.width*Math.abs(this.gameObject.transform.scale.x),this.realHeight=this.height*Math.abs(this.gameObject.transform.scale.y),this.realOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.realOffset.y=this.offsetY*this.gameObject.transform.scale.y,this.realRotation=this.applyRotation?this.gameObject.transform.rotation.radians+this.rotation.radians:0},i.prototype.updatePosition=function(){Xt.add(this.realPosition,this.gameObject.transform.position,this.realOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Xt.subtract(this.innerPosition,this.realPosition,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.realPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.updateColliders=function(){var t;this.colliders[0].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[0].position.copy(this.realPosition),this.colliders[0].rotation=this.realRotation,this.colliders[0].shape.updateSize(this.realWidth,this.realHeight)},i}(te),ue=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.realRadius=0,e.realOffset=new Xt,e.realPosition=new Xt,e.innerPosition=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o;this.radius=t.radius,this.offsetX=null!==(e=t.offsetX)&&void 0!==e?e:this.offsetX,this.offsetY=null!==(i=t.offsetY)&&void 0!==i?i:this.offsetY,this.physics=null!==(n=t.physics)&&void 0!==n?n:this.physics,this.debug=(null!==(r=t.debug)&&void 0!==r?r:this.debug)&&this.gameConfig.debugEnabled,this.layer=t.layer,this.colliders.push(this.physicsManager.addCollider({layer:null!==(o=this.layer)&&void 0!==o?o:this.gameObject.layer,position:this.gameObject.transform.position.clone(),shape:new Ct(this.radius),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(pe,{collider:this.colliders[0]}))},i.prototype.updateRealSize=function(){this.realRadius=this.radius*Math.max(Math.abs(this.gameObject.transform.scale.x),Math.abs(this.gameObject.transform.scale.y)),this.realOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.realOffset.y=this.offsetY*this.gameObject.transform.scale.y},i.prototype.updatePosition=function(){Xt.add(this.realPosition,this.gameObject.transform.position,this.realOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Xt.subtract(this.innerPosition,this.realPosition,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.realPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.updateColliders=function(){var t;this.colliders[0].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[0].position.copy(this.realPosition),this.colliders[0].shape.radius=this.realRadius},i}(te),pe=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e(i,t),i.prototype.init=function(t){var e=t.collider;this.renderData={type:a.Geometric,location:s.WorldSpace,layer:this.gameObject.layer,position:new Xt,shape:o.Circumference,color:\"#00FF00\"},this.collider=e},i.prototype.update=function(){this.renderData.layer=this.gameObject.layer,this.renderData.position.copy(this.collider.position),this.renderData.radius=this.collider.shape.radius,this.renderManager.addRenderData(this.renderData)},i}(y),de=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.position=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i;this.tilemapRenderer=t.tilemapRenderer,this.layer=t.layer,this.debug=(null!==(e=t.debug)&&void 0!==e?e:this.debug)&&this.gameConfig.debugEnabled,this.physics=!0,this.composite=null!==(i=t.composite)&&void 0!==i&&i,this.scaledTileWidth=this.tilemapRenderer.tileWidth*this.gameObject.transform.scale.x,this.scaledTileHeight=this.tilemapRenderer.tileHeight*this.gameObject.transform.scale.y,this.scaledWidth=this.tilemapRenderer.width*this.scaledTileWidth,this.scaledHeight=this.tilemapRenderer.height*this.scaledTileHeight,this.position.set(this.gameObject.transform.position.x-this.scaledWidth/2,this.gameObject.transform.position.y+this.scaledHeight/2),this.composite?this.useLineColliders():this.useBoxColliders(),this.debug&&(this.renderer=this.gameObject.addComponent(fe,{colliders:this.colliders}))},i.prototype.useBoxColliders=function(){var t=this;this.tilemapRenderer.tiles.forEach((function(e,i){var n;t.needsCollider(e,i)&&t.colliders.push(t.physicsManager.addCollider({layer:null!==(n=t.layer)&&void 0!==n?n:t.gameObject.layer,position:new Xt(t.position.x+(i%t.tilemapRenderer.width+.5)*t.scaledTileWidth,t.position.y-(Math.floor(i/t.tilemapRenderer.width)+.5)*t.scaledTileHeight),shape:new Pt(t.scaledTileWidth,t.scaledTileHeight),updateCollisions:!1,physics:t.physics,group:t.gameObject.id.toString()}))}))},i.prototype.needsCollider=function(t,e){var i=this;return 0!==t&&this.getNeighbors(e).some((function(t){return!t||!i.tilemapRenderer.tiles[t]||0===i.tilemapRenderer.tiles[t]}))},i.prototype.useLineColliders=function(){var t,e,i=this,n=[],r=[];this.tilemapRenderer.tiles.forEach((function(t,e){if(0!==t){var o=e%i.tilemapRenderer.width,s=Math.floor(e/i.tilemapRenderer.width);n[s]||(n[s]=[]),n[s+1]||(n[s+1]=[]),r[s]||(r[s]=[]),r[s+1]||(r[s+1]=[]);var a=i.getNeighbors(e);i.hasTile(a[0])||(n[s][o]=!0),i.hasTile(a[2])||(n[s+1][o]=!0),i.hasTile(a[1])||(r[s][o]=!0),i.hasTile(a[3])||(r[s][o+1]=!0)}}));for(var o=0;o<n.length;o++)if(n[o])for(var s=0;s<n[o].length;s++)!t||!e||o===e.y&&n[o][s]||(this.addLineCollider(t,e),t=void 0,e=void 0),n[o][s]&&(t||(t=new Xt(s,o)),e=new Xt(s+1,o));t&&e&&this.addLineCollider(t,e),t=void 0,e=void 0;for(s=0;s<=this.tilemapRenderer.width;s++)for(o=0;o<r.length;o++)r[o]&&(!t||!e||s===e.x&&r[o][s]||(this.addLineCollider(t,e),t=void 0,e=void 0),r[o][s]&&(t||(t=new Xt(s,o)),e=new Xt(s,o+1)));t&&e&&this.addLineCollider(t,e)},i.prototype.hasTile=function(t){return void 0!==t&&this.tilemapRenderer.tiles[t]&&this.tilemapRenderer.tiles[t]>0},i.prototype.addLineCollider=function(t,e){var i,n=this.physicsManager.addCollider({layer:null!==(i=this.layer)&&void 0!==i?i:this.gameObject.layer,position:this.position.clone(),shape:new jt([new Xt(t.x*this.scaledTileWidth,t.y*-this.scaledTileHeight),new Xt(e.x*this.scaledTileWidth,e.y*-this.scaledTileHeight)]),updateCollisions:!1,physics:this.physics,group:this.gameObject.id.toString()});this.colliders.push(n)},i.prototype.getNeighbors=function(t){return[t-this.tilemapRenderer.width>=0?t-this.tilemapRenderer.width:void 0,t%this.tilemapRenderer.width>0?t-1:void 0,t+this.tilemapRenderer.width<=this.tilemapRenderer.width*this.tilemapRenderer.height?t+this.tilemapRenderer.width:void 0,t%this.tilemapRenderer.width<this.tilemapRenderer.width-1?t+1:void 0]},i.prototype.updateRealSize=function(){},i.prototype.updatePosition=function(){},i.prototype.updateColliders=function(){var t=this;this.colliders.forEach((function(e){var i;return e.layer=null!==(i=t.layer)&&void 0!==i?i:t.gameObject.layer}))},i}(te),fe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderData=[],e.colliders=[],e}return e(i,t),i.prototype.init=function(t){var e=this,i=t.colliders;this.colliders=i,this.colliders.forEach((function(t,i){e.renderData[i]={type:a.Geometric,layer:e.gameObject.layer,location:s.WorldSpace,position:new Xt,shape:o.Polygon,color:\"#00FF00\"}}))},i.prototype.update=function(){var t=this;this.colliders.forEach((function(e,i){t.renderData[i].layer=t.gameObject.layer,t.renderData[i].position.copy(e.shape.position),t.renderData[i].rotation=e.rotation,t.renderData[i].vertexModel=e.shape.vertexModel,t.renderManager.addRenderData(t.renderData[i])}))},i}(y),ge=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.scaledVertexModel=[],e.scaledOffset=new Xt,e.scaledPosition=new Xt,e.finalRotation=0,e.innerPosition=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s;if(this.gameConfig.collisions.collisionMethod!==lt.SAT)throw new Lt(\"Edge Colliders need SAT collision method.\");if(t.vertexModel.length<2)throw new Lt(\"Edge Collider needs at least 2 vertices.\");this.debug=(null!==(e=t.debug)&&void 0!==e?e:this.debug)&&this.gameConfig.debugEnabled,this.vertexModel=t.vertexModel,this.offsetX=null!==(i=t.offsetX)&&void 0!==i?i:this.offsetX,this.offsetY=null!==(n=t.offsetY)&&void 0!==n?n:this.offsetY,this.physics=null!==(r=t.physics)&&void 0!==r?r:this.physics,this.rotation=null!==(o=t.rotation)&&void 0!==o?o:new Qt,this.layer=t.layer;for(var a=0;a<this.vertexModel.length;a++)this.scaledVertexModel.push(new Xt);for(a=0;a<this.scaledVertexModel.length-1;a++)this.colliders.push(this.physicsManager.addCollider({layer:null!==(s=this.layer)&&void 0!==s?s:this.gameObject.layer,position:this.gameObject.transform.position.clone(),rotation:this.rotation.radians,shape:new jt([this.scaledVertexModel[a],this.scaledVertexModel[a+1]]),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()}));this.debug&&(this.renderer=this.gameObject.addComponent(me,{colliders:this.colliders}))},i.prototype.updateRealSize=function(){var t=this;this.vertexModel.forEach((function(e,i){return t.scaledVertexModel[i].set(e.x*t.gameObject.transform.scale.x,e.y*t.gameObject.transform.scale.y)})),this.scaledOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.scaledOffset.y=this.offsetY*this.gameObject.transform.scale.y,this.finalRotation=this.gameObject.transform.rotation.radians+this.rotation.radians},i.prototype.updatePosition=function(){Xt.add(this.scaledPosition,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Xt.subtract(this.innerPosition,this.scaledPosition,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.scaledPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.updateColliders=function(){for(var t,e=0;e<this.scaledVertexModel.length-1;e++)this.colliders[e].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[e].position.copy(this.scaledPosition),this.colliders[e].rotation=this.finalRotation,this.colliders[e].shape.vertexModel=[this.scaledVertexModel[e],this.scaledVertexModel[e+1]]},i}(te),me=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderData=[],e.colliders=[],e}return e(i,t),i.prototype.init=function(t){var e=this,i=t.colliders;this.colliders=i,this.colliders.forEach((function(t,i){e.renderData[i]={type:a.Geometric,layer:e.gameObject.layer,location:s.WorldSpace,position:new Xt,shape:o.Line,color:\"#00FF00\"}}))},i.prototype.update=function(){var t=this;this.colliders.forEach((function(e,i){t.renderData[i].layer=t.gameObject.layer,t.renderData[i].position=e.position,t.renderData[i].rotation=e.rotation,t.renderData[i].vertexModel=e.shape.vertexModel,t.renderManager.addRenderData(t.renderData[i])}))},i}(y),ye=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderData=[],e.innerPosition=new Xt,e.cachePosition=new Xt,e.cacheRenderPosition=new Xt,e.scaledOffset=new Xt,e.cacheScale=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s,a,h,c;void 0===t&&(t={}),this.sprite=t.sprite,this.offset=null!==(e=t.offset)&&void 0!==e?e:new Xt,this.rotation=null!==(i=t.rotation)&&void 0!==i?i:new Qt,this.flipHorizontal=null!==(n=t.flipHorizontal)&&void 0!==n&&n,this.flipVertical=null!==(r=t.flipVertical)&&void 0!==r&&r,this.opacity=null!==(o=t.opacity)&&void 0!==o?o:1,this._tiled=null!==(s=t.tiled)&&void 0!==s?s:new Xt(1,1),this.maskColor=t.maskColor,this.maskColorMix=null!==(a=t.maskColorMix)&&void 0!==a?a:0,this.tintColor=t.tintColor,this.layer=t.layer,this.scale=null!==(c=null!==(h=t.scale)&&void 0!==h?h:this.gameConfig.spriteDefaultScale.clone())&&void 0!==c?c:new Xt(1,1),this.width=t.width,this.height=t.height},Object.defineProperty(i.prototype,\"tiled\",{get:function(){return this._tiled},set:function(t){if(t.x%1!=0||t.y%1!=0)throw new Lt(\"SpriteRenderer.tiled: Vector2 components must be integers\");this._tiled.set(t.x,t.y)},enumerable:!1,configurable:!0}),i.prototype.update=function(){if(this.sprite&&!0===this.sprite.loaded){this.cacheScale.set(this.scale.x*this.gameObject.transform.scale.x,this.scale.y*this.gameObject.transform.scale.y),this.updateRenderDataArray();for(var t=0,e=0;e<this._tiled.x;e++)for(var i=0;i<this._tiled.y;i++)this.updateRenderData(t,e,i),t++}},i.prototype.updateRenderDataArray=function(){if(this.renderData.length!==this._tiled.x*this._tiled.y){this.renderData=[];for(var t=0;t<this._tiled.x*this._tiled.y;t++)this.renderData[t]={type:a.Sprite,location:s.WorldSpace,layer:\"\",position:new Xt,image:this.sprite.image,width:0,height:0}}},i.prototype.updateRenderData=function(t,e,i){var n,r,o;this.renderData[t].location=this.gameObject.ui?s.ViewPort:s.WorldSpace,this.renderData[t].layer=null!==(n=this.layer)&&void 0!==n?n:this.gameObject.layer,this.renderData[t].image=this.sprite.image,this.renderData[t].width=(null!==(r=this.width)&&void 0!==r?r:this.sprite.width)*Math.abs(this.cacheScale.x),this.renderData[t].height=(null!==(o=this.height)&&void 0!==o?o:this.sprite.height)*Math.abs(this.cacheScale.y),this.renderData[t].slice=this.sprite.slice,this.renderData[t].flipHorizontal=this.flipHorizontal!==this.cacheScale.x<0,this.renderData[t].flipVertical=this.flipVertical!==this.cacheScale.y<0,this.renderData[t].rotation=this.gameObject.transform.rotation.radians+this.rotation.radians,this.renderData[t].smooth=this.sprite.smooth,this.renderData[t].alpha=this.opacity,this.renderData[t].maskColor=this.maskColor,this.renderData[t].maskColorMix=this.maskColorMix,this.renderData[t].tintColor=this.tintColor,this.calculateRenderPosition(t,e,i),this.renderManager.addRenderData(this.renderData[t])},i.prototype.calculateRenderPosition=function(t,e,i){this.scaledOffset.set(this.offset.x*this.gameObject.transform.scale.x,this.offset.y*this.gameObject.transform.scale.y),Xt.add(this.cachePosition,this.gameObject.transform.position,this.scaledOffset),this.cacheRenderPosition.set(this.renderData[t].width/2*(this._tiled.x-1),this.renderData[t].height/2*(this._tiled.y-1)),Xt.subtract(this.cachePosition,this.cachePosition,this.cacheRenderPosition),this.cacheRenderPosition.set(e*this.renderData[t].width,i*this.renderData[t].height),Xt.add(this.renderData[t].position,this.cachePosition,this.cacheRenderPosition),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition(t)},i.prototype.translateRenderPosition=function(t){Xt.subtract(this.innerPosition,this.renderData[t].position,this.gameObject.transform.position);var e=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.renderData[t].position.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(e),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(e))},i}(y),ve=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.lastFrameText=\"\",e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s,a,h,c,l,u,p,d;if(this.text=null!==(e=t.text)&&void 0!==e?e:\"\",this.font=null!==(i=t.font)&&void 0!==i?i:\"Sans\",this.fontSize=null!==(n=t.fontSize)&&void 0!==n?n:12,this.width=null!==(r=t.width)&&void 0!==r?r:100,this.height=null!==(o=t.height)&&void 0!==o?o:100,this.offset=null!==(s=t.offset)&&void 0!==s?s:new Xt,this.color=null!==(a=t.color)&&void 0!==a?a:\"#000000\",this.charRanges=null!==(h=t.charRanges)&&void 0!==h?h:[32,126,161,255],this.lineSeparation=null!==(c=t.lineSeparation)&&void 0!==c?c:0,this.letterSpacing=null!==(l=t.letterSpacing)&&void 0!==l?l:0,this.smooth=null!==(u=t.smooth)&&void 0!==u&&u,this.rotation=null!==(p=t.rotation)&&void 0!==p?p:new Qt,this.opacity=null!==(d=t.opacity)&&void 0!==d?d:1,this.orientation=t.orientation,this.bitmapMargin=t.bitmapMargin,this.bitmapSpacing=t.bitmapSpacing,this.charRanges.length%2!=0)throw new Lt(\"TextRenderer.charRanges must be a 2 column matrix\");if(this.lineSeparation%2!=0)throw new Lt(\"TextRenderer.lineSeparation must be multiple of 2\")},i.prototype.start=function(){this.renderData={type:a.Text,location:s.WorldSpace,position:new Xt,layer:this.gameObject.layer,text:\"\",font:this.font,fontSize:this.fontSize,bitmap:{charRanges:this.charRanges,margin:this.bitmapMargin,spacing:this.bitmapSpacing},smooth:this.smooth}},i.prototype.update=function(){var t,e;this.text&&(this.renderData.layer=this.gameObject.layer,this.renderData.location=this.gameObject.ui?s.ViewPort:s.WorldSpace,this.renderData.text=this.text!==this.lastFrameText?this.crop():this.renderData.text,this.renderData.fontSize=this.fontSize,this.renderData.color=this.color,this.renderData.orientation=this.orientation,this.renderData.lineSeparation=this.lineSeparation,this.renderData.letterSpacing=this.letterSpacing,this.renderData.rotation=null!==(e=this.gameObject.transform.rotation.radians+(null===(t=this.rotation)||void 0===t?void 0:t.radians))&&void 0!==e?e:0,this.renderData.alpha=this.opacity,Xt.add(this.renderData.position,this.gameObject.transform.position,this.offset),this.renderManager.addRenderData(this.renderData),this.lastFrameText=this.text)},i.prototype.crop=function(){var t=this;if(this.fontSize>this.height)return\"\";for(var e=[],i=0,n=0,r=this.text.split(\"\\n\");n<r.length;n++)for(var o=r[n].split(\" \").reduce((function(e,i){var n=e[e.length-1]+(e[e.length-1].length>0?\" \":\"\")+i;return n.length*(t.fontSize+t.letterSpacing)>t.width?e.push(i):e[e.length-1]=n,e}),[\"\"]),s=0,a=o;s<a.length;s++){var h=a[s];if((i+=this.fontSize+this.lineSeparation)>this.height)return e.join(\"\\n\");e.push(h)}return e.join(\"\\n\")},i}(y),xe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.offset=new Xt,e.rotation=new Qt,e.opacity=1,e.innerPosition=new Xt,e.scaledOffset=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,h,c;this.shape=t.shape,this.color=t.color,this.width=null!==(e=t.width)&&void 0!==e?e:0,this.height=null!==(i=t.height)&&void 0!==i?i:0,this.radius=null!==(n=t.radius)&&void 0!==n?n:0,this.offset=null!==(r=t.offset)&&void 0!==r?r:this.offset,this.rotation=null!==(o=t.rotation)&&void 0!==o?o:this.rotation,this.opacity=null!==(h=t.opacity)&&void 0!==h?h:this.opacity,this.layer=t.layer,this.renderData={type:a.Mask,layer:null!==(c=this.layer)&&void 0!==c?c:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Xt,width:0,height:0,radius:0,color:\"\",shape:this.shape}},i.prototype.update=function(){var t;this.renderData.location=this.gameObject.ui?s.ViewPort:s.WorldSpace,this.renderData.layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.renderData.shape=this.shape,this.renderData.width=this.width*Math.abs(this.gameObject.transform.scale.x),this.renderData.height=this.height*Math.abs(this.gameObject.transform.scale.y),this.renderData.color=this.color,this.renderData.rotation=this.gameObject.transform.rotation.radians+this.rotation.radians,this.renderData.alpha=this.opacity,this.renderData.radius=this.radius*Math.abs(Math.max(this.gameObject.transform.scale.x,this.gameObject.transform.scale.y)),this.calculateRenderPosition(),this.renderManager.addRenderData(this.renderData)},i.prototype.calculateRenderPosition=function(){this.scaledOffset.set(this.offset.x*this.gameObject.transform.scale.x,this.offset.y*this.gameObject.transform.scale.y),Xt.add(this.renderData.position,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition()},i.prototype.translateRenderPosition=function(){Xt.subtract(this.innerPosition,this.renderData.position,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.renderData.position.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i}(y),be=[\"click\",\"contextmenu\",\"auxclick\",\"dblclick\",\"mousedown\",\"mouseup\",\"pointerup\",\"touchend\",\"keydown\",\"keyup\"],Me=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.innerPosition=new Xt,e.scaledOffset=new Xt,e._playing=!1,e._paused=!1,e.videoEventHandler=function(t){\"ended\"===t.type&&(e._playing=!1,e.video.removeEventListener(\"ended\",e.videoEventHandler))},e.userInputEventHandler=function(){be.forEach((function(t){window.removeEventListener(t,e.userInputEventHandler)})),e.video&&e._playing&&e.video.play()},e}return e(i,t),Object.defineProperty(i.prototype,\"volume\",{get:function(){return this._volume},set:function(t){this._volume=t,this.video&&(this.video.volume=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"loop\",{get:function(){return this._loop},set:function(t){this._loop=t,this.video&&(this.video.loop=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"playing\",{get:function(){return this._playing},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"paused\",{get:function(){return this._paused},enumerable:!1,configurable:!0}),i.prototype.init=function(t){var e,i,n,r,o,h,c,l,u,p;this.video=t.video,this.width=null!==(e=t.width)&&void 0!==e?e:this.video.videoWidth,this.height=null!==(i=t.height)&&void 0!==i?i:this.video.videoHeight,this.offset=null!==(n=t.offset)&&void 0!==n?n:new Xt,this.rotation=null!==(r=t.rotation)&&void 0!==r?r:new Qt,this.flipHorizontal=null!==(o=t.flipHorizontal)&&void 0!==o&&o,this.flipVertical=null!==(h=t.flipVertical)&&void 0!==h&&h,this.opacity=null!==(c=t.opacity)&&void 0!==c?c:1,this.maskColor=t.maskColor,this.maskColorMix=null!==(l=t.maskColorMix)&&void 0!==l?l:0,this.tintColor=t.tintColor,this.layer=t.layer,this.slice=t.slice,this._volume=null!==(u=t.volume)&&void 0!==u?u:1,this._loop=null!==(p=t.loop)&&void 0!==p&&p,this.renderData={type:a.Video,location:s.WorldSpace,layer:\"\",position:new Xt,video:this.video,width:this.width,height:this.height}},i.prototype.play=function(){var t=this;if((this.video||!this.video.duration)&&(!this._playing||!1!==this._paused)){if(this._paused)return this._paused=!1,void this.video.play();this.video.loop=this._loop,this.video.volume=this._volume,this.video.addEventListener(\"ended\",this.videoEventHandler),this._playing=!0;var e=this.video.play();void 0!==e&&e.catch((function(){be.forEach((function(e){return window.addEventListener(e,t.userInputEventHandler)}))}))}},i.prototype.stop=function(){this._playing&&(this.video.pause(),this.video.currentTime=0,this.video.removeEventListener(\"ended\",this.videoEventHandler),this._playing=!1,this._paused=!1)},i.prototype.pause=function(){this._playing&&!1===this._paused&&(this.video.pause(),this._paused=!0)},i.prototype.update=function(){var t;this.video&&this.video.duration&&(this.renderData.location=this.gameObject.ui?s.ViewPort:s.WorldSpace,this.renderData.layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.renderData.video=this.video,this.renderData.width=this.width*Math.abs(this.gameObject.transform.scale.x),this.renderData.height=this.height*Math.abs(this.gameObject.transform.scale.y),this.renderData.slice=this.slice,this.renderData.flipHorizontal=this.flipHorizontal!==this.gameObject.transform.scale.x<0,this.renderData.flipVertical=this.flipVertical!==this.gameObject.transform.scale.y<0,this.renderData.rotation=this.gameObject.transform.rotation.radians+this.rotation.radians,this.renderData.alpha=this.opacity,this.renderData.maskColor=this.maskColor,this.renderData.maskColorMix=this.maskColorMix,this.renderData.tintColor=this.tintColor,this.calculateRenderPosition(),this.renderManager.addRenderData(this.renderData))},i.prototype.calculateRenderPosition=function(){this.scaledOffset.set(this.offset.x*this.gameObject.transform.scale.x,this.offset.y*this.gameObject.transform.scale.y),Xt.add(this.renderData.position,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition()},i.prototype.translateRenderPosition=function(){Xt.subtract(this.innerPosition,this.renderData.position,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.renderData.position.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.onActiveChange=function(){!1===this.active&&this.stop()},i.prototype.onDestroy=function(){this.stop()},i}(y),_e=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.tiles=[],e.infinite=!1,e.tilesetTileIds=[],e.chunks=[],e.scaledTileWidth=0,e.scaledTileHeight=0,e.renderData=[],e}return e(i,t),i.prototype.init=function(t){var e=this,i=t.tiledData,n=t.tilemapLayer,r=t.tileset,o=t.tileWidth,s=t.tileHeight,a=t.layer,h=t.smooth;if(this.tiledData=i,this.tileset=r,this.tileWidth=null!=o?o:this.tileset.tileWidth*this.gameConfig.spriteDefaultScale.x,this.tileHeight=null!=s?s:this.tileset.tileHeight*this.gameConfig.spriteDefaultScale.y,this.layer=a,this.smooth=null!=h&&h,this.tiledLayer=this.tiledData.layers.find((function(t){return t.name===n})),!this.tiledLayer)throw new Lt(\"Invalid tilemap layer\");this.width=0,this.height=0,this.tiledData.layers.forEach((function(t){e.width=Math.max(e.width,t.width),e.height=Math.max(e.height,t.height)})),this.processTilemap()},i.prototype.update=function(){var t=this;this.updateRenderData(),this.renderData.forEach((function(e){return t.renderManager.addRenderData(e)}))},i.prototype.processTilemap=function(){var t=this;!0===this.tiledLayer.visible&&(this.opacity=this.tiledLayer.opacity,this.tintColor=this.tiledLayer.tintcolor,this.tiledData.infinite?(this.infinite=!0,this.tiledLayer.chunks.sort((function(t,e){return t.x-e.x})).sort((function(t,e){return t.y-e.y})).forEach((function(e){return t.processChunk(e)}))):this.processFixedLayer()),this.updateRenderData(),this.tilesetTileIds=[]},i.prototype.processFixedLayer=function(){var t,e=this;this.tiles=this.tiledLayer.data.map((function(t){return e.getTilesetTileId(t)})),this.renderData.push({type:a.Tilemap,layer:null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Xt,tileset:this.tileset,tilemap:{width:this.width,tileWidth:this.tileWidth,tileHeight:this.tileHeight},tiles:this.tiles,orientation:M.Center,smooth:this.smooth})},i.prototype.processChunk=function(t){var e,i=this,n={type:a.Tilemap,layer:null!==(e=this.layer)&&void 0!==e?e:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Xt,tileset:this.tileset,tilemap:{width:t.width,tileWidth:this.tileWidth,tileHeight:this.tileHeight},tiles:t.data.map((function(t){return i.getTilesetTileId(t)})),orientation:M.Center,smooth:this.smooth};n.tiles.forEach((function(e,n){i.tiles[i.width*(t.y+Math.floor(n/t.width))+t.x+n%t.width]=e})),this.renderData.push(n),this.chunks.push(t)},i.prototype.getTilesetTileId=function(t){return this.tilesetTileIds[t]||(this.tilesetTileIds[t]=this.tiledData.tilesets.reduce((function(e,i){return t>=i.firstgid?t-i.firstgid+1:e}),0)),this.tilesetTileIds[t]},i.prototype.updateRenderData=function(){var t=this;this.scaledTileWidth=this.tileWidth*this.gameObject.transform.scale.x,this.scaledTileHeight=this.tileHeight*this.gameObject.transform.scale.y,this.realWidth=this.width*this.scaledTileWidth,this.realHeight=this.height*this.scaledTileHeight,this.renderData.forEach((function(e,i){var n;if(e.layer=null!==(n=t.layer)&&void 0!==n?n:t.gameObject.layer,t.infinite){var r=t.chunks[i];e.position.set(t.gameObject.transform.position.x-t.realWidth/2+(r.x+r.width/2)*t.scaledTileWidth,t.gameObject.transform.position.y+t.realHeight/2-(r.y+r.height/2)*t.scaledTileHeight)}else e.position.copy(t.gameObject.transform.position);e.tilemap.tileWidth=t.scaledTileWidth,e.tilemap.tileHeight=t.scaledTileHeight,e.tintColor=t.tintColor,e.alpha=t.opacity}))},i}(y),we=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.tiles=[],e.scaledTileWidth=0,e.scaledTileHeight=0,e}return e(i,t),i.prototype.init=function(t){var e,i=this,n=t.tiles,r=t.tileset,o=t.tileWidth,h=t.tileHeight,c=t.width,l=t.layer,u=t.opacity,p=t.tintColor,d=t.smooth;n.split(\"\\n\").forEach((function(t){t.split(\",\").forEach((function(t){return t.trim().length>0?i.tiles.push(Number(t)):null}))})),this.tileset=r,this.width=c,this.tileWidth=null!=o?o:this.tileset.tileWidth*this.gameConfig.spriteDefaultScale.x,this.tileHeight=null!=h?h:this.tileset.tileHeight*this.gameConfig.spriteDefaultScale.y,this.layer=l,this.height=Math.ceil(this.tiles.length/this.width),this.opacity=u,this.tintColor=p,this.renderData={type:a.Tilemap,layer:null!==(e=this.layer)&&void 0!==e?e:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Xt,tileset:this.tileset,tilemap:{width:this.width,tileWidth:this.tileWidth,tileHeight:this.tileHeight},tiles:this.tiles,orientation:M.Center,smooth:d},this.updateRenderData()},i.prototype.update=function(){this.updateRenderData(),this.renderManager.addRenderData(this.renderData)},i.prototype.updateRenderData=function(){var t;this.scaledTileWidth=this.tileWidth*this.gameObject.transform.scale.x,this.scaledTileHeight=this.tileHeight*this.gameObject.transform.scale.y,this.realWidth=this.width*this.scaledTileWidth,this.realHeight=this.height*this.scaledTileHeight,this.renderData.layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.renderData.position.copy(this.gameObject.transform.position),this.renderData.tintColor=this.tintColor,this.renderData.alpha=this.opacity,this.renderData.tilemap.tileWidth=this.scaledTileWidth,this.renderData.tilemap.tileHeight=this.scaledTileHeight},i}(y),Ce=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.spriteRenderer=null,e.animations=new Map,e.currentAnimation=null,e.paused=!1,e}return e(i,t),i.prototype.init=function(t){var e=t.spriteRenderer;this.spriteRenderer=e},i.prototype.update=function(){null===this.currentAnimation||this.paused||(this.currentAnimation.playFrame(this.timeManager.deltaTime),!0===this.currentAnimation.restarted&&!1===this.currentAnimation.loop?this.currentAnimation=null:this.spriteRenderer.sprite=this.currentAnimation.sprite)},i.prototype.addAnimation=function(t,e,i){return void 0===e&&(e=\"default\"),t.framerate=null!=i?i:t.framerate,this.animations.set(e,new je(t)),this},i.prototype.playAnimation=function(t){if(void 0===t&&(t=\"default\"),!1!==this.active){if(!1===this.animations.has(t))throw new Lt(\"Animation with name \".concat(t,\" does not exist.\"));this.stopAnimation(),this.currentAnimation=this.animations.get(t)}},i.prototype.pause=function(){this.paused=!0},i.prototype.resume=function(){this.paused=!1},i.prototype.stopAnimation=function(){null!==this.currentAnimation&&(this.currentAnimation.reset(),this.currentAnimation=null,this.paused=!1)},i.prototype.isPlayingAnimation=function(t){return void 0===t&&(t=\"default\"),null!==this.currentAnimation&&this.animations.get(t)&&this.animations.get(t)===this.currentAnimation},i.prototype.isPaused=function(){return this.paused},i}(u),je=function(){function t(t){this._sprite=null,this._restarted=!1,this.currentFrame=0,this.frameTime=0,this._animation=t}return Object.defineProperty(t.prototype,\"sprite\",{get:function(){return this._sprite},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"restarted\",{get:function(){return this._restarted},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"loop\",{get:function(){return this._animation.loop},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"animation\",{get:function(){return this._animation},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this.currentFrame=0,this.frameTime=0,this._restarted=!0},t.prototype.playFrame=function(t){this._restarted=!1,this.frameTime>=1/this._animation.framerate&&(this.frameTime=0,this.currentFrame=this.currentFrame+1===this._animation.sprites.length?0:this.currentFrame+1,this._restarted=0===this.currentFrame),this._sprite=this._animation.sprites[this.currentFrame],this.frameTime+=t},t}(),Oe=[\"click\",\"contextmenu\",\"auxclick\",\"dblclick\",\"mousedown\",\"mouseup\",\"pointerup\",\"touchend\",\"keydown\",\"keyup\"],Pe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.tracks=[],e.audioSourceCache=new Map,e._playing=!1,e._paused=!1,e.audioEventHandler=function(t){\"ended\"===t.type&&(e._playing=!1,e._audioSource.removeEventListener(\"ended\",e.audioEventHandler))},e.userInputEventHandler=function(){Oe.forEach((function(t){window.removeEventListener(t,e.userInputEventHandler)})),e.audioContext.resume(),e._audioSource&&e._playing&&e._audioSource.play()},e}return e(i,t),Object.defineProperty(i.prototype,\"audioSource\",{get:function(){return this._audioSource},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"volume\",{get:function(){return this._volume},set:function(t){this._volume=t,this._audioSource&&(this._audioSource.volume=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"loop\",{get:function(){return this._loop},set:function(t){this._loop=t,this._audioSource&&(this._audioSource.loop=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"playing\",{get:function(){return this._playing},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"paused\",{get:function(){return this._paused},enumerable:!1,configurable:!0}),i.prototype.init=function(t){var e=this,i=void 0===t?{}:t,n=i.loop,r=i.volume;this.audioContext=new AudioContext,\"running\"!==this.audioContext.state&&Oe.forEach((function(t){return window.addEventListener(t,e.userInputEventHandler)})),this._volume=null!=r?r:1,this._loop=null!=n&&n},i.prototype.playClip=function(t,e){t.currentTime>0&&(t.currentTime=0),t.volume=null!=e?e:this._volume,t.play()},i.prototype.addAudioSource=function(t,e){void 0===e&&(e=\"default\");var i=t.cloneNode();this.audioSourceCache.set(e,i);var n=this.audioContext.createMediaElementSource(i);n.connect(this.audioContext.destination),this.tracks.push(n)},i.prototype.loadAudioSource=function(t,e,i){this.stop(),this._audioSource=this.audioSourceCache.get(t),this._loop=null!=e?e:this._loop,this._volume=null!=i?i:this._volume},i.prototype.play=function(){if(this._audioSource&&(!this._playing||!1!==this._paused)){if(this._paused)return this._paused=!1,void this._audioSource.play();this._audioSource.volume=this._volume,this._audioSource.loop=this._loop,this._audioSource.addEventListener(\"ended\",this.audioEventHandler),this._playing=!0,\"running\"===this.audioContext.state&&this._audioSource.play()}},i.prototype.stop=function(){this._playing&&(this._audioSource.pause(),this._audioSource.currentTime=0,this._audioSource.removeEventListener(\"ended\",this.audioEventHandler),this._playing=!1,this._paused=!1)},i.prototype.pause=function(){this._playing&&!1===this._paused&&(this._audioSource.pause(),this._paused=!0)},i.prototype.onActiveChange=function(){!1===this.active&&this.stop()},i.prototype.onDestroy=function(){this.stop(),this.audioContext.close()},i}(u),Re=function(){function t(t){var e,i=this;this._width=null,this._height=null,this._loaded=!1,this.image=t.image,this.smooth=null!==(e=t.smooth)&&void 0!==e&&e,this.slice=t.slice,this.slice&&(this._width=this.slice.width,this._height=this.slice.height);var n=function(){var t,e;i._width=null!==(t=i._width)&&void 0!==t?t:i.image.naturalWidth,i._height=null!==(e=i._height)&&void 0!==e?e:i.image.naturalHeight,i._loaded=!0};this.image.naturalWidth?n():this.image.addEventListener(\"load\",(function(){return n()}))}return Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"loaded\",{get:function(){return this._loaded},enumerable:!1,configurable:!0}),t}();!function(t){t[t.Rectangle=0]=\"Rectangle\",t[t.Circumference=1]=\"Circumference\"}(Ut||(Ut={}));var Ae=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.width=100,e.height=100,e.radius=50,e.touchEnabled=!0,e.offset=new Xt,e.pressed=!1,e.mouse=e.inputManager.mouse,e.touch=e.inputManager.touch,e.position=new Xt,e.distance=new Xt,e.pressedLastFrame=!1,e.scaled={width:0,height:0,radius:0,offset:new Xt},e}return e(i,t),i.prototype.init=function(t){var e=t.type,i=t.height,n=t.radius,r=t.touchEnabled,o=t.width,s=t.offset;this.type=e,this.width=null!=o?o:this.width,this.height=null!=i?i:this.height,this.radius=null!=n?n:this.radius,this.touchEnabled=null!=r?r:this.touchEnabled,this.offset=null!=s?s:this.offset},i.prototype.update=function(){this.scale(),Xt.add(this.position,this.gameObject.transform.position,this.scaled.offset),this.pressedLastFrame=this.pressed,this.pressed=!1,this.mouse.leftButtonPressed&&(this.resolveMouseAndRectangle(),this.resolveMouseAndCircumference()),this.touchEnabled&&this.touch.touching&&(this.resolveTouchAndRectangle(),this.resolveTouchAndCircumference()),this.onClick&&!this.pressedLastFrame&&this.pressed&&this.onClick(),this.onPressed&&this.pressed&&this.onPressed()},i.prototype.scale=function(){this.scaled.width=this.width*this.gameObject.transform.scale.x,this.scaled.height=this.width*this.gameObject.transform.scale.y,this.scaled.offset.x=this.offset.x*this.gameObject.transform.scale.x,this.scaled.offset.y=this.offset.y*this.gameObject.transform.scale.y,this.scaled.radius=this.radius*Math.max(Math.abs(this.gameObject.transform.scale.x),Math.abs(this.gameObject.transform.scale.y))},i.prototype.resolveMouseAndRectangle=function(){this.type===Ut.Rectangle&&(this.pressed=Kt(this.mouse.positionInViewport.x,this.position.x-this.scaled.width/2,this.position.x+this.scaled.width/2)&&Kt(this.mouse.positionInViewport.y,this.position.y-this.scaled.height/2,this.position.y+this.scaled.height/2))},i.prototype.resolveMouseAndCircumference=function(){this.type===Ut.Circumference&&(Xt.subtract(this.distance,this.position,this.mouse.positionInViewport),this.pressed=this.distance.magnitude<=this.scaled.radius)},i.prototype.resolveTouchAndRectangle=function(){if(this.type===Ut.Rectangle)for(var t=0,e=this.touch.interactions;t<e.length;t++){var i=e[t],n=i.positionInViewport,r=i.radius;if(this.pressed)return;this.pressed=this.position.x+this.scaled.width/2>=n.x-r.x&&this.position.x-this.scaled.width/2<=n.x+r.x&&this.position.y+this.scaled.height/2>=n.y-r.y&&this.position.y-this.scaled.height/2<=n.y+r.y}},i.prototype.resolveTouchAndCircumference=function(){if(this.type===Ut.Circumference)for(var t=0,e=this.touch.interactions;t<e.length;t++){var i=e[t],n=i.positionInViewport,r=i.radius;if(this.pressed)return;Xt.subtract(this.distance,this.position,n),this.pressed=this.distance.magnitude<=this.scaled.radius+Math.max(r.x,r.y)}},i}(u),Se=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.mousePressed=!1,e.position=new Xt,e}return e(i,t),i.prototype.start=function(){this.camera=this.getCurrentScene().gameCamera},i.prototype.update=function(){this.inputManager.mouse.leftButtonPressed&&!1===this.mousePressed&&(Xt.round(this.position,Xt.add(this.position,this.camera.transform.position,Xt.scale(this.position,this.inputManager.mouse.positionInViewport,1/this.camera.zoom))),console.log(\"Space position: {x: \".concat(this.position.x,\", y: \").concat(this.position.y,\"}\"))),this.mousePressed=this.inputManager.mouse.leftButtonPressed},i}(ne);export{Ce as Animator,Pe as AudioPlayer,ue as BallCollider,le as BoxCollider,Ae as Button,Ut as ButtonType,oe as Camera,l as Component,ge as EdgeCollider,Jt as Game,se as GameCamera,ne as GameObject,ie as LAYER_DEFAULT,xe as MaskRenderer,I as MaskShape,d as PhysicsComponent,he as PolygonCollider,ce as PolygonColliderRenderer,g as PreRenderComponent,ee as RigidBody,vt as RigidBodyType,ae as Scene,Se as SpacePointer,Re as Sprite,ye as SpriteRenderer,G as TextOrientation,ve as TextRenderer,_e as TiledTilemapRenderer,de as TilemapCollider,we as TilemapRenderer,Zt as Transform,Me as VideoRenderer};\n//# sourceMappingURL=index.esm.js.map\n","var t=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,n){return t.set(e.x+n.x,e.y+n.y),t},t.subtract=function(t,e,n){return t.set(e.x-n.x,e.y-n.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,n){return t.set(e.x*n,e.y*n),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}();!function(){function e(e,n,i,r){this._position=new t,this._center=new t,this._width=0,this._height=0,this.set(e,n,i,r)}Object.defineProperty(e.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),e.prototype.set=function(t,e,n,i){this._position.set(t,e),this._width=n,this._height=i},e.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},e.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},e.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},e.prototype.contains=function(n){return n instanceof e?n.x1<=this.x1&&n.x>=this.x&&n.y1<=this.y1&&n.y>=this.y:n instanceof t&&!(n.x<this.x||n.y<this.y||n.x>=this.x1||n.y>=this.y1)}}(),function(){function e(e,n){void 0===e&&(e=null),void 0===n&&(n=null),this._degrees=0,this._radians=0,this._direction=new t,e?this.radians=e:n&&(this.degrees=n)}Object.defineProperty(e.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),e.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var e=function(){function t(){var t=this;this.gamepads=new Map,this.eventHandler=function(e){\"gamepadconnected\"===e.type?t.gamepadConnected(e.gamepad):\"gamepaddisconnected\"===e.type&&t.gamepadDisconected(e.gamepad)},window.addEventListener(\"gamepadconnected\",this.eventHandler),window.addEventListener(\"gamepaddisconnected\",this.eventHandler)}return t.prototype.getGamepad=function(t){var e;return null!==(e=this.gamepads.get(t))&&void 0!==e?e:null},t.prototype.getGamepads=function(){return Array.from(this.gamepads.values())},t.prototype.gamepadConnected=function(t){this.gamepads.set(t.index,new n),this.gamepads.get(t.index).updateFromGamepad(t)},t.prototype.gamepadDisconected=function(t){this.gamepads.delete(t.index)},t.prototype.update=function(){for(var t=0,e=this.getGamepadsFromBrowser();t<e.length;t++){var n=e[t];null!==n&&(!1===this.gamepads.has(n.index)?this.gamepadConnected(n):this.gamepads.get(n.index).updateFromGamepad(n))}},t.prototype.getGamepadsFromBrowser=function(){return navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[]},t}(),n=function(){function e(){this.buttons=new Map,this.axes=new Map,this._dpadAxes=new t,this._leftStickAxes=new t,this._rightStickAxes=new t,this._vibrating=!1}return e.prototype.updateFromGamepad=function(t){var e=this;this._gamepad=t,t.buttons.forEach((function(t,n){return e.buttons.set(n,t.pressed)})),t.axes.forEach((function(t,n){return e.axes.set(n,t)}))},Object.defineProperty(e.prototype,\"id\",{get:function(){return this._gamepad.id},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"connected\",{get:function(){return this._gamepad.connected},enumerable:!1,configurable:!0}),e.prototype.getButtonPressed=function(t){return this.buttons.get(t)},e.prototype.getAxis=function(t){return this.axes.get(t)},Object.defineProperty(e.prototype,\"dpadAxes\",{get:function(){return this._dpadAxes.set(this.dpadRight?1:this.dpadLeft?-1:0,this.dpadUp?1:this.dpadDown?-1:0),this._dpadAxes},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickAxes\",{get:function(){return this._leftStickAxes.set(this.leftStickHorizontal,this.leftStickVertical),this._leftStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickAxes\",{get:function(){return this._rightStickAxes.set(this.rightStickHorizontal,this.rightStickVertical),this._rightStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadUp\",{get:function(){var t;return null!==(t=this.buttons.get(12))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadDown\",{get:function(){var t;return null!==(t=this.buttons.get(13))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadLeft\",{get:function(){var t;return null!==(t=this.buttons.get(14))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadRight\",{get:function(){var t;return null!==(t=this.buttons.get(15))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"bottomFace\",{get:function(){var t;return null!==(t=this.buttons.get(0))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightFace\",{get:function(){var t;return null!==(t=this.buttons.get(1))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftFace\",{get:function(){var t;return null!==(t=this.buttons.get(2))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"topFace\",{get:function(){var t;return null!==(t=this.buttons.get(3))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(4))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(5))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(6))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(7))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"back\",{get:function(){var t;return null!==(t=this.buttons.get(8))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"start\",{get:function(){var t;return null!==(t=this.buttons.get(9))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(10))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(11))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(0))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(1))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(2))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(3))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"anyButtonPressed\",{get:function(){var t;return null!==(t=Array.from(this.buttons.values()).find((function(t){return t})))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"vibrating\",{get:function(){return this._vibrating},enumerable:!1,configurable:!0}),e.prototype.vibrate=function(t,e,n,i){var r=this;void 0===t&&(t=200),void 0===e&&(e=.2),void 0===n&&(n=.2),void 0===i&&(i=0),this._gamepad.vibrationActuator&&(this._vibrating=!0,this._gamepad.vibrationActuator.playEffect(this._gamepad.vibrationActuator.type,{duration:t,weakMagnitude:e,strongMagnitude:n,startDelay:i}).catch((function(){return r._vibrating=!1})).finally((function(){return r._vibrating=!1})))},e}(),i=function(){function t(t,e,n,i){this.mouse=t,this.keyboard=e,this.gamepad=n,this.touch=i}return t.prototype.update=function(){this.mouse.update(),this.gamepad.update()},t}(),r=function(){function t(t){var e=this;this.pressedKeys=[],this.keyMap=new Map,this.eventHandler=function(t){if(\"keydown\"===t.type&&(e.keyMap.set(t.code,!0),e.pressedKeys.includes(t.code)||e.pressedKeys.push(t.code)),\"keyup\"===t.type){e.keyMap.set(t.code,!1);var n=e.pressedKeys.indexOf(t.code);-1!==n&&e.pressedKeys.splice(n,1)}},t.addEventListener(\"keydown\",this.eventHandler),t.addEventListener(\"keyup\",this.eventHandler)}return t.prototype.isPressed=function(t){var e;return null!==(e=this.keyMap.get(t))&&void 0!==e&&e},t.prototype.orPressed=function(t){var e=this;return t.reduce((function(t,n){var i;return t||null!==(i=e.keyMap.get(n))&&void 0!==i&&i}),!1)},t.prototype.andPressed=function(t){var e=this;return t.reduce((function(t,n){var i;return t&&null!==(i=e.keyMap.get(n))&&void 0!==i&&i}),!0)},t.prototype.isPressedReturn=function(t,e,n){return this.keyMap.get(t)?e:n},t.prototype.orPressedReturn=function(t,e,n){var i=this;return t.reduce((function(t,e){var n;return t||null!==(n=i.keyMap.get(e))&&void 0!==n&&n}),!1)?e:n},t.prototype.andPressedReturn=function(t,e,n){var i=this;return t.reduce((function(t,e){var n;return t&&null!==(n=i.keyMap.get(e))&&void 0!==n&&n}),!0)?e:n},t}(),o=function(){function e(e){this._leftButtonPressed=!1,this._scrollButtonPressed=!1,this._rightButtonPressed=!1,this._positionInViewport=new t,this._hasMoved=!1,this._wheelScroll=new t,this.lastPositionInViewport=new t,this.canvas=e,this.setup()}return Object.defineProperty(e.prototype,\"leftButtonPressed\",{get:function(){return this._leftButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scrollButtonPressed\",{get:function(){return this._scrollButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightButtonPressed\",{get:function(){return this._rightButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"positionInViewport\",{get:function(){return this._positionInViewport},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"hasMoved\",{get:function(){return this._hasMoved},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"wheelScroll\",{get:function(){return this._wheelScroll},enumerable:!1,configurable:!0}),e.prototype.update=function(){!1===this._positionInViewport.equals(this.lastPositionInViewport)?(this._hasMoved=!0,this.lastPositionInViewport.copy(this._positionInViewport)):this._hasMoved=!1,this.wheelEvent?(this._wheelScroll.set(this.wheelEvent.deltaX,this.wheelEvent.deltaY),this.wheelEvent=void 0):this._wheelScroll.set(0,0)},e.prototype.setup=function(){var t=this;this.canvas.addEventListener(\"mousemove\",(function(e){return t.updatePosition(e)})),this.canvas.addEventListener(\"mousedown\",(function(e){return t.updateButtonDown(e)})),this.canvas.addEventListener(\"mouseup\",(function(e){return t.updateButtonUp(e)})),this.canvas.addEventListener(\"wheel\",(function(e){return t.handleWheelEvent(e)}))},e.prototype.updateButtonDown=function(t){this.canvas.focus(),t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0===t.button,this._scrollButtonPressed=1===t.button,this._rightButtonPressed=2===t.button},e.prototype.updateButtonUp=function(t){t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0!==t.button&&this._leftButtonPressed,this._scrollButtonPressed=1!==t.button&&this._scrollButtonPressed,this._rightButtonPressed=2!==t.button&&this._rightButtonPressed},e.prototype.updatePosition=function(t){t.preventDefault(),t.stopPropagation(),this._positionInViewport.set(t.offsetX/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-t.offsetY/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2)},e.prototype.handleWheelEvent=function(t){t.preventDefault(),t.stopPropagation(),this.wheelEvent=t},e}(),s=function(){function e(t){var e=this;this._touching=!1,this._interactions=[],this.eventHandler=function(t){\"touchstart\"===t.type&&(e._touching=!0,e.updatePosition(t)),\"touchmove\"===t.type&&e.updatePosition(t),\"touchend\"!==t.type&&\"touchcancel\"!==t.type||(e._touching=!1)},this.canvas=t,this.canvas.addEventListener(\"touchstart\",this.eventHandler),this.canvas.addEventListener(\"touchend\",this.eventHandler),this.canvas.addEventListener(\"touchcancel\",this.eventHandler),this.canvas.addEventListener(\"touchmove\",this.eventHandler)}return Object.defineProperty(e.prototype,\"touching\",{get:function(){return this._touching},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"interactions\",{get:function(){return this._interactions},enumerable:!1,configurable:!0}),e.prototype.updatePosition=function(e){if(e.preventDefault(),e.stopPropagation(),this._interactions=[],0!==e.targetTouches.length)for(var n=0;n<e.targetTouches.length;n++)this._interactions[n]={positionInViewport:new t((e.targetTouches[n].clientX-this.canvas.offsetLeft)/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-(e.targetTouches[n].clientY-this.canvas.offsetTop)/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2),radius:new t(e.targetTouches[n].radiusX,e.targetTouches[n].radiusY)}},e}(),u=function(t){return new i(new o(t),new r(t),new e,new s(t))};export{e as GamepadController,n as GamepadData,r as KeyboardController,o as MouseController,s as TouchController,u as inputManagerFactory};\n//# sourceMappingURL=index.esm.js.map\n","var t=function(){function t(t,i){void 0===t&&(t=0),void 0===i&&(i=0),this._x=t,this._y=i}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,i){this._x=t,this._y=i},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,i,e){return t.set(i.x+e.x,i.y+e.y),t},t.subtract=function(t,i,e){return t.set(i.x-e.x,i.y-e.y),t},t.unit=function(t,i){return 0===i.magnitude?t.set(0,0):t.set(i.x/i.magnitude,i.y/i.magnitude),t},t.normal=function(t,i){return t.set(-i.y,i.x),this.unit(t,t)},t.scale=function(t,i,e){return t.set(i.x*e,i.y*e),t},t.dot=function(t,i){return t.x*i.x+t.y*i.y},t.cross=function(t,i){return t.x*i.y-t.y*i.x},t.round=function(t,i){return t.set(Math.round(i.x),Math.round(i.y)),t},t}(),i=function(){function i(i,e,o,n){this._position=new t,this._center=new t,this._width=0,this._height=0,this.set(i,e,o,n)}return Object.defineProperty(i.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),i.prototype.set=function(t,i,e,o){this._position.set(t,i),this._width=e,this._height=o},i.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},i.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},i.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},i.prototype.contains=function(e){return e instanceof i?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof t&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)},i}(),e=function(t,i,e){return Math.min(e,Math.max(i,t))};!function(){function i(i,e){void 0===i&&(i=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new t,i?this.radians=i:e&&(this.degrees=e)}Object.defineProperty(i.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),i.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var o,n=function(){function i(){}return i.prototype.create=function(i){var e=i.shape,o=i.layer,n=i.updateCollisions,s=i.physics,r=i.position,h=i.rotation,a=i.group,c=i.onCollision;return{id:0,active:!0,layer:o,shape:e,updateCollisions:n,physics:s,position:null!=r?r:new t,rotation:null!=h?h:0,group:a,onCollision:c}},i}(),s=function(){function t(t,e){void 0===e&&(e=0),this.area=new i(0,0,0,0),this.depth=0,this.items=[],this.children=[],this.depth=e,this.resize(t)}return t.prototype.resize=function(t){this.clear(),this.area.copy(t)},t.prototype.clear=function(){this.items=[],this.children.forEach((function(t){return t.clear()})),this.children=[]},t.prototype.insert=function(t,i){0===this.children.length&&this.items.length>16&&this.depth<8&&this.split(),this.children.length>0?this.insertItemIntoChildren(t,i):this.items.push([t,i])},t.prototype.split=function(){var e=this,o=this.area.width/2,n=this.area.height/2;this.children=[new i(this.area.x,this.area.y,o,n),new i(this.area.x,this.area.y+n,o,n),new i(this.area.x+o,this.area.y+n,o,n),new i(this.area.x+o,this.area.y,o,n)].map((function(i){return new t(i,e.depth+1)})),this.items.forEach((function(t){return e.insertItemIntoChildren(t[0],t[1])})),this.items=[]},t.prototype.insertItemIntoChildren=function(t,i){this.getChildrenForArea(i).forEach((function(e){return e.insert(t,i)}))},t.prototype.retrieve=function(t){var i=[];return this.children.length>0?this.getChildrenForArea(t).forEach((function(e){return i.push.apply(i,e.retrieve(t))})):this.items.forEach((function(t){return i.push(t[0])})),i},t.prototype.getChildrenForArea=function(t){var i=[];return t.x<=this.area.center.x&&t.y<=this.area.center.y&&i.push(this.children[0]),t.x<=this.area.center.x&&t.y1>=this.area.center.y&&i.push(this.children[1]),t.x1>=this.area.center.x&&t.y1>=this.area.center.y&&i.push(this.children[2]),t.x1>=this.area.center.x&&t.y<=this.area.center.y&&i.push(this.children[3]),i},t}(),r=function(t,i,e,o){return Math.min((t-i)/e|0,o-1)},h=function(){function t(t){this.coordinates={x0:0,x1:0,y0:0,y1:0},this._subdivisions=1,this.resize(t)}return Object.defineProperty(t.prototype,\"subdivisions\",{get:function(){return this._subdivisions},set:function(t){this._subdivisions=e(t,1,20)},enumerable:!1,configurable:!0}),t.prototype.resize=function(t){this.area=t,this.cellWidth=Math.ceil(t.width/this._subdivisions),this.cellHeight=Math.ceil(t.height/this._subdivisions),this.itemsInCells=[];for(var i=0;i<this._subdivisions;i++){this.itemsInCells[i]=[];for(var e=0;e<this._subdivisions;e++)this.itemsInCells[i][e]=[]}},t.prototype.clear=function(){for(var t=0;t<this._subdivisions;t++)for(var i=0;i<this._subdivisions;i++)this.itemsInCells[t][i]=[]},t.prototype.insert=function(t,i){this.updateCoordinates(i);for(var e=this.coordinates.x0;e<=this.coordinates.x1;e++)for(var o=this.coordinates.y0;o<=this.coordinates.y1;o++)this.itemsInCells[e][o].push(t)},t.prototype.retrieve=function(t){var i=[];this.updateCoordinates(t);for(var e=this.coordinates.x0;e<=this.coordinates.x1;e++)for(var o=this.coordinates.y0;o<=this.coordinates.y1;o++)this.itemsInCells[e][o].forEach((function(t){return i.includes(t)?null:i.push(t)}));return i},t.prototype.updateCoordinates=function(t){this.coordinates.x0=r(t.x,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.x1=r(t.x1,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.y0=r(t.y,this.area.y,this.cellHeight,this._subdivisions),this.coordinates.y1=r(t.y1,this.area.y,this.cellHeight,this._subdivisions)},t}();!function(t){t[t.QuadTree=0]=\"QuadTree\",t[t.SpartialGrid=1]=\"SpartialGrid\"}(o||(o={}));var a,c=function(){function e(e,n,s,r){this.collisions=[],this.lastCollidersAmount=0,this.minArea=new t,this.maxArea=new t,this.newArea=new i(0,0,0,0),this.method=e,this.colliders=[],this.activeColliders=[],this.collisionMatrix=r,this.setupBroadPhaseResolver(null!=n?n:o.QuadTree,s)}return e.prototype.setupBroadPhaseResolver=function(t,e){this.collisionArea=null!=e?e:new i(0,0,0,0),this.fixedCollisionArea=!!e,t===o.SpartialGrid?this.broadPhaseResolver=new h(this.collisionArea):this.broadPhaseResolver=new s(this.collisionArea)},e.prototype.addCollider=function(t){t.id=this.colliders.length,this.colliders.push(t)},e.prototype.getCollider=function(t){return this.colliders[t]},e.prototype.removeCollider=function(t){this.colliders.splice(t.id,1),this.colliders.forEach((function(t,i){return t.id=i}))},e.prototype.clearColliders=function(){this.colliders=[]},e.prototype.getCollisionsForCollider=function(t){return t.active?this.collisions.filter((function(i){return i.localCollider.id===t.id})):[]},e.prototype.getCollisionsForColliderAndLayer=function(t,i){return t.active?this.collisions.filter((function(e){return e.localCollider.id===t.id&&e.remoteCollider.layer===i})):[]},e.prototype.refreshCollisionsForCollider=function(t){this.colliders[t.id]&&t.active&&(this.collisions=this.collisions.filter((function(i){return i.localCollider.id!==t.id&&i.remoteCollider.id!==t.id})),this.updateShape(t),this.narrowPhase(t,this.broadPhase(t)))},e.prototype.resolve=function(){var t=this;this.collisions=[],0!==this.colliders.length&&(this.activeColliders=this.colliders.filter((function(t){return t.active})),this.broadPhaseResolver.clear(),this.activeColliders.forEach((function(i){t.updateShape(i)})),!1===this.fixedCollisionArea&&(this.updateNewArea(),!1===this.newArea.equals(this.collisionArea)&&(this.collisionArea.copy(this.newArea),this.broadPhaseResolver.resize(this.collisionArea))),this.checkForSpartialGridResize(),this.activeColliders.forEach((function(i){var e=i.id,o=i.shape.boundingBox;return t.broadPhaseResolver.insert(e,o)})),this.updateCollisions())},e.prototype.updateShape=function(t){t.shape.position=t.position,t.shape.rotation=t.rotation,t.shape.update()},e.prototype.updateNewArea=function(){var t=this;this.activeColliders.forEach((function(i){var e=i.shape.boundingBox;t.minArea.set(Math.min(e.x,t.minArea.x),Math.min(e.y,t.minArea.y)),t.maxArea.set(Math.max(e.x1,t.maxArea.x),Math.max(e.y1,t.maxArea.y))})),this.newArea.set(this.minArea.x,this.minArea.y,this.maxArea.x-this.minArea.x,this.maxArea.y-this.minArea.y)},e.prototype.checkForSpartialGridResize=function(){this.broadPhaseResolver instanceof h&&this.lastCollidersAmount!==this.activeColliders.length&&(this.broadPhaseResolver.subdivisions=1+(this.activeColliders.length/10|0),this.broadPhaseResolver.resize(this.collisionArea),this.lastCollidersAmount=this.activeColliders.length)},e.prototype.updateCollisions=function(){var t=this;this.activeColliders.filter((function(t){return t.updateCollisions})).forEach((function(i){return t.narrowPhase(i,t.broadPhase(i))}))},e.prototype.broadPhase=function(t){var i=this;return this.collisionMatrix?this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return i.colliders[t]})).filter((function(t){return t.active})).filter((function(e){return i.collisionMatrix.some((function(i){return i[0]===t.layer&&i[1]===e.layer||i[1]===t.layer&&i[0]===e.layer}))})):this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return i.colliders[t]})).filter((function(t){return t.active}))},e.prototype.narrowPhase=function(t,i){var e=this;i.filter((function(i){return!(t.group&&i.group&&i.group===t.group||t.id===i.id)})).forEach((function(i){if(!e.isResolved(t,i)){var o=e.method.getCollisionResolution(t.shape,i.shape);null!==o&&(e.collisions.push({localCollider:t,remoteCollider:i,resolution:o},{localCollider:i,remoteCollider:t,resolution:{direction:o.displacementDirection,displacementDirection:o.direction,penetration:o.penetration}}),t.onCollision&&t.onCollision(o))}}))},e.prototype.isResolved=function(t,i){for(var e=0,o=this.collisions;e<o.length;e++){var n=o[e];if(n.localCollider.id===t.id&&n.remoteCollider.id===i.id)return!0}return!1},e}();!function(t){t[t.Polygon=0]=\"Polygon\",t[t.Circumference=1]=\"Circumference\",t[t.Line=2]=\"Line\"}(a||(a={}));var l,u=function(){function t(t,i,e){this.AABBResolver=t,this.circumferenceAABBResolver=i,this.circumferenceResolver=e}return t.prototype.getCollisionResolution=function(t,i){return t.type===a.Polygon&&i.type===a.Polygon?this.AABBResolver.resolve(t,i):t.type===a.Circumference&&i.type===a.Polygon?this.circumferenceAABBResolver.resolve(t,i):t.type===a.Polygon&&i.type===a.Circumference?this.circumferenceAABBResolver.resolve(i,t,!0):t.type===a.Circumference&&i.type===a.Circumference?this.circumferenceResolver.resolve(t,i):null},t}();!function(t){t[t.AABB=0]=\"AABB\",t[t.SAT=1]=\"SAT\"}(l||(l={}));var p=function(){function t(t,i){this.circumferenceResolver=t,this.satResolver=i}return t.prototype.getCollisionResolution=function(t,i){return t.type===a.Circumference&&i.type===a.Circumference?this.circumferenceResolver.resolve(t,i):this.satResolver.resolve(t,i)},t}(),d=function(){function i(){this.direction=new t,this.displacementDirection=new t}return i.prototype.resolve=function(i,e){var o=i.boundingBox,n=e.boundingBox;return this.overlapX=Math.min(o.x1,n.x1)-Math.max(o.x,n.x),this.overlapY=Math.min(o.y1,n.y1)-Math.max(o.y,n.y),this.overlapX<0||this.overlapY<0?null:(this.checkOverlapForLines(o,n),this.direction.set(Math.sign(n.center.x-o.center.x),Math.sign(n.center.y-o.center.y)),this.preventContainment(o,n),this.overlapY<this.overlapX?(this.minOverlap=this.overlapY,this.displacementDirection.set(0,-this.direction.y)):(this.minOverlap=this.overlapX,this.displacementDirection.set(-this.direction.x,this.overlapY===this.overlapX?-this.direction.y:0)),t.unit(this.displacementDirection,this.displacementDirection),{direction:t.scale(new t,this.displacementDirection,-1),displacementDirection:this.displacementDirection.clone(),penetration:this.minOverlap})},i.prototype.checkOverlapForLines=function(t,i){0!==t.width&&0!==i.width||0!==this.overlapX||(this.overlapX=Math.min(Math.abs(t.x-i.x),Math.abs(t.x1-i.x1))),0!==t.height&&0!==i.height||0!==this.overlapY||(this.overlapY=Math.min(Math.abs(t.y-i.y),Math.abs(t.y1-i.y1)))},i.prototype.preventContainment=function(t,i){if(this.overlapY>0&&(t.y1>i.y1&&t.y<i.y||t.y1<i.y1&&t.y>i.y)){var e=Math.abs(t.y-i.y),o=Math.abs(t.y1-i.y1);this.overlapY+=e<o?e:o}if(this.overlapX>0&&(t.x1>i.x1&&t.x<i.x||t.x1<i.x1&&t.x>i.x)){e=Math.abs(t.x-i.x),o=Math.abs(t.x1-i.x1);this.overlapX+=e<o?e:o}},i}(),f=function(){function i(){this.closestPoint=new t,this.distance=new t,this.direction=new t}return i.prototype.resolve=function(i,o,n){return void 0===n&&(n=!1),this.closestPoint.set(e(i.position.x,o.boundingBox.x,o.boundingBox.x1),e(i.position.y,o.boundingBox.y,o.boundingBox.y1)),t.subtract(this.distance,this.closestPoint,i.position),this.distance.magnitude>i.radius?null:(t.unit(this.direction,this.distance),{direction:n?t.scale(new t,this.direction,-1):this.direction.clone(),displacementDirection:n?this.direction.clone():t.scale(new t,this.direction,-1),penetration:i.radius-this.distance.magnitude})},i}(),y=function(){function i(){this.distance=new t,this.direction=new t}return i.prototype.resolve=function(i,e){return t.subtract(this.distance,e.position,i.position),this.distance.magnitude>i.radius+e.radius?null:(t.unit(this.direction,this.distance),{direction:this.direction.clone(),displacementDirection:t.scale(new t,this.direction,-1),penetration:i.radius+e.radius-this.distance.magnitude})},i}(),x=function(t,i){return x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])},x(t,i)};function v(t,i,e){if(e||2===arguments.length)for(var o,n=0,s=i.length;n<s;n++)!o&&n in i||(o||(o=Array.prototype.slice.call(i,0,n)),o[n]=i[n]);return t.concat(o||Array.prototype.slice.call(i))}\"function\"==typeof SuppressedError&&SuppressedError;var m,g=function(){function i(){this.projA={min:0,max:0},this.projB={min:0,max:0},this.smallestAxis=new t,this.distance=new t(1/0,1/0),this.cache=new t}return i.prototype.resolve=function(i,e){var o=this;this.minOverlap=1/0,i.type===a.Circumference?this.setCircumferenceAxis(i,e):e.type===a.Circumference&&this.setCircumferenceAxis(e,i),this.axes=v([],i.projectionAxes,!0),e.projectionAxes.forEach((function(t){return o.axes.some((function(i){return i.equals(t)}))?null:o.axes.push(t)}));for(var n=0;n<this.axes.length;n++){if(i.type===a.Circumference?this.setCircumferenceVertices(i,this.axes[n]):e.type===a.Circumference&&this.setCircumferenceVertices(e,this.axes[n]),this.projectShapeOntoAxis(this.projA,i,this.axes[n]),this.projectShapeOntoAxis(this.projB,e,this.axes[n]),this.currentOverlap=Math.min(this.projA.max,this.projB.max)-Math.max(this.projA.min,this.projB.min),this.currentOverlap<0)return null;if(this.invertAxis=!0,this.projA.max>this.projB.max&&this.projA.min<this.projB.min||this.projA.max<this.projB.max&&this.projA.min>this.projB.min){var s=Math.abs(this.projA.min-this.projB.min),r=Math.abs(this.projA.max-this.projB.max);s<r?this.currentOverlap+=s:(this.currentOverlap+=r,t.scale(this.axes[n],this.axes[n],-1),this.invertAxis=!1)}this.currentOverlap<this.minOverlap&&(this.minOverlap=this.currentOverlap,this.smallestAxis.copy(this.axes[n]),this.invertAxis&&this.projA.max<this.projB.max&&t.scale(this.smallestAxis,this.axes[n],-1))}return{direction:t.scale(new t,this.smallestAxis,-1),displacementDirection:this.smallestAxis.clone(),penetration:this.minOverlap}},i.prototype.projectShapeOntoAxis=function(i,e,o){return i.min=1/0,i.max=-1/0,e.vertices.forEach((function(e){i.min=Math.min(t.dot(o,e),i.min),i.max=Math.max(t.dot(o,e),i.max)})),i},i.prototype.setCircumferenceAxis=function(i,e){var o=this;this.distance.set(1/0,1/0),e.vertices.forEach((function(e){t.subtract(o.cache,e,i.position),o.cache.magnitude<o.distance.magnitude&&o.distance.copy(o.cache)})),t.unit(i.projectionAxes[0],this.distance)},i.prototype.setCircumferenceVertices=function(i,e){t.add(i.vertices[0],i.position,t.scale(this.cache,t.unit(this.cache,e),-i.radius)),t.add(i.vertices[1],i.position,t.scale(this.cache,t.unit(this.cache,e),i.radius))},i}(),b=function(){function t(t,i,e,o){this.collisionManager=t,this.colliderFactory=i,this.rigidBodyManager=e,this.rigidBodyFactory=o}return t.prototype.addCollider=function(t){var i=this.colliderFactory.create(t);return this.collisionManager.addCollider(i),i},t.prototype.removeCollider=function(t){this.collisionManager.removeCollider(t)},t.prototype.getCollisionsForCollider=function(t){return this.collisionManager.getCollisionsForCollider(t)},t.prototype.getCollisionsForColliderAndLayer=function(t,i){return this.collisionManager.getCollisionsForColliderAndLayer(t,i)},t.prototype.addRigidBody=function(t){var i=this.rigidBodyFactory.create(t);return this.rigidBodyManager.addRigidBody(i),i},t.prototype.removeRigidBody=function(t){this.rigidBodyManager.removeRigidBody(t)},t.prototype.resolve=function(t){this.collisionManager.resolve(),this.rigidBodyManager.resolve(t)},t.prototype.clear=function(){this.collisionManager.clearColliders(),this.rigidBodyManager.clearRigidBodies()},t}(),M=function(){function i(){}return i.prototype.create=function(i){var e=i.colliderIds,o=i.type,n=i.gravity,s=i.position,r=i.velocity,h=i.onResolve;if(0===e.length)throw new Error(\"RigidBody needs at least one collider\");return{active:!0,colliderIds:e,type:o,gravity:null!=n?n:0,position:null!=s?s:new t,velocity:null!=r?r:new t,onResolve:h}},i}();!function(t){t[t.Static=0]=\"Static\",t[t.Dynamic=1]=\"Dynamic\",t[t.Kinematic=2]=\"Kinematic\"}(m||(m={}));var A=[\"x\",\"y\"],C=function(){function i(i){this.collisionManager=i,this.rigidBodies=[],this.activeRigidBodies=[],this.colliders=[],this.velocity=new t,this.displacement=new t,this.cacheDisplacement=0}return i.prototype.addRigidBody=function(t){this.rigidBodies.push(t)},i.prototype.removeRigidBody=function(t){var i=this.rigidBodies.indexOf(t);i>=0&&this.rigidBodies.splice(i,1)},i.prototype.clearRigidBodies=function(){this.rigidBodies=[]},i.prototype.resolve=function(t){var i=this;this.activeRigidBodies=this.rigidBodies.filter((function(t){return t.active})),this.colliders=this.activeRigidBodies.reduce((function(t,i){return v(v([],t,!0),i.colliderIds,!0)}),[]),this.activeRigidBodies.forEach((function(e){e.type===m.Dynamic?i.dynamicUpdate(e,t):e.type===m.Kinematic&&i.kinematicUpdate(e,t),e.onResolve&&e.onResolve(e)}))},i.prototype.dynamicUpdate=function(t,i){var e=this;this.applyGravity(t,i),A.forEach((function(o){e.applyVelocity(t,i,o),e.obtainDisplacement(t,o),e.applyReposition(t,o)}))},i.prototype.kinematicUpdate=function(i,e){var o=this;t.add(i.position,i.position,t.scale(this.velocity,i.velocity,e)),i.colliderIds.map((function(t){return o.collisionManager.getCollider(t)})).forEach((function(i){t.add(i.position,i.position,o.velocity),o.collisionManager.refreshCollisionsForCollider(i)}))},i.prototype.applyGravity=function(t,i){t.gravity>0&&(t.velocity.y-=t.gravity*i)},i.prototype.applyVelocity=function(t,i,e){var o=this;this.velocity[e]=t.velocity[e]*i,0!==this.velocity[e]&&(t.position[e]+=this.velocity[e],t.colliderIds.map((function(t){return o.collisionManager.getCollider(t)})).forEach((function(t){t.position[e]+=o.velocity[e],o.collisionManager.refreshCollisionsForCollider(t)})))},i.prototype.obtainDisplacement=function(t,i){var e=this;this.displacement[i]=0,this.getCollisions(t).forEach((function(t){e.cacheDisplacement=t.resolution.displacementDirection[i]*t.resolution.penetration,e.displacement[i]=Math.abs(e.displacement[i])>Math.abs(e.cacheDisplacement)?e.displacement[i]:e.cacheDisplacement}))},i.prototype.applyReposition=function(t,i){var e=this;0!==this.displacement[i]&&(t.position[i]+=this.displacement[i],t.colliderIds.map((function(t){return e.collisionManager.getCollider(t)})).forEach((function(t){t.position[i]+=e.displacement[i],e.collisionManager.refreshCollisionsForCollider(t)})),Math.sign(this.displacement[i])!==Math.sign(t.velocity[i])&&(t.velocity[i]=0))},i.prototype.getCollisions=function(t){var i=this;return t.colliderIds.map((function(t){return i.collisionManager.getCollider(t)})).filter((function(t){return t.active&&t.physics})).reduce((function(t,e){return t.push.apply(t,i.collisionManager.getCollisionsForCollider(e).filter((function(t){return t.remoteCollider.physics&&i.colliders.includes(t.remoteCollider.id)}))),t}),[])},i}(),_=function(){function e(e){this.radius=e,this.type=a.Circumference,this.boundingBox=new i(0,0,0,0),this.vertices=[new t,new t],this.projectionAxes=[new t],this._position=new t}return Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),e.prototype.update=function(){this.updateBoundingBox()},e.prototype.updateBoundingBox=function(){this.boundingBox.set(this.position.x-this.radius,this.position.y-this.radius,2*this.radius,2*this.radius)},e}(),w=function(){function e(e){this.vertexModel=e,this.type=a.Polygon,this.vertices=[new t,new t],this.projectionAxes=[new t],this.boundingBox=new i(0,0,0,0),this.rotation=0,this._position=new t}return e.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),e.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},e.prototype.updateBoundingBox=function(){this.boundingBox.x=Math.min(this.vertices[0].x,this.vertices[1].x),this.boundingBox.y=Math.min(this.vertices[0].y,this.vertices[1].y),this.boundingBox.width=Math.max(this.vertices[0].x,this.vertices[1].x)-this.boundingBox.x,this.boundingBox.height=Math.max(this.vertices[0].y,this.vertices[1].y)-this.boundingBox.y},e.prototype.updateProjectionAxes=function(){t.normal(this.projectionAxes[0],t.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0]))},e}(),B=function(){function e(e){this.vertexModel=e,this.type=a.Polygon,this.vertices=[],this.boundingBox=new i(0,0,0,0),this.rotation=0,this._projectionAxes=[],this._position=new t,this.boxMinX=Number.MAX_SAFE_INTEGER,this.boxMinY=Number.MAX_SAFE_INTEGER,this.boxMaxX=-Number.MAX_SAFE_INTEGER,this.boxMaxY=-Number.MAX_SAFE_INTEGER;for(var o=0;o<this.vertexModel.length;o++)this.vertices.push(new t),this._projectionAxes.push(new t)}return Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"projectionAxes\",{get:function(){return this._projectionAxes},enumerable:!1,configurable:!0}),e.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},e.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},e.prototype.updateBoundingBox=function(){var t=this;this.boxMinX=this.vertices[0].x,this.boxMinY=this.vertices[0].y,this.boxMaxX=this.vertices[0].x,this.boxMaxY=this.vertices[0].y,this.vertices.forEach((function(i){t.boxMinX=Math.min(i.x,t.boxMinX),t.boxMinY=Math.min(i.y,t.boxMinY),t.boxMaxX=Math.max(i.x,t.boxMaxX),t.boxMaxY=Math.max(i.y,t.boxMaxY)})),this.boundingBox.set(this.boxMinX,this.boxMinY,this.boxMaxX-this.boxMinX,this.boxMaxY-this.boxMinY)},e.prototype.updateProjectionAxes=function(){for(var i,e=0;e<this.vertices.length;e++)t.normal(this._projectionAxes[e],t.subtract(this._projectionAxes[e],null!==(i=this.vertices[e+1])&&void 0!==i?i:this.vertices[0],this.vertices[e]))},e}(),j=function(i){function e(e,o){var n=i.call(this,[new t(-e/2,-o/2),new t(-e/2,o/2),new t(e/2,o/2),new t(e/2,-o/2)])||this;return n.width=e,n.height=o,n._projectionAxes=[new t,new t],n}return function(t,i){if(\"function\"!=typeof i&&null!==i)throw new TypeError(\"Class extends value \"+String(i)+\" is not a constructor or null\");function e(){this.constructor=t}x(t,i),t.prototype=null===i?Object.create(i):(e.prototype=i.prototype,new e)}(e,i),e.prototype.updateSize=function(t,i){this.width=t,this.height=i,this.vertexModel[0].set(-t/2,-i/2),this.vertexModel[1].set(-t/2,i/2),this.vertexModel[2].set(t/2,i/2),this.vertexModel[3].set(t/2,-i/2)},e.prototype.updateProjectionAxes=function(){t.unit(this.projectionAxes[0],t.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0])),t.normal(this.projectionAxes[1],this.projectionAxes[0])},e}(B),P=function(t){var i=void 0===t?{}:t,e=i.collisionArea,o=i.collisionMatrix,s=i.collisionMethod,r=i.collisionBroadPhaseMethod,h=new y,a=s===l.AABB?new u(new d,new f,h):new p(h,new g),x=new c(a,r,e,o),v=new n,m=new C(x),A=new M;return new b(x,v,m,A)};export{o as BroadPhaseMethods,_ as Circumference,l as CollisionMethods,w as Line,B as Polygon,j as Rectangle,m as RigidBodyType,P as physicsManagerFactory};\n//# sourceMappingURL=index.esm.js.map\n"],"names":["t","e","this","_x","_y","Object","defineProperty","prototype","get","set","enumerable","configurable","Math","sqrt","pow","_direction","unit","copy","x","y","equals","clone","distance","add","i","subtract","magnitude","normal","scale","dot","cross","round","n","o","_position","_center","_width","_height","width","height","position","overlaps","x1","y1","contains","min","max","random","r","s","push","u","h","_degrees","_radians","radians","degrees","PI","updateDirection","cos","sin","setPrototypeOf","__proto__","Array","hasOwnProperty","call","TypeError","String","constructor","create","assign","arguments","length","apply","slice","concat","SuppressedError","Init","Start","Update","UpdateEngine","UpdateCollider","UpdatePhysics","UpdateTransform","UpdatePreRender","UpdateCamera","UpdateRender","Destroy","StopGame","a","timeManager","physicsManager","renderManager","inputManager","gameObjectManager","sceneManager","canvasColor","running","gameLoopAccumulator","gameObjects","components","changingScene","sceneEvents","gameObjectEvents","start","startLoop","pause","resume","stop","dispatchFrameEvent","clear","clearScreen","loadOpeningScene","requestAnimationLoop","window","performance","now","gameFramerate","physicsFramerate","asyncPhysicsLoop","updateForBrowser","pendingSceneToload","loadPendingScene","browserDeltaTime","minGameDeltatime","gameLogicIteration","renderIteration","unloadCurrentScene","requestAnimationFrame","updateForGame","load","update","updateForPhysics","physicsIteration","render","clearData","timeScale","resolve","physicsDeltaTime","physicsIntervalId","setInterval","clearInterval","document","hidden","loadedScene","getLoadedScene","findGameObjects","filter","active","forEach","getComponents","includes","dispatch","c","updateEvent","started","container","gameConfig","getConstant","headless","assetManager","getSingleton","domManager","init","onDestroy","_destroy","_stopGame","addGameObject","findGameObject","findGameObjectsByTag","destroyGameObject","l","allowMultiple","_active","gameObject","name","onActiveChange","getCurrentScene","getGameObject","getComponent","hasComponent","removeComponent","keys","p","d","f","g","m","Polygon","Circumference","Line","WorldSpace","ViewPort","Sprite","Text","Tilemap","Mask","Geometric","Video","v","gl","viewport","object","setViewport","zoom","canvas","setObjectForResizeable","rotation","abs","setObjectForText","text","fontSize","lineSeparation","letterSpacing","split","reduce","setObjectForGeometric","vertexModel","shape","radius","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","setObjectForTilemap","tilemap","ceil","tiles","renderPosition","tileWidth","tileHeight","applyCullingInTiles","culledTiles","map","isInViewPort","location","type","applyCulling","b","M","_","Center","RightUp","RightDown","RightCenter","w","C","webglManager","cullingManager","renderData","cameraData","addRenderData","addCameraData","sort","depth","renderByCamera","layers","layer","indexOf","realWidth","realHeight","orientation","clearCanvas","preloadTexture","createTexture","LegacyWebGL","WebGL2","j","contextVersion","getContextVersion","Error","getContext","O","fontAtlas","Map","hasFontAtlas","has","symbol","getFontAtlas","getOrCreate","bitmapSize","chars","fromCharCode","renderAtlas","FontFace","family","Symbol","for","P","clearRect","textBaseline","fillStyle","font","fillText","glyphs","id","measureText","fontFaceFamily","bitmapFontSize","gridSize","createElement","R","shaderLoader","createProgram","VERTEX_SHADER","FRAGMENT_SHADER","attachShader","linkProgram","LINK_STATUS","getProgramParameter","getProgramInfoLog","deleteProgram","A","programFactory","loadProgram","program","positionBuffer","createBuffer","textureBuffer","positionCoordsAttr","getAttribLocation","texCoordsAttr","modelMatrixUniform","getUniformLocation","projectionMatrixUniform","textureMatrixUniform","renderTextureUniform","textureUniform","solidColorUniform","useTintColorUniform","tintColorUniform","useMaskColorUniform","maskColorUniform","maskColorMixUniform","alphaUniform","useProgram","blendFunc","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","enableVertexAttribArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","S","createShader","shaderSource","compileShader","COMPILE_STATUS","getShaderParameter","getShaderInfoLog","deleteShader","E","Float32Array","T","D","F","B","U","hypot","I","L","exec","parseInt","V","k","programManager","vertices","lastVertices","projectionMatrix","modelMatrix","textureMatrix","circumferenceVertices","renderLines","LINE_LOOP","LINES","renderCircumference","generateVerticesKey","generatePolygonVertices","bufferData","DYNAMIC_DRAW","uniformMatrix4fv","uniform1i","color","uniform4f","uniform1f","drawArrays","toString","Rectangle","G","W","rectangleVertices","lastShape","STATIC_DRAW","alpha","enable","BLEND","disable","TRIANGLES","TRIANGLE_FAN","H","textureManager","lastTexture","posVertices","texVertices","flipHorizontal","flipVertical","image","naturalWidth","naturalHeight","getOrCreateTextureFromImage","smooth","bindTexture","TEXTURE_2D","tintColor","maskColor","maskColorMix","z","N","Y","X","q","fontAtlasFactory","textSize","modelPosition","setDefaultValues","bitmap","charRanges","generateTextVertices","setPositionFromOrientation","getOrCreateTextureFromCanvas","margin","spacing","K","tileset","texMargin","texSpacing","texWidth","texHeight","texCorrection","processTileset","generateVertices","correction","floor","Q","video","videoWidth","videoHeight","getOrCreateTextureFromVideo","texImage2D","RGBA","UNSIGNED_BYTE","$","createFromImage","createFromSource","addEventListener","createFromCanvas","createPixelTexture","Uint8Array","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","LINEAR","TEXTURE_MAG_FILTER","NEAREST","J","textureFactory","textures","src","createTextureFromImage","createTextureFromCanvas","createTextureFromVideo","Z","renderers","lastRender","clearColor","COLOR_BUFFER_BIT","tt","et","it","nt","rt","updateCollisions","physics","group","onCollision","ot","area","items","children","resize","insert","insertItemIntoChildren","getChildrenForArea","retrieve","center","st","at","coordinates","x0","y0","_subdivisions","cellWidth","cellHeight","itemsInCells","updateCoordinates","QuadTree","SpartialGrid","ht","ct","collisions","lastCollidersAmount","minArea","maxArea","newArea","method","colliders","activeColliders","collisionMatrix","setupBroadPhaseResolver","collisionArea","fixedCollisionArea","broadPhaseResolver","addCollider","getCollider","removeCollider","splice","clearColliders","getCollisionsForCollider","localCollider","getCollisionsForColliderAndLayer","remoteCollider","refreshCollisionsForCollider","updateShape","narrowPhase","broadPhase","updateNewArea","checkForSpartialGridResize","boundingBox","subdivisions","some","isResolved","getCollisionResolution","resolution","direction","displacementDirection","penetration","lt","ut","AABBResolver","circumferenceAABBResolver","circumferenceResolver","AABB","SAT","pt","satResolver","dt","overlapX","overlapY","checkOverlapForLines","sign","preventContainment","minOverlap","ft","closestPoint","gt","mt","yt","vt","xt","projA","projB","smallestAxis","cache","setCircumferenceAxis","axes","projectionAxes","setCircumferenceVertices","projectShapeOntoAxis","currentOverlap","invertAxis","bt","collisionManager","colliderFactory","rigidBodyManager","rigidBodyFactory","addRigidBody","removeRigidBody","clearRigidBodies","Mt","colliderIds","gravity","velocity","onResolve","Static","Dynamic","Kinematic","_t","wt","rigidBodies","activeRigidBodies","displacement","cacheDisplacement","dynamicUpdate","kinematicUpdate","applyGravity","applyVelocity","obtainDisplacement","applyReposition","getCollisions","Ct","updateBoundingBox","jt","updateVertices","updateProjectionAxes","Ot","_projectionAxes","boxMinX","boxMinY","boxMaxX","boxMaxY","Pt","updateSize","Rt","At","St","gamepads","eventHandler","gamepadConnected","gamepad","gamepadDisconected","getGamepad","getGamepads","from","values","index","Et","updateFromGamepad","delete","getGamepadsFromBrowser","navigator","webkitGetGamepads","buttons","_dpadAxes","_leftStickAxes","_rightStickAxes","_vibrating","_gamepad","pressed","connected","getButtonPressed","getAxis","dpadRight","dpadLeft","dpadUp","dpadDown","leftStickHorizontal","leftStickVertical","rightStickHorizontal","rightStickVertical","find","vibrate","vibrationActuator","playEffect","duration","weakMagnitude","strongMagnitude","startDelay","catch","finally","Tt","mouse","keyboard","touch","Dt","pressedKeys","keyMap","code","isPressed","orPressed","andPressed","isPressedReturn","orPressedReturn","andPressedReturn","Ft","_leftButtonPressed","_scrollButtonPressed","_rightButtonPressed","_positionInViewport","_hasMoved","_wheelScroll","lastPositionInViewport","setup","wheelEvent","deltaX","deltaY","updatePosition","updateButtonDown","updateButtonUp","handleWheelEvent","focus","preventDefault","stopPropagation","button","offsetX","clientWidth","offsetY","clientHeight","Bt","_touching","_interactions","targetTouches","positionInViewport","clientX","offsetLeft","clientY","offsetTop","radiusX","radiusY","Image","Audio","Font","Ut","It","assets","getAssetsLoaded","loaded","loadImage","crossOrigin","createAsset","loadAudio","loadFont","then","fonts","loadVideo","playsInline","getImage","url","element","getAudio","getFont","getVideo","Lt","Vt","_canvas","containerNode","gameWidth","gameHeight","setupCanvas","tabIndex","appendChild","kt","lastId","findGameObjectById","findGameObjectsByParent","parent","findGameObjectByParent","tag","destroyAllGameObjects","keep","destroy","destroyChildren","Gt","asyncGameLoop","gameInterval","process","uptime","physicsInterval","Wt","scenes","sceneNamePendingToLoad","addScene","currentScene","openingSceneName","loadScene","Ht","zt","minPhysicsDeltaTime","unscaledDeltaTime","unscaledPhysicsDeltaTime","maxDeltaTime","thenForGame","thenForPhysics","thenForBrowser","join","parseFloat","toFixed","Yt","instances","constructors","constants","getTranscient","addConstant","Xt","qt","Kt","Qt","$t","debugEnabled","spriteDefaultScale","collisionMethod","collisionBroadPhaseMethod","Jt","_config","setupManagers","Nt","iterationManager","run","Zt","parentScale","parentRotation","_scale","_rotation","_innerPosition","_parent","lastParentRadians","lastPosition","scaledInnerPosition","setPositionFromParent","translateInnerPosition","updateScaledInnerPosition","atan2","te","renderer","activateColliders","updateRealSize","updateColliders","collidesWithLayer","collidesWithLayers","getCollisionWithLayer","createCollisionData","getCollisionsWithLayer","getCollisionsWithLayers","collider","ee","rigidBody","rigidBodyType","getColliderIds","transform","innerPosition","ie","ne","ui","activeComponentsCache","activeChildrenCache","addComponent","updateComponentsActiveStatus","updateChildrenActiveStatus","getChildren","checkMultipleComponent","addChild","getChild","destroyComponents","re","oe","viewportRect","worldSpaceRect","_zoom","addLayer","updateViewportRect","updateWorldSpaceRect","updateCameraData","se","camera","ae","game","config","he","debug","scaledVertexModel","scaledOffset","scaledPosition","finalRotation","ce","translate","le","realOffset","realPosition","realRotation","applyRotation","ue","realRadius","pe","de","tilemapRenderer","composite","scaledTileWidth","scaledTileHeight","scaledWidth","scaledHeight","useLineColliders","useBoxColliders","fe","needsCollider","getNeighbors","hasTile","addLineCollider","ge","me","ye","cachePosition","cacheRenderPosition","cacheScale","sprite","offset","opacity","_tiled","tiled","updateRenderDataArray","updateRenderData","calculateRenderPosition","translateRenderPosition","ve","lastFrameText","bitmapMargin","bitmapSpacing","crop","xe","be","Me","_playing","_paused","videoEventHandler","removeEventListener","userInputEventHandler","play","_volume","volume","_loop","loop","currentTime","_e","infinite","tilesetTileIds","chunks","tiledData","tilemapLayer","tiledLayer","processTilemap","visible","tintcolor","processChunk","processFixedLayer","data","getTilesetTileId","tilesets","firstgid","we","trim","Ce","spriteRenderer","animations","currentAnimation","paused","playFrame","deltaTime","restarted","addAnimation","framerate","je","playAnimation","stopAnimation","reset","isPlayingAnimation","isPaused","_sprite","_restarted","currentFrame","frameTime","_animation","sprites","Oe","Pe","tracks","audioSourceCache","audioEventHandler","_audioSource","audioContext","AudioContext","state","playClip","addAudioSource","cloneNode","createMediaElementSource","connect","destination","loadAudioSource","close","Re","_loaded","Ae","touchEnabled","pressedLastFrame","scaled","leftButtonPressed","resolveMouseAndRectangle","resolveMouseAndCircumference","touching","resolveTouchAndRectangle","resolveTouchAndCircumference","onClick","onPressed","interactions","Se","mousePressed","gameCamera","console","log"],"mappings":"AAAG,IAACA,EAAE,WAAW,SAASA,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,QAAG,IAASC,IAAIA,EAAE,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,EAAE,OAAOI,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKC,IAAIM,IAAI,SAAST,GAAGE,KAAKC,GAAGH,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKE,IAAIK,IAAI,SAAST,GAAGE,KAAKE,GAAGJ,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAOI,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAG,GAAGS,KAAKE,IAAIZ,KAAKE,GAAG,KAAKM,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,aAAab,KAAKa,WAAW,IAAIf,GAAGA,EAAEgB,KAAKd,KAAKa,WAAWb,OAAOQ,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,GAAGD,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAInB,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKC,KAAKH,EAAEkB,GAAGhB,KAAKE,KAAKJ,EAAEmB,GAAGnB,EAAEO,UAAUc,MAAM,WAAW,OAAO,IAAIrB,EAAEE,KAAKC,GAAGD,KAAKE,KAAKJ,EAAEO,UAAUe,SAAS,SAAStB,GAAG,OAAOY,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAGH,EAAEkB,EAAE,GAAGN,KAAKE,IAAIZ,KAAKE,GAAGJ,EAAEmB,EAAE,KAAKnB,EAAEuB,IAAI,SAASvB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEyB,SAAS,SAASzB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEgB,KAAK,SAAShB,EAAEC,GAAG,OAAO,IAAIA,EAAEyB,UAAU1B,EAAES,IAAI,EAAE,GAAGT,EAAES,IAAIR,EAAEiB,EAAEjB,EAAEyB,UAAUzB,EAAEkB,EAAElB,EAAEyB,WAAW1B,GAAGA,EAAE2B,OAAO,SAAS3B,EAAEC,GAAG,OAAOD,EAAES,KAAKR,EAAEkB,EAAElB,EAAEiB,GAAGhB,KAAKc,KAAKhB,EAAEA,IAAIA,EAAE4B,MAAM,SAAS5B,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEvB,EAAEkB,EAAEK,GAAGxB,GAAGA,EAAE6B,IAAI,SAAS7B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEiB,EAAElB,EAAEmB,EAAElB,EAAEkB,GAAGnB,EAAE8B,MAAM,SAAS9B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEkB,EAAEnB,EAAEmB,EAAElB,EAAEiB,GAAGlB,EAAE+B,MAAM,SAAS/B,EAAEC,GAAG,OAAOD,EAAES,IAAIG,KAAKmB,MAAM9B,EAAEiB,GAAGN,KAAKmB,MAAM9B,EAAEkB,IAAInB,GAAGA,EAAh9C,GAAq9CC,EAAE,WAAW,SAASA,EAAEA,EAAEuB,EAAEQ,EAAEC,GAAG/B,KAAKgC,UAAU,IAAIlC,EAAEE,KAAKiC,QAAQ,IAAInC,EAAEE,KAAKkC,OAAO,EAAElC,KAAKmC,QAAQ,EAAEnC,KAAKO,IAAIR,EAAEuB,EAAEQ,EAAEC,GAAG,OAAO5B,OAAOC,eAAeL,EAAEM,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,GAAGT,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEE,KAAKgC,UAAUf,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,GAAGV,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIP,KAAKgC,UAAUhB,EAAElB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,EAAEhB,KAAKkC,QAAQ1B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,EAAEjB,KAAKmC,SAAS3B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKkC,QAAQ3B,IAAI,SAAST,GAAGE,KAAKkC,OAAOpC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKmC,SAAS5B,IAAI,SAAST,GAAGE,KAAKmC,QAAQrC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKiC,QAAQ1B,IAAIP,KAAKgB,EAAEhB,KAAKoC,MAAM,EAAEpC,KAAKiB,EAAEjB,KAAKqC,OAAO,GAAGrC,KAAKiC,SAASzB,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAUE,IAAI,SAAST,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAUzB,IAAIT,EAAEC,GAAGC,KAAKkC,OAAOZ,EAAEtB,KAAKmC,QAAQL,GAAG/B,EAAEM,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKsC,SAASpB,OAAOpB,EAAEwC,WAAWtC,KAAKoC,QAAQtC,EAAEsC,OAAOpC,KAAKqC,SAASvC,EAAEuC,QAAQtC,EAAEM,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,EAAEnB,EAAEsC,MAAMtC,EAAEuC,SAAStC,EAAEM,UAAUkC,SAAS,SAASzC,GAAG,OAAOE,KAAKwC,IAAI1C,EAAEkB,GAAGhB,KAAKgB,EAAElB,EAAE0C,IAAIxC,KAAKyC,IAAI3C,EAAEmB,GAAGjB,KAAKiB,EAAEnB,EAAE2C,IAAI1C,EAAEM,UAAUqC,SAAS,SAASpB,GAAG,OAAOA,aAAavB,EAAEuB,EAAEkB,IAAIxC,KAAKwC,IAAIlB,EAAEN,GAAGhB,KAAKgB,GAAGM,EAAEmB,IAAIzC,KAAKyC,IAAInB,EAAEL,GAAGjB,KAAKiB,EAAEK,aAAaxB,KAAKwB,EAAEN,EAAEhB,KAAKgB,GAAGM,EAAEL,EAAEjB,KAAKiB,GAAGK,EAAEN,GAAGhB,KAAKwC,IAAIlB,EAAEL,GAAGjB,KAAKyC,KAAK1C,EAA/0D,GAAo1DuB,EAAE,SAASxB,EAAEC,EAAEuB,GAAG,OAAOZ,KAAKiC,IAAIrB,EAAEZ,KAAKkC,IAAI7C,EAAED,KAAKgC,EAAE,SAAShC,EAAEC,GAAG,OAAOW,KAAKmB,MAAMnB,KAAKmC,UAAU9C,EAAED,IAAIA,GAAGiC,EAAE,SAASjC,EAAEC,EAAEuB,GAAG,YAAO,IAASA,IAAIA,EAAE,GAAGwB,EAAEpC,KAAKmC,UAAU9C,EAAED,GAAGA,EAAEwB,IAAIwB,EAAE,SAAShD,EAAEC,GAAG,OAAOW,KAAKmB,MAAM/B,EAAEY,KAAKE,IAAI,GAAGb,IAAIW,KAAKE,IAAI,GAAGb,IAAIgD,EAAE,SAASjD,EAAEC,EAAEuB,QAAG,IAASA,IAAIA,EAAE,GAAG,IAAI,IAAIQ,EAAE,GAAGC,EAAEjC,EAAEiC,GAAGhC,EAAEgC,GAAGT,EAAEQ,EAAEkB,KAAKjB,GAAG,OAAOD,GAAGmB,EAAE,SAASnD,EAAEC,EAAEuB,GAAG,OAAOxB,GAAGC,GAAGD,GAAGwB,GAAG4B,EAAE,WAAW,SAASnD,EAAEA,EAAEuB,QAAG,IAASvB,IAAIA,EAAE,WAAM,IAASuB,IAAIA,EAAE,MAAMtB,KAAKmD,SAAS,EAAEnD,KAAKoD,SAAS,EAAEpD,KAAKa,WAAW,IAAIf,EAAEC,EAAEC,KAAKqD,QAAQtD,EAAEuB,IAAItB,KAAKsD,QAAQhC,GAAG,OAAOnB,OAAOC,eAAeL,EAAEM,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKmD,UAAU5C,IAAI,SAAST,GAAGE,KAAKmD,SAASrD,EAAEE,KAAKoD,SAAStD,EAAEY,KAAK6C,GAAG,IAAIvD,KAAKwD,mBAAmBhD,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKoD,UAAU7C,IAAI,SAAST,GAAGE,KAAKoD,SAAStD,EAAEE,KAAKmD,SAAS,IAAIrD,EAAEY,KAAK6C,GAAGvD,KAAKwD,mBAAmBhD,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,YAAYL,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAUmD,gBAAgB,WAAWxD,KAAKa,WAAWN,IAAIG,KAAK+C,IAAIzD,KAAKoD,UAAU1C,KAAKgD,IAAI1D,KAAKoD,YAAYrD,EAAtxB,GCAhqHD,EAAE,SAASC,EAAEuB,GAAG,OAAOxB,EAAEK,OAAOwD,gBAAgB,CAACC,UAAU,cAAcC,OAAO,SAAS/D,EAAEC,GAAGD,EAAE8D,UAAU7D,IAAI,SAASD,EAAEC,GAAG,IAAI,IAAIuB,KAAKvB,EAAEI,OAAOE,UAAUyD,eAAeC,KAAKhE,EAAEuB,KAAKxB,EAAEwB,GAAGvB,EAAEuB,KAAKxB,EAAEC,EAAEuB,IAAI,SAASvB,EAAEA,EAAEuB,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAI0C,UAAU,uBAAuBC,OAAO3C,GAAG,iCAAiC,SAASQ,IAAI9B,KAAKkE,YAAYnE,EAAED,EAAEC,EAAEuB,GAAGvB,EAAEM,UAAU,OAAOiB,EAAEnB,OAAOgE,OAAO7C,IAAIQ,EAAEzB,UAAUiB,EAAEjB,UAAU,IAAIyB,GAAG,IAAIR,EAAEQ,EAAE,WAAW,OAAOA,EAAE3B,OAAOiE,QAAQ,SAAStE,GAAG,IAAI,IAAIC,EAAEuB,EAAE,EAAEQ,EAAEuC,UAAUC,OAAOhD,EAAEQ,EAAER,IAAI,IAAI,IAAIwB,KAAK/C,EAAEsE,UAAU/C,GAAGnB,OAAOE,UAAUyD,eAAeC,KAAKhE,EAAE+C,KAAKhD,EAAEgD,GAAG/C,EAAE+C,IAAI,OAAOhD,GAAGgC,EAAEyC,MAAMvE,KAAKqE,YAAY,SAASvB,EAAEhD,EAAEC,EAAEuB,GAAG,GAAGA,GAAG,IAAI+C,UAAUC,OAAO,IAAI,IAAIxC,EAAEgB,EAAE,EAAEf,EAAEhC,EAAEuE,OAAOxB,EAAEf,EAAEe,KAAKhB,GAAGgB,KAAK/C,IAAI+B,IAAIA,EAAE+B,MAAMxD,UAAUmE,MAAMT,KAAKhE,EAAE,EAAE+C,IAAIhB,EAAEgB,GAAG/C,EAAE+C,IAAI,OAAOhD,EAAE2E,OAAO3C,GAAG+B,MAAMxD,UAAUmE,MAAMT,KAAKhE,IAAI,mBAAmB2E,iBAAiBA,gBAAgB,SAAS5E,GAAGA,EAAEA,EAAE6E,KAAK,GAAG,OAAO7E,EAAEA,EAAE8E,MAAM,GAAG,QAAQ9E,EAAEA,EAAE+E,OAAO,GAAG,SAAS/E,EAAEA,EAAEgF,aAAa,GAAG,eAAehF,EAAEA,EAAEiF,eAAe,GAAG,iBAAiBjF,EAAEA,EAAEkF,cAAc,GAAG,gBAAgBlF,EAAEA,EAAEmF,gBAAgB,GAAG,kBAAkBnF,EAAEA,EAAEoF,gBAAgB,GAAG,kBAAkBpF,EAAEA,EAAEqF,aAAa,GAAG,eAAerF,EAAEA,EAAEsF,aAAa,GAAG,eAAetF,EAAEA,EAAEuF,QAAQ,IAAI,UAAUvF,EAAEA,EAAEwF,SAAS,IAAI,WAA7X,CAAyYhE,IAAIA,EAAE,KAAQ,IAACS,EAAEgB,EAAEwC,EAAErC,EAAE,WAAW,SAASpD,EAAEA,EAAEC,EAAE+B,EAAEgB,EAAEf,EAAEgB,EAAEwC,GAAGvF,KAAKwF,YAAY1F,EAAEE,KAAKyF,eAAe1F,EAAEC,KAAK0F,cAAc5D,EAAE9B,KAAK2F,aAAa7C,EAAE9C,KAAK4F,kBAAkB7D,EAAE/B,KAAK6F,aAAa9C,EAAE/C,KAAK8F,YAAYP,EAAEvF,KAAK+F,SAAQ,EAAG/F,KAAKgG,oBAAoB,EAAEhG,KAAKiG,YAAY,GAAGjG,KAAKkG,WAAW,GAAGlG,KAAKmG,eAAc,EAAGnG,KAAKoG,YAAY,CAAC9E,EAAEsD,MAAMtD,EAAEuD,OAAOvD,EAAEgE,UAAUtF,KAAKqG,iBAAiB,CAAC/E,EAAEsD,MAAMtD,EAAEuD,QAAQ,OAAO/E,EAAEO,UAAUiG,MAAM,WAAWtG,KAAKuG,WAAU,IAAKzG,EAAEO,UAAUmG,MAAM,WAAWxG,KAAK+F,SAAQ,GAAIjG,EAAEO,UAAUoG,OAAO,WAAWzG,KAAKuG,WAAU,IAAKzG,EAAEO,UAAUqG,KAAK,WAAW1G,KAAK+F,SAAQ,EAAG/F,KAAK2G,mBAAmBrF,EAAEgE,UAAUtF,KAAKyF,eAAemB,QAAQ5G,KAAK0F,cAAcmB,YAAY7G,KAAK8F,cAAchG,EAAEO,UAAUkG,UAAU,SAASzG,GAAGE,KAAK+F,UAAU/F,KAAK+F,SAAQ,EAAGjG,GAAGE,KAAK6F,aAAaiB,mBAAmB9G,KAAK+G,qBAAqBC,OAAOC,YAAYC,OAAOlH,KAAKwF,YAAY2B,gBAAgBnH,KAAKwF,YAAY4B,kBAAkBpH,KAAKqH,qBAAqBvH,EAAEO,UAAU0G,qBAAqB,SAASjH,GAAG,IAAIC,EAAEC,KAAKA,KAAK+F,UAAU/F,KAAKwF,YAAY8B,iBAAiB,KAAKxH,GAAGE,KAAK6F,aAAa0B,uBAAuBvH,KAAK6F,aAAa2B,mBAAmBxH,KAAKmG,eAAc,GAAInG,KAAKgG,qBAAqBhG,KAAKwF,YAAYiC,iBAAiBzH,KAAKgG,qBAAqBhG,KAAKwF,YAAYkC,mBAAmB1H,KAAK2H,mBAAmB,KAAK7H,GAAGE,KAAKgG,qBAAqBhG,KAAKwF,YAAYkC,kBAAkB1H,KAAK4H,kBAAkB5H,KAAK6F,aAAa0B,uBAAuBvH,KAAKmG,eAAc,EAAGnG,KAAK6F,aAAagC,sBAAsBb,OAAOc,gCAAgChI,GAAG,OAAOC,EAAEgH,qBAAqBjH,QAAQA,EAAEO,UAAUsH,mBAAmB,SAAS7H,GAAGE,KAAKwF,YAAYuC,cAAcjI,GAAGE,KAAKgI,OAAOhI,KAAK2G,mBAAmBrF,EAAEsD,OAAO5E,KAAK2F,aAAasC,SAASjI,KAAK2G,mBAAmBrF,EAAEuD,QAAQ7E,KAAK2G,mBAAmBrF,EAAEwD,cAAc9E,KAAK2G,mBAAmBrF,EAAE2D,iBAAiBjF,KAAKwF,YAAY2B,gBAAgBnH,KAAKwF,YAAY4B,mBAAmBpH,KAAKwF,YAAY0C,iBAAiBpI,GAAGE,KAAKmI,oBAAoBnI,KAAK2G,mBAAmBrF,EAAE4D,kBAAkBpF,EAAEO,UAAUuH,gBAAgB,WAAW5H,KAAK2G,mBAAmBrF,EAAE4D,iBAAiBlF,KAAK2G,mBAAmBrF,EAAE6D,cAAcnF,KAAK2G,mBAAmBrF,EAAE8D,cAAcpF,KAAK0F,cAAcmB,YAAY7G,KAAK8F,aAAa9F,KAAK0F,cAAc0C,SAASpI,KAAK0F,cAAc2C,aAAavI,EAAEO,UAAU8H,iBAAiB,WAAWnI,KAAKwF,YAAY8C,WAAW,GAAGtI,KAAKmG,gBAAgBnG,KAAK2G,mBAAmBrF,EAAE0D,eAAehF,KAAK2G,mBAAmBrF,EAAEyD,gBAAgB/E,KAAK2G,mBAAmBrF,EAAE2D,iBAAiBjF,KAAKyF,eAAe8C,QAAQvI,KAAKwF,YAAYgD,oBAAoB1I,EAAEO,UAAUgH,iBAAiB,WAAW,IAAIvH,EAAEE,KAAKA,KAAKyI,kBAAkBzB,OAAO0B,aAAa,WAAW,IAAI5I,EAAEiG,QAAQ,OAAOiB,OAAO2B,cAAc7I,EAAE2I,mBAAmB3I,EAAE0F,YAAY0C,iBAAiB,KAAKlB,OAAOC,YAAYC,OAAO0B,SAASC,QAAQ/I,EAAEqI,qBAAqB,IAAInI,KAAKwF,YAAY4B,mBAAmBtH,EAAEO,UAAU2H,KAAK,WAAW,IAAIlI,EAAEE,KAAKA,KAAK8I,YAAY9I,KAAK6F,aAAakD,iBAAiB/I,KAAKiG,YAAYjG,KAAK4F,kBAAkBoD,kBAAkBC,QAAQ,SAASnJ,GAAG,OAAOA,EAAEoJ,UAAUlJ,KAAKkG,WAAW,GAAGlG,KAAKiG,YAAYkD,kBAAkBpJ,GAAG,OAAOA,EAAEqJ,gBAAgBH,QAAQ,SAASnJ,GAAG,OAAOA,EAAEoJ,UAAUC,SAAO,SAAWpJ,GAAG,OAAOD,EAAEoG,WAAWlD,KAAKjD,UAAUD,EAAEO,UAAUsG,mBAAmB,SAAS7G,GAAGE,KAAKoG,YAAYiD,SAASvJ,IAAIE,KAAK8I,YAAYQ,SAASxJ,GAAGE,KAAKqG,iBAAiBgD,SAASvJ,IAAIE,KAAKiG,YAAYkD,SAAS,SAASpJ,GAAGA,EAAEmJ,QAAQnJ,EAAEuJ,SAASxJ,MAAME,KAAKkG,WAAWiD,SAAS,SAASpJ,GAAGA,EAAEmJ,QAAQnJ,EAAEuJ,SAASxJ,OAAOA,EAAp7G,GAAy7GyJ,EAAE,WAAW,SAASzJ,EAAEA,GAAGE,KAAKwJ,YAAYlI,EAAEuD,OAAO7E,KAAKyJ,SAAQ,EAAGzJ,KAAK0J,UAAU5J,EAAEE,KAAK2J,WAAW3J,KAAK0J,UAAUE,YAAY,cAAc5J,KAAK2J,WAAWE,WAAW7J,KAAK8J,aAAa9J,KAAK0J,UAAUK,aAAa,gBAAgB/J,KAAKgK,WAAWhK,KAAK0J,UAAUK,aAAa,cAAc/J,KAAK2F,aAAa3F,KAAK0J,UAAUK,aAAa,gBAAgB/J,KAAK0F,cAAc1F,KAAK0J,UAAUK,aAAa,kBAAkB/J,KAAK4F,kBAAkB5F,KAAK0J,UAAUK,aAAa,qBAAqB/J,KAAKyF,eAAezF,KAAK0J,UAAUK,aAAa,kBAAkB/J,KAAK6F,aAAa7F,KAAK0J,UAAUK,aAAa,gBAAgB/J,KAAKwF,YAAYxF,KAAK0J,UAAUK,aAAa,eAAe,OAAOjK,EAAEO,UAAUiJ,SAAS,SAASxJ,EAAEC,GAAGD,IAAIwB,EAAEqD,MAAM3E,KAAKiK,KAAKjK,KAAKiK,KAAKlK,GAAGD,IAAIwB,EAAEsD,OAAO5E,KAAKyJ,QAAQ3J,IAAIE,KAAKwJ,aAAaxJ,KAAKyJ,SAASzJ,KAAKiI,OAAOjI,KAAKiI,SAASnI,IAAIwB,EAAE+D,SAASrF,KAAKkK,WAAWlK,KAAKkK,YAAYlK,KAAKmK,YAAYrK,IAAIwB,EAAEgE,WAAWtF,KAAKkK,WAAWlK,KAAKkK,YAAYlK,KAAKoK,cAAcpK,KAAKsG,OAAOtG,KAAKsG,QAAQtG,KAAKyJ,SAAQ,IAAK3J,EAAEO,UAAUgK,cAAc,SAASvK,EAAEC,EAAEuB,GAAG,MAAM,iBAAiBvB,IAAIuB,EAAEvB,EAAEA,EAAE,IAAIC,KAAK4F,kBAAkByE,cAAcvK,EAAEC,OAAE,EAAOuB,IAAIxB,EAAEO,UAAU2I,gBAAgB,SAASlJ,GAAG,OAAOA,EAAEE,KAAK4F,kBAAkBoD,gBAAgBlJ,GAAGE,KAAK4F,kBAAkBoD,mBAAmBlJ,EAAEO,UAAUiK,eAAe,SAASxK,GAAG,OAAOE,KAAK4F,kBAAkB0E,eAAexK,IAAIA,EAAEO,UAAUkK,qBAAqB,SAASzK,GAAG,OAAOE,KAAK4F,kBAAkB2E,qBAAqBzK,IAAIA,EAAEO,UAAUmK,kBAAkB,SAAS1K,GAAGE,KAAK4F,kBAAkB4E,kBAAkB1K,IAAIA,EAAphD,GAAyhD2K,EAAE,SAAS3K,GAAG,SAASwB,EAAEvB,EAAEuB,EAAEQ,QAAG,IAASA,IAAIA,EAAE,IAAI,IAAIgB,EAAEhD,EAAEiE,KAAK/D,KAAKD,IAAIC,KAAK,OAAO8C,EAAE4H,eAAc,EAAG5H,EAAE6H,SAAQ,EAAG7H,EAAE8H,WAAWtJ,EAAEwB,EAAE+H,KAAK/I,EAAEgB,EAAE,OAAO/C,EAAEuB,EAAExB,GAAGK,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAK2K,SAASpK,IAAI,SAAST,GAAGE,KAAK2K,UAAU7K,IAAIE,KAAK2K,QAAQ7K,EAAEE,KAAK8K,mBAAmBtK,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAUyK,eAAe,aAAaxJ,EAAEjB,UAAU0K,gBAAgB,WAAW,OAAO/K,KAAK6F,aAAakD,kBAAkBzH,EAAEjB,UAAU2K,cAAc,WAAW,OAAOhL,KAAK4K,YAAYtJ,EAAEjB,UAAU+I,cAAc,SAAStJ,GAAG,OAAOA,EAAEE,KAAK4K,WAAWxB,cAActJ,GAAGE,KAAK4K,WAAWxB,iBAAiB9H,EAAEjB,UAAU4K,aAAa,SAASnL,GAAG,OAAOE,KAAK4K,WAAWK,aAAanL,IAAIwB,EAAEjB,UAAU6K,aAAa,SAASpL,GAAG,OAAOE,KAAK4K,WAAWM,aAAapL,IAAIwB,EAAEjB,UAAU8K,gBAAgB,SAASrL,GAAGE,KAAK4K,WAAWO,gBAAgBrL,IAAIwB,EAAEjB,UAAU8J,SAAS,WAAW,IAAIrK,EAAEE,KAAKG,OAAOiL,KAAKpL,MAAMmJ,SAAO,SAAWpJ,GAAG,cAAcD,EAAEC,OAAOuB,EAAEjB,UAAU+J,UAAU,aAAa9I,EAA/+B,CAAk/BiI,GAAGtG,EAAE,SAASnD,GAAG,SAASgC,IAAI,IAAI/B,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEyJ,YAAYlI,EAAEwD,aAAa/E,EAAE,OAAOA,EAAE+B,EAAEhC,GAAGgC,EAA3H,CAA8H2I,GAAGY,EAAE,SAASvL,GAAG,SAASgC,IAAI,IAAI/B,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEyJ,YAAYlI,EAAEyD,eAAehF,EAAE,OAAOA,EAAE+B,EAAEhC,GAAGgC,EAA7H,CAAgI2I,GAAGa,EAAE,SAASxL,GAAG,SAASgC,IAAI,IAAI/B,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEyJ,YAAYlI,EAAE0D,cAAcjF,EAAE,OAAOA,EAAE+B,EAAEhC,GAAGgC,EAA5H,CAA+H2I,GAAGc,EAAE,SAASzL,GAAG,SAASgC,IAAI,IAAI/B,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEyJ,YAAYlI,EAAE2D,gBAAgBlF,EAAE,OAAOA,EAAE+B,EAAEhC,GAAGgC,EAA9H,CAAiI2I,GAAGe,EAAE,SAAS1L,GAAG,SAASgC,IAAI,IAAI/B,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEyJ,YAAYlI,EAAE4D,gBAAgBnF,EAAE,OAAOA,EAAE+B,EAAEhC,GAAGgC,EAA9H,CAAiI2I,GAAGgB,EAAE,SAAS3L,GAAG,SAASgC,IAAI,IAAI/B,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEyJ,YAAYlI,EAAE6D,aAAapF,EAAE,OAAOA,EAAE+B,EAAEhC,GAAGgC,EAA3H,CAA8H2I,GAAGxJ,EAAE,SAASnB,GAAG,SAASgC,IAAI,IAAI/B,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEyJ,YAAYlI,EAAE8D,aAAarF,EAAE,OAAOA,EAAE+B,EAAEhC,GAAGgC,EAA3H,CAA8H2I,IAAI,SAAS3K,GAAGA,EAAEA,EAAE4L,QAAQ,GAAG,UAAU5L,EAAEA,EAAE6L,cAAc,GAAG,gBAAgB7L,EAAEA,EAAE8L,KAAK,GAAG,OAAtF,CAA8F7J,IAAIA,EAAE,KAAK,SAASjC,GAAGA,EAAEA,EAAE+L,WAAW,GAAG,aAAa/L,EAAEA,EAAEgM,SAAS,GAAG,WAA3D,CAAuE/I,IAAIA,EAAE,KAAK,SAASjD,GAAGA,EAAEA,EAAEiM,OAAO,GAAG,SAASjM,EAAEA,EAAEkM,KAAK,GAAG,OAAOlM,EAAEA,EAAEmM,QAAQ,GAAG,UAAUnM,EAAEA,EAAEoM,KAAK,GAAG,OAAOpM,EAAEA,EAAEqM,UAAU,GAAG,YAAYrM,EAAEA,EAAEsM,MAAM,GAAG,QAA5I,CAAqJ7G,IAAIA,EAAE,KAAK,IAAI8G,EAAE,WAAW,SAASvM,EAAEA,GAAGE,KAAKsM,GAAGxM,EAAEE,KAAKuM,SAAS,CAACvL,EAAE,EAAEwB,GAAG,EAAEvB,EAAE,EAAEwB,GAAG,GAAGzC,KAAKwM,OAAO,CAACxL,EAAE,EAAEwB,GAAG,EAAEvB,EAAE,EAAEwB,GAAG,GAAG,OAAO3C,EAAEO,UAAUoM,YAAY,SAAS3M,EAAEC,GAAG,IAAIuB,EAAExB,EAAEwC,SAASR,EAAEhC,EAAE4M,KAAK3M,IAAIgD,EAAE8I,YAAY7L,KAAKuM,SAASvL,EAAEM,EAAEN,EAAEhB,KAAKsM,GAAGK,OAAOvK,MAAMN,EAAE,EAAE9B,KAAKuM,SAAS/J,GAAGlB,EAAEN,EAAEhB,KAAKsM,GAAGK,OAAOvK,MAAMN,EAAE,EAAE9B,KAAKuM,SAAStL,EAAEK,EAAEL,EAAEjB,KAAKsM,GAAGK,OAAOtK,OAAOP,EAAE,EAAE9B,KAAKuM,SAAS9J,GAAGnB,EAAEL,EAAEjB,KAAKsM,GAAGK,OAAOtK,OAAOP,EAAE,IAAI9B,KAAKuM,SAASvL,GAAGhB,KAAKsM,GAAGK,OAAOvK,MAAM,EAAEpC,KAAKuM,SAAS/J,GAAGxC,KAAKsM,GAAGK,OAAOvK,MAAM,EAAEpC,KAAKuM,SAAStL,GAAGjB,KAAKsM,GAAGK,OAAOtK,OAAO,EAAErC,KAAKuM,SAAS9J,GAAGzC,KAAKsM,GAAGK,OAAOtK,OAAO,IAAIvC,EAAEO,UAAUuM,uBAAuB,SAAS9M,GAAG,IAAIC,EAAED,EAAEwC,SAAShB,EAAExB,EAAEsC,MAAMN,EAAEhC,EAAEuC,OAAOS,EAAEhD,EAAE+M,SAAS9K,OAAE,IAASe,EAAE,EAAEA,EAAEC,EAAErC,KAAKoM,IAAIpM,KAAKgD,IAAI3B,IAAIwD,EAAE7E,KAAKoM,IAAIpM,KAAK+C,IAAI1B,IAAImB,EAAEH,EAAEjB,EAAEyD,EAAEjE,EAAEiI,EAAExG,EAAEzB,EAAEiE,EAAEzD,EAAE9B,KAAKwM,OAAOxL,EAAEjB,EAAEiB,EAAEkC,EAAE,EAAElD,KAAKwM,OAAOhK,GAAGzC,EAAEiB,EAAEkC,EAAE,EAAElD,KAAKwM,OAAOvL,EAAElB,EAAEkB,EAAEsI,EAAE,EAAEvJ,KAAKwM,OAAO/J,GAAG1C,EAAEkB,EAAEsI,EAAE,GAAGzJ,EAAEO,UAAU0M,iBAAiB,SAASjN,GAAG,IAAIC,EAAED,EAAEwC,SAAShB,EAAExB,EAAEkN,KAAKlL,EAAEhC,EAAEmN,SAASnK,EAAEhD,EAAEoN,eAAenL,EAAEjC,EAAEqN,cAAcpK,EAAEjD,EAAE+M,SAAStH,EAAEjE,EAAE8L,MAAM,MAAMC,iBAAiBvN,EAAEC,GAAG,OAAOW,KAAKkC,IAAI9C,EAAEC,EAAEuE,UAAU,IAAIxC,GAAG,MAAMC,EAAEA,EAAE,IAAI,EAAEmB,EAAE5B,EAAE8L,MAAM,MAAM9I,QAAQxC,GAAG,MAAMgB,EAAEA,EAAE,IAAI9C,KAAK4M,uBAAuB,CAACtK,SAASvC,EAAEqC,MAAMmD,EAAElD,OAAOa,EAAE2J,SAAS9J,KAAKjD,EAAEO,UAAUiN,sBAAsB,SAASxN,GAAG,IAAIC,EAAEC,KAAKsB,EAAExB,EAAEwC,SAASR,EAAEhC,EAAEyN,YAAYzK,EAAEhD,EAAE0N,MAAMzK,EAAEjD,EAAE2N,OAAO3K,IAAIf,EAAE4J,eAAe3L,KAAKwM,OAAOxL,EAAEM,EAAEN,EAAE+B,EAAE/C,KAAKwM,OAAOvL,EAAEK,EAAEL,EAAE8B,EAAE/C,KAAKwM,OAAOhK,GAAGlB,EAAEN,EAAE+B,EAAE/C,KAAKwM,OAAO/J,GAAGnB,EAAEL,EAAE8B,IAAI/C,KAAKwM,OAAOxL,EAAE0M,OAAOC,iBAAiB3N,KAAKwM,OAAOvL,EAAEyM,OAAOC,iBAAiB3N,KAAKwM,OAAOhK,GAAGkL,OAAOE,iBAAiB5N,KAAKwM,OAAO/J,GAAGiL,OAAOE,iBAAiB9L,EAAEqH,SAAS,SAASrJ,GAAGC,EAAEyM,OAAOxL,EAAEN,KAAKiC,IAAI7C,EAAEkB,EAAEM,EAAEN,EAAEjB,EAAEyM,OAAOxL,GAAGjB,EAAEyM,OAAOvL,EAAEP,KAAKiC,IAAI7C,EAAEmB,EAAEK,EAAEL,EAAElB,EAAEyM,OAAOvL,GAAGlB,EAAEyM,OAAOhK,GAAG9B,KAAKkC,IAAI9C,EAAEkB,EAAEM,EAAEN,EAAEjB,EAAEyM,OAAOhK,IAAIzC,EAAEyM,OAAO/J,GAAG/B,KAAKkC,IAAI9C,EAAEmB,EAAEK,EAAEL,EAAElB,EAAEyM,OAAO/J,SAAS3C,EAAEO,UAAUwN,oBAAoB,SAAS/N,GAAGA,EAAEgO,QAAQzL,OAAO3B,KAAKqN,KAAKjO,EAAEkO,MAAM1J,OAAOxE,EAAEgO,QAAQ1L,OAAOpC,KAAK4M,uBAAuB,CAACtK,SAASxC,EAAEmO,eAAe7L,MAAMtC,EAAEgO,QAAQ1L,MAAMtC,EAAEgO,QAAQI,UAAU7L,OAAOvC,EAAEgO,QAAQzL,OAAOvC,EAAEgO,QAAQK,WAAWtB,SAAS/M,EAAE+M,YAAY/M,EAAEO,UAAU+N,oBAAoB,SAAStO,GAAG,IAAIC,EAAEC,KAAKsB,EAAExB,EAAEkO,MAAMlM,EAAEhC,EAAEgO,QAAQhL,EAAEhB,EAAEM,MAAML,EAAED,EAAEoM,UAAUnL,EAAEjB,EAAEqM,WAAWrO,EAAEuO,YAAY/M,EAAEgN,KAAK,SAASxO,EAAEwB,GAAG,OAAOvB,EAAEwM,SAAS/J,IAAIzC,EAAEyM,OAAOxL,EAAEM,EAAEwB,EAAEf,GAAGhC,EAAEwM,SAASvL,GAAGjB,EAAEyM,OAAOxL,EAAEM,EAAEwB,EAAEf,EAAEA,GAAGhC,EAAEwM,SAAS9J,IAAI1C,EAAEyM,OAAO/J,KAAKnB,EAAEwB,EAAE,GAAGC,EAAEA,IAAIhD,EAAEwM,SAAStL,GAAGlB,EAAEyM,OAAO/J,IAAInB,EAAEwB,EAAE,GAAGC,EAAEjD,EAAE,MAAMA,EAAEO,UAAUkO,aAAa,SAASzO,EAAEC,GAAG,OAAOC,KAAKyM,YAAY1M,EAAED,EAAE0O,UAAU1O,EAAE2O,MAAM,KAAKlJ,EAAE6G,MAAM,KAAK7G,EAAE2G,KAAK,KAAK3G,EAAEwG,OAAO/L,KAAK4M,uBAAuB9M,GAAG,MAAM,KAAKyF,EAAE4G,UAAUnM,KAAKsN,sBAAsBxN,GAAG,MAAM,KAAKyF,EAAEyG,KAAKhM,KAAK+M,iBAAiBjN,GAAG,MAAM,KAAKyF,EAAE0G,QAAQjM,KAAK6N,oBAAoB/N,GAAG,OAAOE,KAAKuM,SAAS/J,IAAIxC,KAAKwM,OAAOxL,GAAGhB,KAAKuM,SAASvL,GAAGhB,KAAKwM,OAAOhK,IAAIxC,KAAKuM,SAAS9J,IAAIzC,KAAKwM,OAAOvL,GAAGjB,KAAKuM,SAAStL,GAAGjB,KAAKwM,OAAO/J,IAAI3C,EAAEO,UAAUqO,aAAa,SAAS5O,EAAEC,GAAG,IAAIuB,EAAEtB,KAAK,OAAOD,EAAEkJ,iBAAiBlJ,GAAG,QAAQuB,EAAEiN,aAAaxO,EAAED,KAAKC,EAAE0O,OAAOlJ,EAAE0G,SAAS3K,EAAE8M,oBAAoBrO,IAAG,OAAQD,EAAr0F,GAA00FkB,EAAE,WAAW,OAAOA,EAAEb,OAAOiE,QAAQ,SAAStE,GAAG,IAAI,IAAIC,EAAEuB,EAAE,EAAEQ,EAAEuC,UAAUC,OAAOhD,EAAEQ,EAAER,IAAI,IAAI,IAAIwB,KAAK/C,EAAEsE,UAAU/C,GAAGnB,OAAOE,UAAUyD,eAAeC,KAAKhE,EAAE+C,KAAKhD,EAAEgD,GAAG/C,EAAE+C,IAAI,OAAOhD,GAAGkB,EAAEuD,MAAMvE,KAAKqE,YAAY,SAASsK,EAAE7O,EAAEC,EAAEuB,GAAG,GAAGA,GAAG,IAAI+C,UAAUC,OAAO,IAAI,IAAIxC,EAAEgB,EAAE,EAAEf,EAAEhC,EAAEuE,OAAOxB,EAAEf,EAAEe,KAAKhB,GAAGgB,KAAK/C,IAAI+B,IAAIA,EAAE+B,MAAMxD,UAAUmE,MAAMT,KAAKhE,EAAE,EAAE+C,IAAIhB,EAAEgB,GAAG/C,EAAE+C,IAAI,OAAOhD,EAAE2E,OAAO3C,GAAG+B,MAAMxD,UAAUmE,MAAMT,KAAKhE,IAAI,mBAAmB2E,iBAAiBA,gBAAgB,IAAIkK,EAAEC,EAAE,WAAW,SAAS/O,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,QAAG,IAASC,IAAIA,EAAE,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,EAAE,OAAOI,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKC,IAAIM,IAAI,SAAST,GAAGE,KAAKC,GAAGH,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKE,IAAIK,IAAI,SAAST,GAAGE,KAAKE,GAAGJ,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAOI,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAG,GAAGS,KAAKE,IAAIZ,KAAKE,GAAG,KAAKM,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,aAAab,KAAKa,WAAW,IAAIf,GAAGA,EAAEgB,KAAKd,KAAKa,WAAWb,OAAOQ,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,GAAGD,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAInB,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKC,KAAKH,EAAEkB,GAAGhB,KAAKE,KAAKJ,EAAEmB,GAAGnB,EAAEO,UAAUc,MAAM,WAAW,OAAO,IAAIrB,EAAEE,KAAKC,GAAGD,KAAKE,KAAKJ,EAAEO,UAAUe,SAAS,SAAStB,GAAG,OAAOY,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAGH,EAAEkB,EAAE,GAAGN,KAAKE,IAAIZ,KAAKE,GAAGJ,EAAEmB,EAAE,KAAKnB,EAAEuB,IAAI,SAASvB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEyB,SAAS,SAASzB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEgB,KAAK,SAAShB,EAAEC,GAAG,OAAO,IAAIA,EAAEyB,UAAU1B,EAAES,IAAI,EAAE,GAAGT,EAAES,IAAIR,EAAEiB,EAAEjB,EAAEyB,UAAUzB,EAAEkB,EAAElB,EAAEyB,WAAW1B,GAAGA,EAAE2B,OAAO,SAAS3B,EAAEC,GAAG,OAAOD,EAAES,KAAKR,EAAEkB,EAAElB,EAAEiB,GAAGhB,KAAKc,KAAKhB,EAAEA,IAAIA,EAAE4B,MAAM,SAAS5B,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEvB,EAAEkB,EAAEK,GAAGxB,GAAGA,EAAE6B,IAAI,SAAS7B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEiB,EAAElB,EAAEmB,EAAElB,EAAEkB,GAAGnB,EAAE8B,MAAM,SAAS9B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEkB,EAAEnB,EAAEmB,EAAElB,EAAEiB,GAAGlB,EAAE+B,MAAM,SAAS/B,EAAEC,GAAG,OAAOD,EAAES,IAAIG,KAAKmB,MAAM9B,EAAEiB,GAAGN,KAAKmB,MAAM9B,EAAEkB,IAAInB,GAAGA,EAAh9C,IAAs9C,WAAW,SAASA,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAU,IAAI6M,EAAE7O,KAAKiC,QAAQ,IAAI4M,EAAE7O,KAAKkC,OAAO,EAAElC,KAAKmC,QAAQ,EAAEnC,KAAKO,IAAIT,EAAEC,EAAEuB,EAAEQ,GAAG3B,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,GAAGT,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEE,KAAKgC,UAAUf,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,GAAGV,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIP,KAAKgC,UAAUhB,EAAElB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,EAAEhB,KAAKkC,QAAQ1B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,EAAEjB,KAAKmC,SAAS3B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKkC,QAAQ3B,IAAI,SAAST,GAAGE,KAAKkC,OAAOpC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKmC,SAAS5B,IAAI,SAAST,GAAGE,KAAKmC,QAAQrC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKiC,QAAQ1B,IAAIP,KAAKgB,EAAEhB,KAAKoC,MAAM,EAAEpC,KAAKiB,EAAEjB,KAAKqC,OAAO,GAAGrC,KAAKiC,SAASzB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAUzB,IAAIT,EAAEC,GAAGC,KAAKkC,OAAOZ,EAAEtB,KAAKmC,QAAQL,GAAGhC,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKsC,SAASpB,OAAOpB,EAAEwC,WAAWtC,KAAKoC,QAAQtC,EAAEsC,OAAOpC,KAAKqC,SAASvC,EAAEuC,QAAQvC,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,EAAEnB,EAAEsC,MAAMtC,EAAEuC,SAASvC,EAAEO,UAAUkC,SAAS,SAASzC,GAAG,OAAOE,KAAKwC,IAAI1C,EAAEkB,GAAGhB,KAAKgB,EAAElB,EAAE0C,IAAIxC,KAAKyC,IAAI3C,EAAEmB,GAAGjB,KAAKiB,EAAEnB,EAAE2C,IAAI3C,EAAEO,UAAUqC,SAAS,SAAS3C,GAAG,OAAOA,aAAaD,EAAEC,EAAEyC,IAAIxC,KAAKwC,IAAIzC,EAAEiB,GAAGhB,KAAKgB,GAAGjB,EAAE0C,IAAIzC,KAAKyC,IAAI1C,EAAEkB,GAAGjB,KAAKiB,EAAElB,aAAa8O,KAAK9O,EAAEiB,EAAEhB,KAAKgB,GAAGjB,EAAEkB,EAAEjB,KAAKiB,GAAGlB,EAAEiB,GAAGhB,KAAKwC,IAAIzC,EAAEkB,GAAGjB,KAAKyC,KAAn0D,GAA20D,WAAW,SAAS3C,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,WAAM,IAASC,IAAIA,EAAE,MAAMC,KAAKmD,SAAS,EAAEnD,KAAKoD,SAAS,EAAEpD,KAAKa,WAAW,IAAIgO,EAAE/O,EAAEE,KAAKqD,QAAQvD,EAAEC,IAAIC,KAAKsD,QAAQvD,GAAGI,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKmD,UAAU5C,IAAI,SAAST,GAAGE,KAAKmD,SAASrD,EAAEE,KAAKoD,SAAStD,EAAEY,KAAK6C,GAAG,IAAIvD,KAAKwD,mBAAmBhD,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKoD,UAAU7C,IAAI,SAAST,GAAGE,KAAKoD,SAAStD,EAAEE,KAAKmD,SAAS,IAAIrD,EAAEY,KAAK6C,GAAGvD,KAAKwD,mBAAmBhD,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,YAAYL,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUmD,gBAAgB,WAAWxD,KAAKa,WAAWN,IAAIG,KAAK+C,IAAIzD,KAAKoD,UAAU1C,KAAKgD,IAAI1D,KAAKoD,YAAnwB,GAAkxB,SAAStD,GAAGA,EAAEA,EAAEgP,OAAO,GAAG,SAAShP,EAAEA,EAAEiP,QAAQ,GAAG,UAAUjP,EAAEA,EAAEkP,UAAU,GAAG,YAAYlP,EAAEA,EAAEmP,YAAY,GAAG,cAA5G,CAA2HL,IAAIA,EAAE,KAAK,IAAIM,EAAEC,EAAE,WAAW,SAASrP,EAAEA,EAAEC,GAAGC,KAAKoP,aAAatP,EAAEE,KAAKqP,eAAetP,EAAEC,KAAKsP,WAAW,GAAGtP,KAAKuP,WAAW,GAAG,OAAOzP,EAAEO,UAAUmP,cAAc,SAAS1P,GAAGE,KAAKsP,WAAWtM,KAAKlD,IAAIA,EAAEO,UAAUoP,cAAc,SAAS3P,GAAGE,KAAKuP,WAAWvM,KAAKlD,IAAIA,EAAEO,UAAU+H,OAAO,WAAW,IAAItI,EAAEE,KAAKA,KAAKuP,WAAWG,MAAI,SAAW5P,EAAEC,GAAG,OAAOD,EAAE6P,MAAM5P,EAAE4P,SAASxG,SAAO,SAAWpJ,GAAG,OAAOD,EAAE8P,eAAe7P,OAAOD,EAAEO,UAAUuP,eAAe,SAAS9P,GAAG,IAAIC,EAAEC,KAAKA,KAAKqP,eAAeX,aAAa5O,EAAEE,KAAKsP,WAAWrG,QAAM,SAAWlJ,GAAG,OAAOD,EAAE+P,OAAOxG,SAAStJ,EAAE+P,UAAUJ,MAAM,SAAS3P,EAAEuB,GAAG,OAAOxB,EAAE+P,OAAOE,QAAQhQ,EAAE+P,OAAOhQ,EAAE+P,OAAOE,QAAQzO,EAAEwO,UAAUxB,KAAK,SAASxO,GAAG,OAAOA,EAAE2O,OAAOlJ,EAAE0G,QAAQ,SAASnM,GAAG,IAAIC,EAAEiB,EAAEA,EAAE,GAAGlB,GAAG,CAACuO,YAAY,GAAGP,QAAQ9M,EAAEA,EAAE,GAAGlB,EAAEgO,SAAS,CAACzL,OAAO3B,KAAKqN,KAAKjO,EAAEkO,MAAM1J,OAAOxE,EAAEgO,QAAQ1L,OAAO4N,UAAUlQ,EAAEgO,QAAQ1L,MAAMtC,EAAEgO,QAAQI,UAAU+B,WAAW,IAAIhC,eAAe,IAAIY,IAAI,OAAO9O,EAAE+N,QAAQmC,WAAWlQ,EAAE+N,QAAQzL,OAAOtC,EAAE+N,QAAQK,WAAW,SAASrO,GAAGA,EAAEmO,eAAe1N,IAAIT,EAAEwC,SAAStB,GAAGlB,EAAEoQ,cAActB,EAAEE,OAAOhP,EAAEgO,QAAQkC,UAAU,EAAE,GAAGlQ,EAAEwC,SAASrB,GAAGnB,EAAEoQ,cAActB,EAAEI,WAAWlP,EAAEgO,QAAQmC,WAAW,EAAEnQ,EAAEoQ,cAActB,EAAEG,QAAQjP,EAAEgO,QAAQmC,WAAW,EAAE,IAApN,CAAyNlQ,GAAGA,EAA1e,CAA6eD,GAAGA,MAAMqJ,SAAS,SAAS7H,GAAG,OAAOvB,EAAEqP,aAAahH,OAAO9G,EAAExB,OAAOA,EAAEO,UAAUgI,UAAU,WAAWrI,KAAKsP,WAAW,GAAGtP,KAAKuP,WAAW,IAAIzP,EAAEO,UAAUwG,YAAY,SAAS/G,GAAGE,KAAKoP,aAAae,YAAYrQ,IAAIA,EAAEO,UAAU+P,eAAe,SAAStQ,GAAGE,KAAKoP,aAAaiB,cAAcvQ,IAAIA,EAAh7C,IAAs7C,SAASA,GAAGA,EAAEwQ,YAAY,QAAQxQ,EAAEyQ,OAAO,SAA3C,CAAqDrB,IAAIA,EAAE,KAAK,IAAIsB,EAAE,WAAW,SAAS1Q,EAAEA,GAAG,GAAGE,KAAK2M,OAAO7M,EAAEE,KAAKyQ,eAAezQ,KAAK0Q,qBAAqB1Q,KAAKyQ,eAAe,MAAM,IAAIE,MAAM,wCAAwC3Q,KAAKsM,GAAGtM,KAAK2M,OAAOiE,WAAW5Q,KAAKyQ,gBAAgB,OAAO3Q,EAAEO,UAAUqQ,kBAAkB,WAAW,OAAO,OAAO1Q,KAAK2M,OAAOiE,WAAW1B,EAAEqB,QAAQrB,EAAEqB,OAAO,OAAOvQ,KAAK2M,OAAOiE,WAAW1B,EAAEoB,aAAapB,EAAEoB,iBAAY,GAAQxQ,EAAnY,GAAwY+Q,EAAE,WAAW,SAAS/Q,IAAIE,KAAK8Q,UAAU,IAAIC,IAAI,OAAOjR,EAAEO,UAAU2Q,aAAa,SAASlR,GAAG,OAAOE,KAAK8Q,UAAUG,IAAIjR,KAAKkR,OAAOpR,KAAKA,EAAEO,UAAU8Q,aAAa,SAASrR,GAAG,OAAOE,KAAK8Q,UAAUxQ,IAAIN,KAAKkR,OAAOpR,KAAKA,EAAEO,UAAU+Q,YAAY,SAAStR,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE,OAAO,QAAQA,EAAE9B,KAAKmR,aAAapR,UAAK,IAAS+B,EAAEA,EAAE9B,KAAKmE,OAAOrE,EAAEC,EAAEuB,IAAIxB,EAAEO,UAAU8D,OAAO,SAASrE,EAAEC,EAAEuB,GAAGtB,KAAKqR,WAAW/P,EAAEtB,KAAKsR,MAAM,GAAG,IAAI,IAAIxP,EAAE,EAAEA,EAAEhC,EAAEwE,OAAOxC,GAAG,EAAE,IAAI,IAAIgB,EAAEhD,EAAEgC,GAAGgB,GAAGhD,EAAEgC,EAAE,GAAGgB,IAAI9C,KAAKsR,MAAMtO,KAAKiB,OAAOsN,aAAazO,IAAI,IAAIf,EAAE/B,KAAKwR,YAAYzR,aAAa0R,SAAS1R,EAAE2R,OAAO3R,GAAG,OAAOC,KAAK8Q,UAAUvQ,IAAIP,KAAKkR,OAAOnR,GAAGgC,GAAGA,GAAGjC,EAAEO,UAAU6Q,OAAO,SAASpR,GAAG,OAAO6R,OAAOC,IAAI9R,aAAa2R,SAAS3R,EAAE4R,OAAO5R,IAAIA,EAAEO,UAAUmR,YAAY,SAAS1R,GAAG,IAAIC,EAAE,IAAI8R,EAAE/R,EAAEE,KAAKqR,WAAW3Q,KAAKqN,KAAKrN,KAAKC,KAAKX,KAAKsR,MAAMhN,UAAUhD,EAAEvB,EAAE4M,OAAOiE,WAAW,MAAMtP,EAAEwQ,UAAU,EAAE,EAAE/R,EAAE4M,OAAOvK,MAAMrC,EAAE4M,OAAOtK,QAAQf,EAAEyQ,aAAa,MAAMzQ,EAAE0Q,UAAU,OAAO1Q,EAAE2Q,KAAK,GAAGxN,OAAOzE,KAAKqR,WAAW,OAAO5M,OAAO3E,GAAG,IAAI,IAAIgC,EAAE,EAAEgB,EAAE,EAAEf,EAAE,EAAEA,EAAE/B,KAAKsR,MAAMhN,OAAOvC,IAAIT,EAAE4Q,SAASlS,KAAKsR,MAAMvP,GAAGD,EAAEgB,GAAG/C,EAAEoS,OAAO5R,IAAIP,KAAKsR,MAAMvP,GAAG,CAACqQ,GAAGrQ,EAAEK,MAAMd,EAAE+Q,YAAYrS,KAAKsR,MAAMvP,IAAIK,SAASN,GAAG9B,KAAKqR,YAAYtR,EAAE4M,OAAOvK,MAAMpC,KAAKqR,aAAavP,EAAE,EAAEgB,GAAG9C,KAAKqR,YAAY,OAAOtR,GAAGD,EAA5qC,GAAirC+R,EAAE,SAAS/R,EAAEC,EAAEuB,GAAGtB,KAAKsS,eAAexS,EAAEE,KAAKuS,eAAexS,EAAEC,KAAKwS,SAASlR,EAAEtB,KAAK2M,OAAO/D,SAAS6J,cAAc,UAAUzS,KAAKmS,OAAO,IAAIpB,IAAI/Q,KAAK2M,OAAOvK,MAAMpC,KAAKwS,SAASxS,KAAKuS,eAAevS,KAAK2M,OAAOtK,OAAOrC,KAAK2M,OAAOvK,OAAOsQ,EAAE,WAAW,SAAS5S,EAAEA,EAAEC,GAAGC,KAAKsM,GAAGxM,EAAEE,KAAK2S,aAAa5S,EAAE,OAAOD,EAAEO,UAAU8D,OAAO,SAASrE,EAAEC,GAAG,IAAIuB,EAAEtB,KAAKsM,GAAGsG,gBAAgB9Q,EAAE9B,KAAK2S,aAAa3K,KAAKhI,KAAKsM,GAAGuG,cAAc/S,GAAGgD,EAAE9C,KAAK2S,aAAa3K,KAAKhI,KAAKsM,GAAGwG,gBAAgB/S,GAAGC,KAAKsM,GAAGyG,aAAazR,EAAEQ,GAAG9B,KAAKsM,GAAGyG,aAAazR,EAAEwB,GAAG9C,KAAKsM,GAAG0G,YAAY1R,GAAG,IAAIS,EAAE/B,KAAKsM,GAAG2G,YAAY,IAAIjT,KAAKsM,GAAG4G,oBAAoB5R,EAAES,GAAG,CAAC,IAAIgB,EAAE/C,KAAKsM,GAAG6G,kBAAkB7R,GAAG,MAAMtB,KAAKsM,GAAG8G,cAAc9R,GAAG,IAAIqP,MAAM,qCAAqClM,OAAO1B,IAAI,OAAOzB,GAAGxB,EAAtf,GAA2fuT,EAAE,WAAW,SAASvT,EAAEA,EAAEC,EAAEuB,GAAGtB,KAAKsM,GAAGxM,EAAEE,KAAKyQ,eAAe1Q,EAAEC,KAAKsT,eAAehS,EAAE,OAAOxB,EAAEO,UAAUkT,YAAY,WAAWvT,KAAKwT,QAAQxT,KAAKyQ,iBAAiBvB,EAAEqB,OAAOvQ,KAAKsT,eAAenP,OAAO,gVAAgV,i5BAAi5BnE,KAAKsT,eAAenP,OAAO,uXAAuX,i3BAAi3BnE,KAAKyT,eAAezT,KAAKsM,GAAGoH,eAAe1T,KAAK2T,cAAc3T,KAAKsM,GAAGoH,eAAe1T,KAAK4T,mBAAmB5T,KAAKsM,GAAGuH,kBAAkB7T,KAAKwT,QAAQ,kBAAkBxT,KAAK8T,cAAc9T,KAAKsM,GAAGuH,kBAAkB7T,KAAKwT,QAAQ,iBAAiBxT,KAAK+T,mBAAmB/T,KAAKsM,GAAG0H,mBAAmBhU,KAAKwT,QAAQ,eAAexT,KAAKiU,wBAAwBjU,KAAKsM,GAAG0H,mBAAmBhU,KAAKwT,QAAQ,oBAAoBxT,KAAKkU,qBAAqBlU,KAAKsM,GAAG0H,mBAAmBhU,KAAKwT,QAAQ,iBAAiBxT,KAAKmU,qBAAqBnU,KAAKsM,GAAG0H,mBAAmBhU,KAAKwT,QAAQ,mBAAmBxT,KAAKoU,eAAepU,KAAKsM,GAAG0H,mBAAmBhU,KAAKwT,QAAQ,cAAcxT,KAAKqU,kBAAkBrU,KAAKsM,GAAG0H,mBAAmBhU,KAAKwT,QAAQ,gBAAgBxT,KAAKsU,oBAAoBtU,KAAKsM,GAAG0H,mBAAmBhU,KAAKwT,QAAQ,kBAAkBxT,KAAKuU,iBAAiBvU,KAAKsM,GAAG0H,mBAAmBhU,KAAKwT,QAAQ,eAAexT,KAAKwU,oBAAoBxU,KAAKsM,GAAG0H,mBAAmBhU,KAAKwT,QAAQ,kBAAkBxT,KAAKyU,iBAAiBzU,KAAKsM,GAAG0H,mBAAmBhU,KAAKwT,QAAQ,eAAexT,KAAK0U,oBAAoB1U,KAAKsM,GAAG0H,mBAAmBhU,KAAKwT,QAAQ,kBAAkBxT,KAAK2U,aAAa3U,KAAKsM,GAAG0H,mBAAmBhU,KAAKwT,QAAQ,WAAWxT,KAAKsM,GAAGsI,WAAW5U,KAAKwT,SAASxT,KAAKsM,GAAGuI,UAAU7U,KAAKsM,GAAGwI,UAAU9U,KAAKsM,GAAGyI,qBAAqB/U,KAAKsM,GAAG0I,wBAAwBhV,KAAK4T,oBAAoB5T,KAAKsM,GAAG2I,WAAWjV,KAAKsM,GAAG4I,aAAalV,KAAKyT,gBAAgBzT,KAAKsM,GAAG6I,oBAAoBnV,KAAK4T,mBAAmB,EAAE5T,KAAKsM,GAAG8I,OAAM,EAAG,EAAE,GAAGpV,KAAKsM,GAAG0I,wBAAwBhV,KAAK8T,eAAe9T,KAAKsM,GAAG2I,WAAWjV,KAAKsM,GAAG4I,aAAalV,KAAK2T,eAAe3T,KAAKsM,GAAG6I,oBAAoBnV,KAAK8T,cAAc,EAAE9T,KAAKsM,GAAG8I,OAAM,EAAG,EAAE,IAAItV,EAAtzI,GAA2zIuV,EAAE,WAAW,SAASvV,EAAEA,GAAGE,KAAKsM,GAAGxM,EAAE,OAAOA,EAAEO,UAAU2H,KAAK,SAASlI,EAAEC,GAAG,IAAIuB,EAAEtB,KAAKsM,GAAGgJ,aAAaxV,GAAGE,KAAKsM,GAAGiJ,aAAajU,EAAEvB,GAAGC,KAAKsM,GAAGkJ,cAAclU,GAAG,IAAIQ,EAAE9B,KAAKsM,GAAGmJ,eAAe,IAAIzV,KAAKsM,GAAGoJ,mBAAmBpU,EAAEQ,GAAG,CAAC,IAAIgB,EAAE9C,KAAKsM,GAAGqJ,iBAAiBrU,GAAG,MAAMtB,KAAKsM,GAAGsJ,aAAatU,GAAG,IAAIqP,MAAM,4CAA4ClM,OAAO3B,IAAI,OAAOxB,GAAGxB,EAAvW,GAA4W+V,EAAE,oBAAoBC,aAAaA,aAAajS,MAAM,SAASkS,IAAI,IAAIjW,EAAE,IAAI+V,EAAE,IAAI,OAAOA,GAAGC,eAAehW,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,GAAGA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,SAASkW,EAAElW,GAAG,OAAOA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,SAASmW,EAAEnW,EAAEC,EAAEuB,GAAG,IAAIQ,EAAEgB,EAAEf,EAAEgB,EAAEwC,EAAErC,EAAEqG,EAAEkB,EAAExH,EAAEoI,EAAEC,EAAEC,EAAEC,EAAElK,EAAE,GAAGmK,EAAEnK,EAAE,GAAGL,EAAEK,EAAE,GAAG,OAAOvB,IAAID,GAAGA,EAAE,IAAIC,EAAE,GAAGyL,EAAEzL,EAAE,GAAG0L,EAAE1L,EAAE,GAAGkB,EAAElB,EAAE,IAAID,EAAE,IAAIC,EAAE,GAAGyL,EAAEzL,EAAE,GAAG0L,EAAE1L,EAAE,GAAGkB,EAAElB,EAAE,IAAID,EAAE,IAAIC,EAAE,GAAGyL,EAAEzL,EAAE,GAAG0L,EAAE1L,EAAE,IAAIkB,EAAElB,EAAE,IAAID,EAAE,IAAIC,EAAE,GAAGyL,EAAEzL,EAAE,GAAG0L,EAAE1L,EAAE,IAAIkB,EAAElB,EAAE,MAAM+B,EAAE/B,EAAE,GAAG+C,EAAE/C,EAAE,GAAGgC,EAAEhC,EAAE,GAAGgD,EAAEhD,EAAE,GAAGwF,EAAExF,EAAE,GAAGmD,EAAEnD,EAAE,GAAGwJ,EAAExJ,EAAE,GAAG0K,EAAE1K,EAAE,GAAGkD,EAAElD,EAAE,GAAGsL,EAAEtL,EAAE,GAAGuL,EAAEvL,EAAE,IAAIwL,EAAExL,EAAE,IAAID,EAAE,GAAGgC,EAAEhC,EAAE,GAAGgD,EAAEhD,EAAE,GAAGiC,EAAEjC,EAAE,GAAGiD,EAAEjD,EAAE,GAAGyF,EAAEzF,EAAE,GAAGoD,EAAEpD,EAAE,GAAGyJ,EAAEzJ,EAAE,GAAG2K,EAAE3K,EAAE,GAAGmD,EAAEnD,EAAE,GAAGuL,EAAEvL,EAAE,IAAIwL,EAAExL,EAAE,IAAIyL,EAAEzL,EAAE,IAAIgC,EAAE0J,EAAEjG,EAAEkG,EAAExI,EAAEhC,EAAElB,EAAE,IAAID,EAAE,IAAIgD,EAAE0I,EAAEtI,EAAEuI,EAAEJ,EAAEpK,EAAElB,EAAE,IAAID,EAAE,IAAIiC,EAAEyJ,EAAEjC,EAAEkC,EAAEH,EAAErK,EAAElB,EAAE,IAAID,EAAE,IAAIiD,EAAEyI,EAAEf,EAAEgB,EAAEF,EAAEtK,EAAElB,EAAE,KAAKD,EAAE,SAASoW,EAAEpW,EAAEC,EAAEuB,GAAG,IAAIQ,EAAER,EAAE,GAAGwB,EAAExB,EAAE,GAAGS,EAAET,EAAE,GAAG,OAAOxB,EAAE,GAAGC,EAAE,GAAG+B,EAAEhC,EAAE,GAAGC,EAAE,GAAG+B,EAAEhC,EAAE,GAAGC,EAAE,GAAG+B,EAAEhC,EAAE,GAAGC,EAAE,GAAG+B,EAAEhC,EAAE,GAAGC,EAAE,GAAG+C,EAAEhD,EAAE,GAAGC,EAAE,GAAG+C,EAAEhD,EAAE,GAAGC,EAAE,GAAG+C,EAAEhD,EAAE,GAAGC,EAAE,GAAG+C,EAAEhD,EAAE,GAAGC,EAAE,GAAGgC,EAAEjC,EAAE,GAAGC,EAAE,GAAGgC,EAAEjC,EAAE,IAAIC,EAAE,IAAIgC,EAAEjC,EAAE,IAAIC,EAAE,IAAIgC,EAAEjC,EAAE,IAAIC,EAAE,IAAID,EAAE,IAAIC,EAAE,IAAID,EAAE,IAAIC,EAAE,IAAID,EAAE,IAAIC,EAAE,IAAID,EAAE,SAASqW,EAAErW,EAAEC,EAAEuB,GAAG,IAAIQ,EAAEpB,KAAKgD,IAAIpC,GAAGwB,EAAEpC,KAAK+C,IAAInC,GAAGS,EAAEhC,EAAE,GAAGgD,EAAEhD,EAAE,GAAGwF,EAAExF,EAAE,GAAGmD,EAAEnD,EAAE,GAAGwJ,EAAExJ,EAAE,GAAG0K,EAAE1K,EAAE,GAAGkD,EAAElD,EAAE,GAAGsL,EAAEtL,EAAE,GAAG,OAAOA,IAAID,IAAIA,EAAE,GAAGC,EAAE,GAAGD,EAAE,GAAGC,EAAE,GAAGD,EAAE,IAAIC,EAAE,IAAID,EAAE,IAAIC,EAAE,IAAID,EAAE,IAAIC,EAAE,IAAID,EAAE,IAAIC,EAAE,IAAID,EAAE,IAAIC,EAAE,IAAID,EAAE,IAAIC,EAAE,KAAKD,EAAE,GAAGiC,EAAEe,EAAEyG,EAAEzH,EAAEhC,EAAE,GAAGiD,EAAED,EAAE2H,EAAE3I,EAAEhC,EAAE,GAAGyF,EAAEzC,EAAEG,EAAEnB,EAAEhC,EAAE,GAAGoD,EAAEJ,EAAEuI,EAAEvJ,EAAEhC,EAAE,GAAGyJ,EAAEzG,EAAEf,EAAED,EAAEhC,EAAE,GAAG2K,EAAE3H,EAAEC,EAAEjB,EAAEhC,EAAE,GAAGmD,EAAEH,EAAEyC,EAAEzD,EAAEhC,EAAE,GAAGuL,EAAEvI,EAAEI,EAAEpB,EAAEhC,EAAEY,KAAK0V,QAAQ1V,KAAK0V,MAAM,WAAW,IAAI,IAAItW,EAAE,EAAEC,EAAEsE,UAAUC,OAAOvE,KAAKD,GAAGuE,UAAUtE,GAAGsE,UAAUtE,GAAG,OAAOW,KAAKC,KAAKb,KAAQ,IAACuW,EAAEC,EAAE,SAASxW,GAAG,IAAIC,EAAE,yDAAyDwW,KAAKzW,GAAG,OAAOC,EAAE,CAAC+C,EAAE0T,SAASzW,EAAE,GAAG,IAAI,IAAIyL,EAAEgL,SAASzW,EAAE,GAAG,IAAI,IAAI4O,EAAE6H,SAASzW,EAAE,GAAG,IAAI,IAAIwF,OAAE,IAASxF,EAAE,GAAGyW,SAASzW,EAAE,GAAG,IAAI,IAAI,GAAG,MAAM0W,EAAE,SAAS3W,EAAEC,EAAEuB,EAAEQ,GAAG,IAAIgB,EAAEf,GAAE,SAAUjC,EAAEC,EAAEuB,EAAEQ,EAAEgB,EAAEf,EAAEgB,GAAG,IAAIwC,EAAE,GAAGxF,EAAEuB,GAAG4B,EAAE,GAAGpB,EAAEgB,GAAahD,EAAE,IAAI,EAAEyF,EAAEzF,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,IAAI,EAAEoD,EAAEpD,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,KAAI,EAAIA,EAAE,IAAI,EAAEA,EAAE,KAAKC,EAAEuB,GAAGiE,EAAEzF,EAAE,KAAKgD,EAAEhB,GAAGoB,EAAEpD,EAAE,KAAI,EAAQA,EAAE,IAAI,GAAzM,CAA6MA,EAAEkW,EAAElW,IAAIC,EAAE4M,OAAOvK,MAAM,EAAErC,EAAE4M,OAAOvK,MAAM,GAAGrC,EAAE4M,OAAOtK,OAAO,EAAEtC,EAAE4M,OAAOtK,OAAO,GAAQP,IAAIiB,EAAE8I,aAAaqK,EAAEpW,EAAEA,EAAE,CAAC,QAAQgD,EAAExB,EAAEoL,YAAO,IAAS5J,EAAEA,EAAE,EAAE,QAAQf,EAAET,EAAEoL,YAAO,IAAS3K,EAAEA,EAAE,EAAE,IAAIkU,EAAEnW,EAAEA,EAAE,EAAEwB,EAAEgB,SAAStB,GAAGM,EAAEgB,SAASrB,EAAE,MAAMyV,EAAE,WAAW,SAAS5W,EAAEA,EAAEC,GAAGC,KAAKsM,GAAGxM,EAAEE,KAAK2W,eAAe5W,EAAEC,KAAK4W,SAAS,IAAI7F,IAAI/Q,KAAK6W,aAAa,KAAK7W,KAAK8W,iBAAiBf,IAAI/V,KAAK+W,YAAYhB,IAAI/V,KAAKgX,cAAcjB,IAAI,IAAIzU,EAAE,EAAEZ,KAAK6C,GAAG,GAAGvD,KAAKiX,sBAAsB,IAAInB,aAAa,SAAShW,EAAEC,EAAEuB,QAAG,IAASA,IAAIA,EAAE,GAAG,IAAI,IAAIQ,EAAE,GAAGgB,EAAE,EAAEA,GAAG,GAAGA,GAAGxB,EAAEQ,EAAEkB,KAAKF,GAAG,OAAOhB,EAA/E,CAAkF,EAAE,EAAE,GAAGuL,QAAQ,SAASvN,EAAEC,GAAG,OAAO4O,EAAEA,EAAE,GAAG7O,GAAE,GAAI,CAACY,KAAK+C,IAAI1D,EAAEuB,GAAGZ,KAAKgD,IAAI3D,EAAEuB,KAAI,KAAM,KAAK,OAAOxB,EAAEO,UAAU+H,OAAO,SAAStI,EAAEC,EAAEuB,GAAG,OAAOxB,EAAE0N,OAAO,KAAKzL,EAAE2J,QAAQ1L,KAAKkX,YAAYpX,EAAEC,EAAEC,KAAKsM,GAAG6K,UAAU7V,GAAG,MAAM,KAAKS,EAAE6J,KAAK5L,KAAKkX,YAAYpX,EAAEC,EAAEC,KAAKsM,GAAG8K,MAAM9V,GAAG,MAAM,KAAKS,EAAE4J,cAAc3L,KAAKqX,oBAAoBvX,EAAEC,KAAKD,EAAEO,UAAU6W,YAAY,SAASpX,EAAEC,EAAEuB,EAAEQ,GAAG,IAAIgB,EAAEf,EAAE/B,KAAKsX,oBAAoBxX,EAAEyN,cAAa,IAAKvN,KAAK4W,SAAS3F,IAAIlP,IAAI/B,KAAK4W,SAASrW,IAAIwB,EAAE,IAAI+T,aAAa9V,KAAKuX,wBAAwBzX,EAAEyN,eAAe,IAAIxK,EAAE/C,KAAK4W,SAAStW,IAAIyB,GAAG/B,KAAK6W,eAAe9U,GAAGD,IAAIyD,EAAE4G,YAAYnM,KAAKsM,GAAG2I,WAAWjV,KAAKsM,GAAG4I,aAAalV,KAAK2W,eAAelD,gBAAgBzT,KAAKsM,GAAGkL,WAAWxX,KAAKsM,GAAG4I,aAAanS,EAAE/C,KAAKsM,GAAGmL,cAAczX,KAAKsM,GAAG2I,WAAWjV,KAAKsM,GAAG4I,aAAalV,KAAK2W,eAAehD,eAAe3T,KAAKsM,GAAGkL,WAAWxX,KAAKsM,GAAG4I,aAAanS,EAAE/C,KAAKsM,GAAGmL,eAAezX,KAAK6W,aAAa9U,EAAE/B,KAAK+W,YAAYf,EAAEhW,KAAK+W,aAAad,EAAEjW,KAAK+W,YAAY/W,KAAK+W,YAAY,CAACjX,EAAEwC,SAAStB,EAAElB,EAAEwC,SAASrB,EAAE,IAAIkV,EAAEnW,KAAK+W,YAAY/W,KAAK+W,YAAY,QAAQjU,EAAEhD,EAAE+M,gBAAW,IAAS/J,EAAEA,EAAE,GAAG2T,EAAEzW,KAAK8W,iBAAiB9W,KAAKsM,GAAGvM,EAAED,EAAE0O,UAAUxO,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAe1C,yBAAwB,EAAGjU,KAAK8W,kBAAkB9W,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAe5C,oBAAmB,EAAG/T,KAAK+W,aAAa/W,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAezC,sBAAqB,EAAGlU,KAAKgX,eAAehX,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAexC,qBAAqB,GAAG,IAAIjR,EAAEoT,EAAExW,EAAE8X,OAAOrO,EAAErG,EAAEJ,EAAE2H,EAAEvH,EAAEsI,EAAEvI,EAAEC,EAAEyL,EAAEtD,EAAEnI,EAAEqC,EAAEvF,KAAKsM,GAAGuL,UAAU7X,KAAK2W,eAAetC,kBAAkB9K,EAAEkB,EAAExH,EAAEoI,GAAGrL,KAAKsM,GAAGwL,UAAU9X,KAAK2W,eAAehC,aAAa,GAAG3U,KAAKsM,GAAGyL,WAAWzW,EAAE,EAAEyB,EAAEuB,OAAO,IAAIxE,EAAEO,UAAUiX,oBAAoB,SAASxX,GAAG,OAAO6R,OAAOC,IAAI9R,EAAEuN,iBAAiBvN,EAAEC,GAAG,MAAM,GAAG0E,OAAO3E,GAAG2E,OAAO1E,EAAEiB,GAAGyD,OAAO1E,EAAEkB,KAAKnB,EAAEwE,OAAO0T,cAAclY,EAAEO,UAAUkX,wBAAwB,SAASzX,GAAG,IAAI,IAAIC,EAAE,GAAGuB,EAAE,EAAEA,EAAExB,EAAEwE,OAAOhD,IAAIvB,EAAEiD,KAAKlD,EAAEwB,GAAGN,EAAElB,EAAEwB,GAAGL,GAAG,OAAOlB,GAAGD,EAAEO,UAAUgX,oBAAoB,SAASvX,EAAEC,GAAGC,KAAK6W,aAAa,KAAK7W,KAAKsM,GAAG2I,WAAWjV,KAAKsM,GAAG4I,aAAalV,KAAK2W,eAAelD,gBAAgBzT,KAAKsM,GAAGkL,WAAWxX,KAAKsM,GAAG4I,aAAalV,KAAKiX,sBAAsBjX,KAAKsM,GAAGmL,cAAczX,KAAKsM,GAAG2I,WAAWjV,KAAKsM,GAAG4I,aAAalV,KAAK2W,eAAehD,eAAe3T,KAAKsM,GAAGkL,WAAWxX,KAAKsM,GAAG4I,aAAalV,KAAKiX,sBAAsBjX,KAAKsM,GAAGmL,cAAczX,KAAK+W,YAAYf,EAAEhW,KAAK+W,aAAad,EAAEjW,KAAK+W,YAAY/W,KAAK+W,YAAY,CAACjX,EAAEwC,SAAStB,EAAElB,EAAEwC,SAASrB,EAAE,IAAIiV,EAAElW,KAAK+W,YAAY/W,KAAK+W,YAAY,CAACjX,EAAE2N,OAAO3N,EAAE2N,OAAO,IAAIgJ,EAAEzW,KAAK8W,iBAAiB9W,KAAKsM,GAAGvM,EAAED,EAAE0O,UAAUxO,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAe1C,yBAAwB,EAAGjU,KAAK8W,kBAAkB9W,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAe5C,oBAAmB,EAAG/T,KAAK+W,aAAa/W,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAezC,sBAAqB,EAAGlU,KAAKgX,eAAehX,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAexC,qBAAqB,GAAG,IAAI7S,EAAEgV,EAAExW,EAAE8X,OAAO9V,EAAER,EAAEwB,EAAEA,EAAExB,EAAEkK,EAAEzJ,EAAET,EAAEqN,EAAE5L,EAAEzB,EAAEiE,EAAEvF,KAAKsM,GAAGuL,UAAU7X,KAAK2W,eAAetC,kBAAkBvS,EAAEgB,EAAEf,EAAEgB,GAAG/C,KAAKsM,GAAGwL,UAAU9X,KAAK2W,eAAehC,aAAa,GAAG3U,KAAKsM,GAAGyL,WAAW/X,KAAKsM,GAAG6K,UAAU,EAAEnX,KAAKiX,sBAAsB3S,OAAO,IAAIxE,EAAx0G,IAA80G,SAASA,GAAGA,EAAEA,EAAEmY,UAAU,GAAG,YAAYnY,EAAEA,EAAE6L,cAAc,GAAG,gBAA9D,CAA+E0K,IAAIA,EAAE,KAAQ,IAAC6B,EAAEC,EAAE,WAAW,SAASrY,EAAEA,EAAEC,GAAGC,KAAKsM,GAAGxM,EAAEE,KAAK2W,eAAe5W,EAAEC,KAAKyO,KAAKlJ,EAAE2G,KAAKlM,KAAKoY,kBAAkB,IAAItC,aAAa,EAAE,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,KAAK9V,KAAK8W,iBAAiBf,IAAI/V,KAAK+W,YAAYhB,IAAI/V,KAAKgX,cAAcjB,IAAI,IAAI,IAAIzU,EAAE,EAAEZ,KAAK6C,GAAG,GAAGzB,EAAE,CAAC,EAAE,GAAGgB,EAAE,EAAEA,GAAG,GAAGA,IAAIhB,EAAEkB,KAAKtC,KAAK+C,IAAIX,EAAExB,GAAGZ,KAAKgD,IAAIZ,EAAExB,IAAItB,KAAKiX,sBAAsB,IAAInB,aAAahU,GAAG,OAAOhC,EAAEO,UAAU+H,OAAO,SAAStI,EAAEC,EAAEuB,GAAG,IAAIQ,EAAEgB,EAAExB,IAAIiE,EAAE2G,MAAMlM,KAAKqY,YAAYvY,EAAE0N,QAAQxN,KAAKsM,GAAG2I,WAAWjV,KAAKsM,GAAG4I,aAAalV,KAAK2W,eAAelD,gBAAgBzT,KAAKsM,GAAGkL,WAAWxX,KAAKsM,GAAG4I,aAAapV,EAAE0N,QAAQ6I,EAAE4B,UAAUjY,KAAKoY,kBAAkBpY,KAAKiX,sBAAsBjX,KAAKsM,GAAGgM,cAActY,KAAK+W,YAAYf,EAAEhW,KAAK+W,aAAad,EAAEjW,KAAK+W,YAAY/W,KAAK+W,YAAY,CAACjX,EAAEwC,SAAStB,EAAElB,EAAEwC,SAASrB,EAAE,IAAIkV,EAAEnW,KAAK+W,YAAY/W,KAAK+W,YAAY,QAAQjV,EAAEhC,EAAE+M,gBAAW,IAAS/K,EAAEA,EAAE,GAAGoU,EAAElW,KAAK+W,YAAY/W,KAAK+W,YAAYjX,EAAE0N,QAAQ6I,EAAE4B,UAAU,CAACnY,EAAEsC,MAAMtC,EAAEuC,OAAO,GAAG,CAACvC,EAAE2N,OAAO3N,EAAE2N,OAAO,IAAIgJ,EAAEzW,KAAK8W,iBAAiB9W,KAAKsM,GAAGvM,EAAED,EAAE0O,UAAUxO,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAe1C,yBAAwB,EAAGjU,KAAK8W,kBAAkB9W,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAe5C,oBAAmB,EAAG/T,KAAK+W,aAAa/W,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAezC,sBAAqB,EAAGlU,KAAKgX,eAAelX,EAAEyY,OAAO,GAAGzY,EAAEyY,MAAM,EAAEvY,KAAKsM,GAAGkM,OAAOxY,KAAKsM,GAAGmM,OAAOzY,KAAKsM,GAAGoM,QAAQ1Y,KAAKsM,GAAGmM,OAAOzY,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAexC,qBAAqB,GAAG,IAAIpS,EAAEuU,EAAExW,EAAE8X,OAAO7U,EAAEhB,EAAEe,EAAEI,EAAEnB,EAAEyJ,EAAEjC,EAAExH,EAAE4M,EAAElE,EAAE1I,EAAEwD,EAAEvF,KAAKsM,GAAGuL,UAAU7X,KAAK2W,eAAetC,kBAAkBtR,EAAEG,EAAEqG,EAAEkB,GAAGzK,KAAKsM,GAAGwL,UAAU9X,KAAK2W,eAAehC,aAAa,QAAQ7R,EAAEhD,EAAEyY,aAAQ,IAASzV,EAAEA,EAAE,GAAGhD,EAAE0N,QAAQ6I,EAAE4B,UAAUjY,KAAKsM,GAAGyL,WAAW/X,KAAKsM,GAAGqM,UAAU,EAAE,GAAG3Y,KAAKsM,GAAGyL,WAAW/X,KAAKsM,GAAGsM,aAAa,EAAE5Y,KAAKiX,sBAAsB3S,OAAO,GAAGtE,KAAKqY,UAAUvY,EAAE0N,OAAO1N,EAA/tD,GAAouD+Y,EAAE,WAAW,SAAS/Y,EAAEA,EAAEC,EAAEuB,GAAGtB,KAAKsM,GAAGxM,EAAEE,KAAK2W,eAAe5W,EAAEC,KAAK8Y,eAAexX,EAAEtB,KAAK+Y,YAAY,KAAK/Y,KAAK8W,iBAAiBf,IAAI/V,KAAK+W,YAAYhB,IAAI/V,KAAKgX,cAAcjB,IAAI/V,KAAKgZ,YAAY,IAAIlD,aAAa,EAAE,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,KAAK9V,KAAKiZ,YAAY,IAAInD,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,OAAOhW,EAAEO,UAAU+H,OAAO,SAAStI,EAAEC,EAAEuB,GAAG,IAAIQ,EAAEgB,EAAEf,EAAEgB,EAAEzB,IAAIxB,EAAE2O,OAAOzO,KAAKsM,GAAG2I,WAAWjV,KAAKsM,GAAG4I,aAAalV,KAAK2W,eAAelD,gBAAgBzT,KAAKsM,GAAGkL,WAAWxX,KAAKsM,GAAG4I,aAAalV,KAAKgZ,YAAYhZ,KAAKsM,GAAGgM,aAAatY,KAAKsM,GAAG2I,WAAWjV,KAAKsM,GAAG4I,aAAalV,KAAK2W,eAAehD,eAAe3T,KAAKsM,GAAGkL,WAAWxX,KAAKsM,GAAG4I,aAAalV,KAAKiZ,YAAYjZ,KAAKsM,GAAGgM,cAActY,KAAK+W,YAAYf,EAAEhW,KAAK+W,aAAad,EAAEjW,KAAK+W,YAAY/W,KAAK+W,YAAY,CAACjX,EAAEwC,SAAStB,EAAElB,EAAEwC,SAASrB,EAAE,IAAIkV,EAAEnW,KAAK+W,YAAY/W,KAAK+W,YAAY,QAAQjV,EAAEhC,EAAE+M,gBAAW,IAAS/K,EAAEA,EAAE,GAAGoU,EAAElW,KAAK+W,YAAY/W,KAAK+W,YAAY,CAACjX,EAAEsC,OAAOtC,EAAEoZ,gBAAgB,EAAE,GAAGpZ,EAAEuC,QAAQvC,EAAEqZ,cAAc,EAAE,GAAG,IAAInZ,KAAKgX,cAAchB,EAAEhW,KAAKgX,eAAelX,EAAE0E,QAAQyR,EAAEjW,KAAKgX,cAAchX,KAAKgX,cAAc,CAAClX,EAAE0E,MAAMxD,EAAElB,EAAEsZ,MAAMC,aAAavZ,EAAE0E,MAAMvD,EAAEnB,EAAEsZ,MAAME,cAAc,IAAIpD,EAAElW,KAAKgX,cAAchX,KAAKgX,cAAc,CAAClX,EAAE0E,MAAMpC,MAAMtC,EAAEsZ,MAAMC,aAAavZ,EAAE0E,MAAMnC,OAAOvC,EAAEsZ,MAAME,cAAc,KAAK7C,EAAEzW,KAAK8W,iBAAiB9W,KAAKsM,GAAGvM,EAAED,EAAE0O,UAAUxO,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAe1C,yBAAwB,EAAGjU,KAAK8W,kBAAkB9W,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAe5C,oBAAmB,EAAG/T,KAAK+W,aAAa/W,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAezC,sBAAqB,EAAGlU,KAAKgX,eAAehX,KAAKsM,GAAGkM,OAAOxY,KAAKsM,GAAGmM,OAAO,IAAIlT,EAAEvF,KAAK8Y,eAAeS,4BAA4BzZ,EAAEsZ,MAAMtZ,EAAE0Z,QAAQ,GAAGxZ,KAAK+Y,cAAcxT,GAAGjE,IAAIxB,EAAE2O,OAAOzO,KAAKsM,GAAGmN,YAAYzZ,KAAKsM,GAAGoN,WAAWnU,GAAGvF,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAevC,eAAe,GAAGpU,KAAK+Y,YAAYxT,GAAGvF,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAexC,qBAAqB,GAAGnU,KAAKsM,GAAGwL,UAAU9X,KAAK2W,eAAehC,aAAa,QAAQ7R,EAAEhD,EAAEyY,aAAQ,IAASzV,EAAEA,EAAE,GAAG9C,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAerC,oBAAoBxU,EAAE6Z,UAAU,EAAE,GAAG7Z,EAAE6Z,UAAU,CAAC,IAAIzW,EAAEoT,EAAExW,EAAE6Z,WAAWpQ,EAAErG,EAAEJ,EAAE2H,EAAEvH,EAAEsI,EAAEvI,EAAEC,EAAEyL,EAAEtD,EAAEnI,EAAEqC,EAAEvF,KAAKsM,GAAGuL,UAAU7X,KAAK2W,eAAepC,iBAAiBhL,EAAEkB,EAAExH,EAAEoI,GAAG,GAAGrL,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAenC,oBAAoB1U,EAAE8Z,UAAU,EAAE,GAAG9Z,EAAE8Z,UAAU,CAAC,IAAItO,EAAEgL,EAAExW,EAAE8Z,WAAWrQ,EAAE+B,EAAExI,EAAE2H,EAAEa,EAAEE,EAAEvI,EAAEqI,EAAEqD,EAAE3O,KAAKsM,GAAGuL,UAAU7X,KAAK2W,eAAelC,iBAAiBlL,EAAEkB,EAAExH,EAAE,QAAQlB,EAAEjC,EAAEyY,aAAQ,IAASxW,EAAEA,EAAE,GAAG/B,KAAKsM,GAAGwL,UAAU9X,KAAK2W,eAAejC,oBAAoB,QAAQ3R,EAAEjD,EAAE+Z,oBAAe,IAAS9W,EAAEA,EAAE,GAAG/C,KAAKsM,GAAGyL,WAAW/X,KAAKsM,GAAGqM,UAAU,EAAE,IAAI7Y,EAA5+E,IAAk/E,SAASA,GAAGA,EAAEA,EAAEgP,OAAO,GAAG,SAAShP,EAAEA,EAAEiP,QAAQ,GAAG,UAAUjP,EAAEA,EAAEkP,UAAU,GAAG,YAAYlP,EAAEA,EAAEmP,YAAY,GAAG,cAA5G,CAA2HiJ,IAAIA,EAAE,KAAK,IAAI4B,EAAE,IAAIjL,EAAEkL,GAAE,IAAIlL,EAAEmL,GAAE,CAAC,GAAG,IAAI,IAAI,KAAKC,GAAE/B,EAAEpJ,OAAOoL,GAAE,WAAW,SAASpa,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKsM,GAAGxM,EAAEE,KAAK2W,eAAe5W,EAAEC,KAAK8Y,eAAexX,EAAEtB,KAAKma,iBAAiBrY,EAAE9B,KAAKyO,KAAKlJ,EAAEyG,KAAKhM,KAAKgZ,YAAY,GAAGhZ,KAAKiZ,YAAY,GAAGjZ,KAAK+Y,YAAY,KAAK/Y,KAAKoa,SAAS,IAAIvL,EAAE7O,KAAKqa,cAAc,IAAIxL,EAAE7O,KAAK8W,iBAAiBf,IAAI/V,KAAK+W,YAAYhB,IAAI/V,KAAKgX,cAAcjB,IAAI,OAAOjW,EAAEO,UAAU+H,OAAO,SAAStI,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE,IAAIhC,EAAEkN,KAAK,MAAM,IAAI2D,MAAM,qBAAqB3Q,KAAKsa,iBAAiBxa,GAAG,IAAIgD,EAAE9C,KAAKma,iBAAiB/I,YAAYtR,EAAEya,OAAOC,WAAW1a,EAAEmS,KAAKnS,EAAEya,OAAOtN,UAAUjN,KAAKya,qBAAqB3X,EAAEhD,GAAGE,KAAKsM,GAAG2I,WAAWjV,KAAKsM,GAAG4I,aAAalV,KAAK2W,eAAelD,gBAAgBzT,KAAKsM,GAAGkL,WAAWxX,KAAKsM,GAAG4I,aAAa,IAAIY,aAAa9V,KAAKgZ,aAAahZ,KAAKsM,GAAGmL,cAAczX,KAAKsM,GAAG2I,WAAWjV,KAAKsM,GAAG4I,aAAalV,KAAK2W,eAAehD,eAAe3T,KAAKsM,GAAGkL,WAAWxX,KAAKsM,GAAG4I,aAAa,IAAIY,aAAa9V,KAAKiZ,aAAajZ,KAAKsM,GAAGmL,cAAczX,KAAK+W,YAAYf,EAAEhW,KAAK+W,aAAa/W,KAAK0a,2BAA2B5a,GAAGmW,EAAEjW,KAAK+W,YAAY/W,KAAK+W,YAAY,CAAC/W,KAAKqa,cAAcrZ,EAAEhB,KAAKqa,cAAcpZ,EAAE,IAAIkV,EAAEnW,KAAK+W,YAAY/W,KAAK+W,YAAY,QAAQjV,EAAEhC,EAAE+M,gBAAW,IAAS/K,EAAEA,EAAE,GAAGoU,EAAElW,KAAK+W,YAAY/W,KAAK+W,YAAY,CAACjX,EAAEmN,SAASnN,EAAEmN,SAAS,IAAIjN,KAAKgX,cAAchB,EAAEhW,KAAKgX,eAAeP,EAAEzW,KAAK8W,iBAAiB9W,KAAKsM,GAAGvM,EAAED,EAAE0O,UAAUxO,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAe1C,yBAAwB,EAAGjU,KAAK8W,kBAAkB9W,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAe5C,oBAAmB,EAAG/T,KAAK+W,aAAa/W,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAezC,sBAAqB,EAAGlU,KAAKgX,eAAelX,EAAEyY,MAAM,EAAEvY,KAAKsM,GAAGkM,OAAOxY,KAAKsM,GAAGmM,OAAOzY,KAAKsM,GAAGoM,QAAQ1Y,KAAKsM,GAAGmM,OAAO,IAAI1W,EAAE/B,KAAK8Y,eAAe6B,6BAA6B,cAAc7X,EAAEwP,eAAexP,EAAE6J,OAAO7M,EAAE0Z,QAAQxZ,KAAK+Y,cAAchX,GAAGT,IAAIiE,EAAEyG,OAAOhM,KAAKsM,GAAGmN,YAAYzZ,KAAKsM,GAAGoN,WAAW3X,GAAG/B,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAevC,eAAe,GAAGpU,KAAK+Y,YAAYhX,GAAG/B,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAerC,oBAAoB,GAAGtU,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAexC,qBAAqB,GAAGnU,KAAKsM,GAAGwL,UAAU9X,KAAK2W,eAAehC,aAAa7U,EAAEyY,OAAO,IAAIxV,EAAEuT,EAAExW,EAAE8X,OAAO1U,EAAEH,EAAED,EAAEyG,EAAExG,EAAEyI,EAAEf,EAAE1H,EAAE4L,EAAE1L,EAAEF,EAAEwC,EAAEvF,KAAKsM,GAAGuL,UAAU7X,KAAK2W,eAAelC,iBAAiBvR,EAAEqG,EAAEkB,EAAExH,GAAGjD,KAAKsM,GAAGwL,UAAU9X,KAAK2W,eAAejC,oBAAoB,GAAG1U,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAenC,oBAAoB,GAAGxU,KAAKsM,GAAGyL,WAAW/X,KAAKsM,GAAGqM,UAAU,EAAE3Y,KAAKgZ,YAAY1U,OAAO,IAAIxE,EAAEO,UAAUia,iBAAiB,SAASxa,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEgB,EAAEf,EAAEgB,EAAEwC,EAAErC,EAAEqG,EAAEkB,EAAE3K,EAAEya,QAAQza,EAAEya,OAAOK,OAAO,QAAQ7a,EAAED,EAAEya,OAAOK,cAAS,IAAS7a,EAAEA,EAAE+Z,EAAEha,EAAEya,OAAOM,QAAQ,QAAQvZ,EAAExB,EAAEya,OAAOM,eAAU,IAASvZ,EAAEA,EAAEyY,GAAEja,EAAEya,OAAOtN,SAAS,QAAQnL,EAAEhC,EAAEya,OAAOtN,gBAAW,IAASnL,EAAEA,EAAE,GAAGhC,EAAEya,OAAOC,WAAW,QAAQ1X,EAAEhD,EAAEya,OAAOC,kBAAa,IAAS1X,EAAEA,EAAEkX,IAAGla,EAAEya,OAAO,CAACK,OAAOd,EAAEe,QAAQd,GAAE9M,SAAS,GAAGuN,WAAWR,IAAGla,EAAE8X,MAAM,QAAQ7V,EAAEjC,EAAE8X,aAAQ,IAAS7V,EAAEA,EAAE,UAAUjC,EAAEqN,cAAc,QAAQpK,EAAEjD,EAAEqN,qBAAgB,IAASpK,EAAEA,EAAE,EAAEjD,EAAEoN,eAAe,QAAQ3H,EAAEzF,EAAEoN,sBAAiB,IAAS3H,EAAEA,EAAE,EAAEzF,EAAEyY,MAAM,QAAQrV,EAAEpD,EAAEyY,aAAQ,IAASrV,EAAEA,EAAE,EAAEpD,EAAEoQ,YAAY,QAAQ3G,EAAEzJ,EAAEoQ,mBAAc,IAAS3G,EAAEA,EAAE0Q,GAAEna,EAAE+M,SAAS,QAAQpC,EAAE3K,EAAE+M,gBAAW,IAASpC,EAAEA,EAAE,GAAG3K,EAAEO,UAAUoa,qBAAqB,SAAS3a,EAAEC,GAAG,IAAIuB,EAAEvB,EAAEiN,KAAKlL,EAAE/B,EAAEkN,SAASnK,EAAE/C,EAAEwa,OAAOxY,EAAEhC,EAAEoN,cAAcpK,EAAEhD,EAAEmN,eAAelN,KAAKgZ,YAAY,GAAGhZ,KAAKiZ,YAAY,GAAG,IAAI1T,EAAE,EAAErC,EAAE,EAAEqG,EAAE,EAAExH,GAAGD,EAAEiB,GAAGjB,EAAE,IAAI,IAAI2I,EAAE,EAAEA,EAAEnJ,EAAEgD,OAAOmG,IAAI,CAAC,IAAIxH,EAAE3B,EAAEmJ,GAAG,GAAG,OAAOxH,EAAE,CAAC,IAAIoI,EAAEvL,EAAEqS,OAAO7R,IAAI2C,GAAG,GAAGoI,EAAE,CAAC,IAAIC,EAAED,EAAEjJ,MAAMtC,EAAEyS,eAAevS,KAAKgZ,YAAYhW,KAAKuC,EAAErC,EAAE,EAAEqC,EAAE+F,EAAEpI,EAAE,EAAEqC,EAAErC,EAAEqC,EAAErC,EAAEqC,EAAE+F,EAAEpI,EAAE,EAAEqC,EAAE+F,EAAEpI,GAAG,IAAIqI,EAAEF,EAAE+G,GAAGtS,EAAE0S,SAAS1S,EAAEyS,eAAe/G,GAAGH,EAAE+G,GAAGtS,EAAE0S,SAAS,GAAG1S,EAAEyS,eAAe9G,GAAGF,EAAEzI,EAAE8X,OAAO5Z,GAAGlB,EAAE6M,OAAOvK,MAAMnB,GAAGuK,EAAE1I,EAAE8X,OAAO3Z,GAAGnB,EAAE6M,OAAOvK,MAAMiK,GAAGd,EAAEF,EAAEjJ,MAAMU,EAAE+X,QAAQ7Z,GAAGlB,EAAE6M,OAAOvK,MAAMpB,GAAGwK,EAAE1L,EAAEyS,eAAezP,EAAE+X,QAAQ5Z,GAAGnB,EAAE6M,OAAOvK,MAAMpC,KAAKiZ,YAAYjW,KAAKyI,EAAEzK,EAAEqL,EAAErL,EAAEyK,EAAExK,EAAEwK,EAAExK,EAAEoL,EAAErL,EAAEqL,EAAEpL,GAAGsE,GAAG+F,EAAEvJ,QAAQwH,EAAE7I,KAAKkC,IAAI2G,EAAEhE,GAAGA,EAAE,EAAErC,GAAG,EAAEH,EAAE/C,KAAKoa,SAAS7Z,IAAIG,KAAKkC,IAAI2G,EAAEhE,GAAGzD,EAAEpB,KAAKoM,IAAI5J,EAAE,GAAGpB,IAAIhC,EAAEO,UAAUqa,2BAA2B,SAAS5a,GAAGE,KAAKqa,cAAc9Z,IAAIT,EAAEwC,SAAStB,GAAGlB,EAAEoQ,cAAcgI,EAAEpJ,QAAQ9O,KAAKoa,SAASpZ,EAAE,EAAE,GAAGlB,EAAEwC,SAASrB,GAAGnB,EAAEoQ,cAAcgI,EAAEpJ,QAAQhP,EAAEoQ,cAAcgI,EAAEjJ,YAAYjP,KAAKoa,SAASnZ,EAAE,EAAEnB,EAAEoQ,cAAcgI,EAAEnJ,QAAQ/O,KAAKoa,SAASnZ,EAAE,KAAKnB,EAAz8H,GAA88Hgb,GAAE,WAAW,SAAShb,EAAEA,EAAEC,EAAEuB,GAAGtB,KAAKsM,GAAGxM,EAAEE,KAAK2W,eAAe5W,EAAEC,KAAK8Y,eAAexX,EAAEtB,KAAKgZ,YAAY,GAAGhZ,KAAKiZ,YAAY,GAAGjZ,KAAK+Y,YAAY,KAAK/Y,KAAK+a,QAAQ,CAAC3Y,MAAM,EAAE8L,UAAU,EAAEC,WAAW,EAAE6M,UAAU,IAAInM,EAAEoM,WAAW,IAAIpM,EAAEqM,SAAS,EAAEC,UAAU,EAAEC,cAAc,IAAIvM,GAAG7O,KAAK8W,iBAAiBf,IAAI/V,KAAK+W,YAAYhB,IAAI/V,KAAKgX,cAAcjB,IAAI,OAAOjW,EAAEO,UAAU+H,OAAO,SAAStI,EAAEC,EAAEuB,GAAG,IAAIQ,EAAEgB,EAAEf,EAAEgB,EAAE,GAAG,IAAIjD,EAAEuO,YAAYhB,QAAM,SAAWvN,EAAEC,GAAG,OAAOD,EAAEC,IAAI,GAAG,MAAM,IAAI4Q,MAAM,qBAAqB,GAAG3Q,KAAKqb,eAAevb,GAAGE,KAAKsb,iBAAiBxb,GAAG,IAAIE,KAAKgZ,YAAY1U,OAAO,MAAM,IAAIqM,MAAM,qBAAqB3Q,KAAKsM,GAAG2I,WAAWjV,KAAKsM,GAAG4I,aAAalV,KAAK2W,eAAelD,gBAAgBzT,KAAKsM,GAAGkL,WAAWxX,KAAKsM,GAAG4I,aAAa,IAAIY,aAAa9V,KAAKgZ,aAAahZ,KAAKsM,GAAGmL,cAAczX,KAAKsM,GAAG2I,WAAWjV,KAAKsM,GAAG4I,aAAalV,KAAK2W,eAAehD,eAAe3T,KAAKsM,GAAGkL,WAAWxX,KAAKsM,GAAG4I,aAAa,IAAIY,aAAa9V,KAAKiZ,aAAajZ,KAAKsM,GAAGmL,cAAczX,KAAK+W,YAAYf,EAAEhW,KAAK+W,aAAad,EAAEjW,KAAK+W,YAAY/W,KAAK+W,YAAY,CAACjX,EAAEmO,eAAejN,EAAElB,EAAEmO,eAAehN,EAAE,IAAIkV,EAAEnW,KAAK+W,YAAY/W,KAAK+W,YAAY,QAAQjV,EAAEhC,EAAE+M,gBAAW,IAAS/K,EAAEA,EAAE,GAAGoU,EAAElW,KAAK+W,YAAY/W,KAAK+W,YAAY,CAACjX,EAAEgO,QAAQI,WAAWpO,EAAEoZ,gBAAgB,EAAE,GAAGpZ,EAAEgO,QAAQK,YAAYrO,EAAEqZ,cAAc,EAAE,GAAG,IAAInZ,KAAKgX,cAAchB,EAAEhW,KAAKgX,eAAed,EAAElW,KAAKgX,cAAchX,KAAKgX,cAAc,CAAChX,KAAK+a,QAAQ7M,UAAUpO,EAAEib,QAAQ3B,MAAMC,aAAarZ,KAAK+a,QAAQ5M,WAAWrO,EAAEib,QAAQ3B,MAAME,cAAc,IAAI7C,EAAEzW,KAAK8W,iBAAiB9W,KAAKsM,GAAGvM,EAAED,EAAE0O,UAAUxO,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAe1C,yBAAwB,EAAGjU,KAAK8W,kBAAkB9W,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAe5C,oBAAmB,EAAG/T,KAAK+W,aAAa/W,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAezC,sBAAqB,EAAGlU,KAAKgX,eAAehX,KAAKsM,GAAGkM,OAAOxY,KAAKsM,GAAGmM,OAAO,IAAIvV,EAAElD,KAAK8Y,eAAeS,4BAA4BzZ,EAAEib,QAAQ3B,MAAMtZ,EAAE0Z,QAAQ,GAAGxZ,KAAK+Y,cAAc7V,GAAG5B,IAAIiE,EAAE0G,UAAUjM,KAAKsM,GAAGmN,YAAYzZ,KAAKsM,GAAGoN,WAAWxW,GAAGlD,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAevC,eAAe,GAAGpU,KAAK+Y,YAAY7V,GAAGlD,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAexC,qBAAqB,GAAGnU,KAAKsM,GAAGwL,UAAU9X,KAAK2W,eAAehC,aAAa,QAAQ7R,EAAEhD,EAAEyY,aAAQ,IAASzV,EAAEA,EAAE,GAAG9C,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAerC,oBAAoBxU,EAAE6Z,UAAU,EAAE,GAAG7Z,EAAE6Z,UAAU,CAAC,IAAIpQ,EAAE+M,EAAExW,EAAE6Z,WAAWlP,EAAElB,EAAEzG,EAAEG,EAAEsG,EAAEiC,EAAEH,EAAE9B,EAAEoF,EAAErD,EAAE/B,EAAEhE,EAAEvF,KAAKsM,GAAGuL,UAAU7X,KAAK2W,eAAepC,iBAAiB9J,EAAExH,EAAEoI,EAAEC,GAAG,GAAGtL,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAenC,oBAAoB1U,EAAE8Z,UAAU,EAAE,GAAG9Z,EAAE8Z,UAAU,CAAC,IAAIrO,EAAE+K,EAAExW,EAAE8Z,WAAWnP,EAAEc,EAAEzI,EAAEG,EAAEsI,EAAEC,EAAEH,EAAEE,EAAEoD,EAAE3O,KAAKsM,GAAGuL,UAAU7X,KAAK2W,eAAelC,iBAAiBhK,EAAExH,EAAEoI,EAAE,QAAQtJ,EAAEjC,EAAEyY,aAAQ,IAASxW,EAAEA,EAAE,GAAG/B,KAAKsM,GAAGwL,UAAU9X,KAAK2W,eAAejC,oBAAoB,QAAQ3R,EAAEjD,EAAE+Z,oBAAe,IAAS9W,EAAEA,EAAE,GAAG/C,KAAKsM,GAAGyL,WAAW/X,KAAKsM,GAAGqM,UAAU,EAAE3Y,KAAKgZ,YAAY1U,OAAO,IAAIxE,EAAEO,UAAUgb,eAAe,SAASvb,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEgB,EAAEf,EAAEgB,EAAEwC,EAAErC,EAAEpD,EAAEib,QAAQ7X,EAAE0X,OAAO,QAAQ7a,EAAEmD,EAAE0X,cAAS,IAAS7a,EAAEA,EAAE,IAAI8O,EAAE3L,EAAE2X,QAAQ,QAAQvZ,EAAE4B,EAAE2X,eAAU,IAASvZ,EAAEA,EAAE,IAAIuN,EAAE3L,EAAEqY,WAAW,QAAQzZ,EAAEoB,EAAEqY,kBAAa,IAASzZ,EAAEA,EAAE,IAAI+M,EAAE7O,KAAK+a,QAAQ3Y,MAAMc,EAAEd,MAAMpC,KAAK+a,QAAQ7M,UAAUhL,EAAEgL,WAAW,QAAQpL,EAAEI,EAAE0X,OAAO5Z,SAAI,IAAS8B,EAAEA,EAAE,IAAI,QAAQf,EAAEmB,EAAE2X,QAAQ7Z,SAAI,IAASe,EAAEA,EAAE,GAAG/B,KAAK+a,QAAQ5M,WAAWjL,EAAEiL,YAAY,QAAQpL,EAAEG,EAAE0X,OAAO3Z,SAAI,IAAS8B,EAAEA,EAAE,IAAI,QAAQwC,EAAErC,EAAE2X,QAAQ5Z,SAAI,IAASsE,EAAEA,EAAE,GAAGvF,KAAK+a,QAAQC,UAAUza,IAAI2C,EAAE0X,OAAO5Z,EAAEhB,KAAK+a,QAAQ7M,UAAUhL,EAAE0X,OAAO3Z,EAAEjB,KAAK+a,QAAQ5M,YAAYnO,KAAK+a,QAAQE,WAAW1a,IAAI2C,EAAE2X,QAAQ7Z,EAAEhB,KAAK+a,QAAQ7M,UAAUhL,EAAE2X,QAAQ5Z,EAAEjB,KAAK+a,QAAQ5M,YAAYnO,KAAK+a,QAAQK,cAAc7a,IAAI2C,EAAEqY,WAAWva,EAAEhB,KAAK+a,QAAQ7M,UAAUhL,EAAEqY,WAAWta,EAAEjB,KAAK+a,QAAQ5M,YAAYnO,KAAK+a,QAAQG,SAAS,EAAElb,KAAK+a,QAAQC,UAAUha,EAAEhB,KAAK+a,QAAQE,WAAWja,EAAE,EAAEhB,KAAK+a,QAAQK,cAAcpa,EAAEhB,KAAK+a,QAAQI,UAAU,EAAEnb,KAAK+a,QAAQC,UAAU/Z,EAAEjB,KAAK+a,QAAQE,WAAWha,EAAE,EAAEjB,KAAK+a,QAAQK,cAAcna,GAAGnB,EAAEO,UAAUib,iBAAiB,SAASxb,GAAG,IAAIC,EAAEC,KAAKsB,EAAExB,EAAEuO,YAAYvM,EAAEhC,EAAEgO,QAAQ9N,KAAKgZ,YAAY,GAAGhZ,KAAKiZ,YAAY,GAAG,IAAInW,EAAEpC,KAAK8a,MAAMla,EAAEgD,OAAOxC,EAAEM,OAAOd,EAAE6H,kBAAkBrJ,EAAEwB,GAAG,GAAG,IAAIxB,EAAE,CAAC,IAAIiC,EAAET,EAAEQ,EAAEM,MAAMN,EAAEM,MAAM,EAAEW,EAAED,EAAE,EAAEpC,KAAK8a,MAAMla,EAAEQ,EAAEM,OAAOrC,EAAEiZ,YAAYhW,KAAKjB,EAAEgB,EAAE,EAAEhB,EAAE,EAAEgB,EAAE,EAAEhB,EAAEgB,EAAEhB,EAAEgB,EAAEhB,EAAE,EAAEgB,EAAE,EAAEhB,EAAE,EAAEgB,GAAG,IAAIwC,GAAGzF,EAAE,GAAGC,EAAEgb,QAAQ3Y,MAAMrC,EAAEgb,QAAQC,UAAUha,EAAEjB,EAAEgb,QAAQK,cAAcpa,EAAEkC,EAAExC,KAAK8a,OAAO1b,EAAE,GAAGC,EAAEgb,QAAQ3Y,OAAOrC,EAAEgb,QAAQC,UAAU/Z,EAAElB,EAAEgb,QAAQK,cAAcna,EAAElB,EAAEkZ,YAAYjW,KAAKuC,EAAErC,EAAEnD,EAAEgb,QAAQI,UAAU5V,EAAExF,EAAEgb,QAAQG,SAAShY,EAAEnD,EAAEgb,QAAQI,UAAU5V,EAAErC,EAAEqC,EAAErC,EAAEqC,EAAExF,EAAEgb,QAAQG,SAAShY,EAAEnD,EAAEgb,QAAQI,UAAU5V,EAAExF,EAAEgb,QAAQG,SAAShY,QAAQpD,EAAn0I,GAAw0I2b,GAAE,WAAW,SAAS3b,EAAEA,EAAEC,EAAEuB,GAAGtB,KAAKsM,GAAGxM,EAAEE,KAAK2W,eAAe5W,EAAEC,KAAK8Y,eAAexX,EAAEtB,KAAK+Y,YAAY,KAAK/Y,KAAK8W,iBAAiBf,IAAI/V,KAAK+W,YAAYhB,IAAI/V,KAAKgX,cAAcjB,IAAI/V,KAAKgZ,YAAY,IAAIlD,aAAa,EAAE,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,KAAK9V,KAAKiZ,YAAY,IAAInD,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,OAAOhW,EAAEO,UAAU+H,OAAO,SAAStI,EAAEC,EAAEuB,GAAG,IAAIQ,EAAEgB,EAAEf,EAAEgB,EAAEzB,IAAIxB,EAAE2O,OAAOzO,KAAKsM,GAAG2I,WAAWjV,KAAKsM,GAAG4I,aAAalV,KAAK2W,eAAelD,gBAAgBzT,KAAKsM,GAAGkL,WAAWxX,KAAKsM,GAAG4I,aAAalV,KAAKgZ,YAAYhZ,KAAKsM,GAAGgM,aAAatY,KAAKsM,GAAG2I,WAAWjV,KAAKsM,GAAG4I,aAAalV,KAAK2W,eAAehD,eAAe3T,KAAKsM,GAAGkL,WAAWxX,KAAKsM,GAAG4I,aAAalV,KAAKiZ,YAAYjZ,KAAKsM,GAAGgM,cAActY,KAAK+W,YAAYf,EAAEhW,KAAK+W,aAAad,EAAEjW,KAAK+W,YAAY/W,KAAK+W,YAAY,CAACjX,EAAEwC,SAAStB,EAAElB,EAAEwC,SAASrB,EAAE,IAAIkV,EAAEnW,KAAK+W,YAAY/W,KAAK+W,YAAY,QAAQjV,EAAEhC,EAAE+M,gBAAW,IAAS/K,EAAEA,EAAE,GAAGoU,EAAElW,KAAK+W,YAAY/W,KAAK+W,YAAY,CAACjX,EAAEsC,OAAOtC,EAAEoZ,gBAAgB,EAAE,GAAGpZ,EAAEuC,QAAQvC,EAAEqZ,cAAc,EAAE,GAAG,IAAInZ,KAAKgX,cAAchB,EAAEhW,KAAKgX,eAAelX,EAAE0E,QAAQyR,EAAEjW,KAAKgX,cAAchX,KAAKgX,cAAc,CAAClX,EAAE0E,MAAMxD,EAAElB,EAAE4b,MAAMC,WAAW7b,EAAE0E,MAAMvD,EAAEnB,EAAE4b,MAAME,YAAY,IAAI1F,EAAElW,KAAKgX,cAAchX,KAAKgX,cAAc,CAAClX,EAAE0E,MAAMpC,MAAMtC,EAAE4b,MAAMC,WAAW7b,EAAE0E,MAAMnC,OAAOvC,EAAE4b,MAAME,YAAY,KAAKnF,EAAEzW,KAAK8W,iBAAiB9W,KAAKsM,GAAGvM,EAAED,EAAE0O,UAAUxO,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAe1C,yBAAwB,EAAGjU,KAAK8W,kBAAkB9W,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAe5C,oBAAmB,EAAG/T,KAAK+W,aAAa/W,KAAKsM,GAAGoL,iBAAiB1X,KAAK2W,eAAezC,sBAAqB,EAAGlU,KAAKgX,eAAehX,KAAKsM,GAAGkM,OAAOxY,KAAKsM,GAAGmM,OAAO,IAAIlT,EAAEvF,KAAK8Y,eAAe+C,4BAA4B/b,EAAE4b,OAAO,GAAG1b,KAAK+Y,cAAcxT,GAAGjE,IAAIxB,EAAE2O,OAAOzO,KAAKsM,GAAGmN,YAAYzZ,KAAKsM,GAAGoN,WAAWnU,GAAGvF,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAevC,eAAe,GAAGpU,KAAK+Y,YAAYxT,GAAGvF,KAAKsM,GAAGwP,WAAW9b,KAAKsM,GAAGoN,WAAW,EAAE1Z,KAAKsM,GAAGyP,KAAK/b,KAAKsM,GAAGyP,KAAK/b,KAAKsM,GAAG0P,cAAclc,EAAE4b,OAAO1b,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAexC,qBAAqB,GAAGnU,KAAKsM,GAAGwL,UAAU9X,KAAK2W,eAAehC,aAAa,QAAQ7R,EAAEhD,EAAEyY,aAAQ,IAASzV,EAAEA,EAAE,GAAG9C,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAerC,oBAAoBxU,EAAE6Z,UAAU,EAAE,GAAG7Z,EAAE6Z,UAAU,CAAC,IAAIzW,EAAEoT,EAAExW,EAAE6Z,WAAWpQ,EAAErG,EAAEJ,EAAE2H,EAAEvH,EAAEsI,EAAEvI,EAAEC,EAAEyL,EAAEtD,EAAEnI,EAAEqC,EAAEvF,KAAKsM,GAAGuL,UAAU7X,KAAK2W,eAAepC,iBAAiBhL,EAAEkB,EAAExH,EAAEoI,GAAG,GAAGrL,KAAKsM,GAAGqL,UAAU3X,KAAK2W,eAAenC,oBAAoB1U,EAAE8Z,UAAU,EAAE,GAAG9Z,EAAE8Z,UAAU,CAAC,IAAItO,EAAEgL,EAAExW,EAAE8Z,WAAWrQ,EAAE+B,EAAExI,EAAE2H,EAAEa,EAAEE,EAAEvI,EAAEqI,EAAEqD,EAAE3O,KAAKsM,GAAGuL,UAAU7X,KAAK2W,eAAelC,iBAAiBlL,EAAEkB,EAAExH,EAAE,QAAQlB,EAAEjC,EAAEyY,aAAQ,IAASxW,EAAEA,EAAE,GAAG/B,KAAKsM,GAAGwL,UAAU9X,KAAK2W,eAAejC,oBAAoB,QAAQ3R,EAAEjD,EAAE+Z,oBAAe,IAAS9W,EAAEA,EAAE,GAAG/C,KAAKsM,GAAGyL,WAAW/X,KAAKsM,GAAGqM,UAAU,EAAE,IAAI7Y,EAA5jF,GAAikFmc,GAAE,WAAW,SAASnc,EAAEA,GAAGE,KAAKsM,GAAGxM,EAAE,OAAOA,EAAEO,UAAU6b,gBAAgB,SAASpc,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE9B,KAAK,YAAO,IAASD,IAAIA,GAAE,QAAI,IAASuB,IAAIA,EAAE,MAAMA,EAAE,MAAMA,EAAEA,EAAEtB,KAAKsM,GAAG+D,gBAAgBvQ,EAAEuZ,aAAarZ,KAAKmc,iBAAiBrc,EAAEwB,EAAEvB,GAAGD,EAAEsc,iBAAiB,QAAQ,WAAW,OAAOta,EAAEqa,iBAAiBrc,EAAEwB,EAAEvB,MAAMuB,GAAGxB,EAAEO,UAAUgc,iBAAiB,SAASvc,EAAEC,EAAEuB,GAAG,YAAO,IAASvB,IAAIA,GAAE,QAAI,IAASuB,IAAIA,EAAE,MAAMA,EAAE,MAAMA,EAAEA,EAAEtB,KAAKsM,GAAG+D,gBAAgBrQ,KAAKmc,iBAAiBrc,EAAEwB,EAAEvB,GAAGuB,GAAGxB,EAAEO,UAAUic,mBAAmB,WAAW,IAAIxc,EAAEE,KAAKsM,GAAG+D,gBAAgB,OAAOrQ,KAAKsM,GAAGmN,YAAYzZ,KAAKsM,GAAGoN,WAAW5Z,GAAGE,KAAKsM,GAAGwP,WAAW9b,KAAKsM,GAAGoN,WAAW,EAAE1Z,KAAKsM,GAAGyP,KAAK,EAAE,EAAE,EAAE/b,KAAKsM,GAAGyP,KAAK/b,KAAKsM,GAAG0P,cAAc,IAAIO,WAAW,CAAC,EAAE,EAAE,EAAE,OAAOvc,KAAKsM,GAAGkQ,cAAcxc,KAAKsM,GAAGoN,WAAW1Z,KAAKsM,GAAGmQ,eAAezc,KAAKsM,GAAGoQ,eAAe1c,KAAKsM,GAAGkQ,cAAcxc,KAAKsM,GAAGoN,WAAW1Z,KAAKsM,GAAGqQ,eAAe3c,KAAKsM,GAAGoQ,eAAe1c,KAAKsM,GAAGkQ,cAAcxc,KAAKsM,GAAGoN,WAAW1Z,KAAKsM,GAAGsQ,mBAAmB5c,KAAKsM,GAAGuQ,QAAQ7c,KAAKsM,GAAGkQ,cAAcxc,KAAKsM,GAAGoN,WAAW1Z,KAAKsM,GAAGwQ,mBAAmB9c,KAAKsM,GAAGuQ,QAAQ7c,KAAKsM,GAAGmN,YAAYzZ,KAAKsM,GAAGoN,WAAW,MAAM5Z,GAAGA,EAAEO,UAAU8b,iBAAiB,SAASrc,EAAEC,EAAEuB,QAAG,IAASA,IAAIA,GAAE,GAAItB,KAAKsM,GAAGmN,YAAYzZ,KAAKsM,GAAGoN,WAAW3Z,GAAGC,KAAKsM,GAAGwP,WAAW9b,KAAKsM,GAAGoN,WAAW,EAAE1Z,KAAKsM,GAAGyP,KAAK/b,KAAKsM,GAAGyP,KAAK/b,KAAKsM,GAAG0P,cAAclc,GAAGE,KAAKsM,GAAGkQ,cAAcxc,KAAKsM,GAAGoN,WAAW1Z,KAAKsM,GAAGmQ,eAAezc,KAAKsM,GAAGoQ,eAAe1c,KAAKsM,GAAGkQ,cAAcxc,KAAKsM,GAAGoN,WAAW1Z,KAAKsM,GAAGqQ,eAAe3c,KAAKsM,GAAGoQ,gBAAe,IAAKpb,GAAGtB,KAAKsM,GAAGkQ,cAAcxc,KAAKsM,GAAGoN,WAAW1Z,KAAKsM,GAAGsQ,mBAAmB5c,KAAKsM,GAAGyQ,SAAS/c,KAAKsM,GAAGkQ,cAAcxc,KAAKsM,GAAGoN,WAAW1Z,KAAKsM,GAAGwQ,mBAAmB9c,KAAKsM,GAAGyQ,WAAW/c,KAAKsM,GAAGkQ,cAAcxc,KAAKsM,GAAGoN,WAAW1Z,KAAKsM,GAAGsQ,mBAAmB5c,KAAKsM,GAAGuQ,QAAQ7c,KAAKsM,GAAGkQ,cAAcxc,KAAKsM,GAAGoN,WAAW1Z,KAAKsM,GAAGwQ,mBAAmB9c,KAAKsM,GAAGuQ,SAAS7c,KAAKsM,GAAGmN,YAAYzZ,KAAKsM,GAAGoN,WAAW,OAAO5Z,EAAr0D,GAA00Dkd,GAAE,WAAW,SAASld,EAAEA,GAAGE,KAAKid,eAAend,EAAEE,KAAKkd,SAAS,IAAInM,IAAI,OAAOjR,EAAEO,UAAUkZ,4BAA4B,SAASzZ,EAAEC,GAAG,IAAIuB,EAAE,YAAO,IAASvB,IAAIA,GAAE,GAAI,QAAQuB,EAAEtB,KAAKkd,SAAS5c,IAAIqR,OAAOC,IAAI9R,EAAEqd,aAAQ,IAAS7b,EAAEA,EAAEtB,KAAKod,uBAAuBtd,EAAEC,IAAID,EAAEO,UAAU+c,uBAAuB,SAAStd,EAAEC,QAAG,IAASA,IAAIA,GAAE,GAAI,IAAIuB,EAAEtB,KAAKid,eAAef,gBAAgBpc,EAAEC,GAAG,OAAOC,KAAKkd,SAAS3c,IAAIoR,OAAOC,IAAI9R,EAAEqd,KAAK7b,GAAGA,GAAGxB,EAAEO,UAAUsa,6BAA6B,SAAS7a,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE,YAAO,IAASR,IAAIA,GAAE,GAAI,QAAQQ,EAAE9B,KAAKkd,SAAS5c,IAAIqR,OAAOC,IAAI9R,WAAM,IAASgC,EAAEA,EAAE9B,KAAKqd,wBAAwBvd,EAAEC,EAAEuB,IAAIxB,EAAEO,UAAUgd,wBAAwB,SAASvd,EAAEC,EAAEuB,QAAG,IAASA,IAAIA,GAAE,GAAI,IAAIQ,EAAE9B,KAAKid,eAAeZ,iBAAiBtc,EAAEuB,GAAG,OAAOtB,KAAKkd,SAAS3c,IAAIoR,OAAOC,IAAI9R,GAAGgC,GAAGA,GAAGhC,EAAEO,UAAUwb,4BAA4B,SAAS/b,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKkd,SAAS5c,IAAIqR,OAAOC,IAAI9R,EAAEqd,aAAQ,IAASpd,EAAEA,EAAEC,KAAKsd,uBAAuBxd,IAAIA,EAAEO,UAAUid,uBAAuB,SAASxd,GAAG,IAAIC,EAAEC,KAAKid,eAAeX,qBAAqB,OAAOtc,KAAKkd,SAAS3c,IAAIoR,OAAOC,IAAI9R,EAAEqd,KAAKpd,GAAGA,GAAGD,EAAhjC,GAAqjCyd,GAAE,WAAW,SAASzd,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKsM,GAAGxM,EAAEE,KAAK8Y,eAAexX,EAAEtB,KAAKwd,UAAU1b,EAAE/B,EAAEwT,cAAc,OAAOzT,EAAEO,UAAU+H,OAAO,SAAStI,EAAEC,GAAG,IAAIC,KAAKwd,UAAUld,IAAIR,EAAE2O,MAAMrG,OAAOtI,EAAEC,EAAEC,KAAKyd,YAAYzd,KAAKyd,WAAW3d,EAAE2O,KAAK,MAAM3O,GAAG,SAASA,EAAEO,UAAU8P,YAAY,SAASrQ,GAAG,IAAIC,EAAEuW,EAAExW,GAAGE,KAAKsM,GAAGoR,WAAW3d,EAAE+C,EAAE/C,EAAEyL,EAAEzL,EAAE4O,EAAE5O,EAAEwF,GAAGvF,KAAKsM,GAAG1F,MAAM5G,KAAKsM,GAAGqR,mBAAmB7d,EAAEO,UAAUgQ,cAAc,SAASvQ,EAAEC,QAAG,IAASA,IAAIA,GAAE,GAAIC,KAAK8Y,eAAesE,uBAAuBtd,EAAEC,IAAID,EAApd,GAAyd8d,GAAG,WAAW,SAAS9d,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,QAAG,IAASC,IAAIA,EAAE,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,EAAE,OAAOI,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKC,IAAIM,IAAI,SAAST,GAAGE,KAAKC,GAAGH,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKE,IAAIK,IAAI,SAAST,GAAGE,KAAKE,GAAGJ,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAOI,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAG,GAAGS,KAAKE,IAAIZ,KAAKE,GAAG,KAAKM,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,aAAab,KAAKa,WAAW,IAAIf,GAAGA,EAAEgB,KAAKd,KAAKa,WAAWb,OAAOQ,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,GAAGD,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAInB,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKC,KAAKH,EAAEkB,GAAGhB,KAAKE,KAAKJ,EAAEmB,GAAGnB,EAAEO,UAAUc,MAAM,WAAW,OAAO,IAAIrB,EAAEE,KAAKC,GAAGD,KAAKE,KAAKJ,EAAEO,UAAUe,SAAS,SAAStB,GAAG,OAAOY,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAGH,EAAEkB,EAAE,GAAGN,KAAKE,IAAIZ,KAAKE,GAAGJ,EAAEmB,EAAE,KAAKnB,EAAEuB,IAAI,SAASvB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEyB,SAAS,SAASzB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEgB,KAAK,SAAShB,EAAEC,GAAG,OAAO,IAAIA,EAAEyB,UAAU1B,EAAES,IAAI,EAAE,GAAGT,EAAES,IAAIR,EAAEiB,EAAEjB,EAAEyB,UAAUzB,EAAEkB,EAAElB,EAAEyB,WAAW1B,GAAGA,EAAE2B,OAAO,SAAS3B,EAAEC,GAAG,OAAOD,EAAES,KAAKR,EAAEkB,EAAElB,EAAEiB,GAAGhB,KAAKc,KAAKhB,EAAEA,IAAIA,EAAE4B,MAAM,SAAS5B,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEvB,EAAEkB,EAAEK,GAAGxB,GAAGA,EAAE6B,IAAI,SAAS7B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEiB,EAAElB,EAAEmB,EAAElB,EAAEkB,GAAGnB,EAAE8B,MAAM,SAAS9B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEkB,EAAEnB,EAAEmB,EAAElB,EAAEiB,GAAGlB,EAAE+B,MAAM,SAAS/B,EAAEC,GAAG,OAAOD,EAAES,IAAIG,KAAKmB,MAAM9B,EAAEiB,GAAGN,KAAKmB,MAAM9B,EAAEkB,IAAInB,GAAGA,EAAh9C,GAAq9C+d,GAAG,WAAW,SAAS/d,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAU,IAAI4b,GAAG5d,KAAKiC,QAAQ,IAAI2b,GAAG5d,KAAKkC,OAAO,EAAElC,KAAKmC,QAAQ,EAAEnC,KAAKO,IAAIT,EAAEC,EAAEuB,EAAEQ,GAAG,OAAO3B,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,GAAGT,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEE,KAAKgC,UAAUf,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,GAAGV,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIP,KAAKgC,UAAUhB,EAAElB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,EAAEhB,KAAKkC,QAAQ1B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,EAAEjB,KAAKmC,SAAS3B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKkC,QAAQ3B,IAAI,SAAST,GAAGE,KAAKkC,OAAOpC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKmC,SAAS5B,IAAI,SAAST,GAAGE,KAAKmC,QAAQrC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKiC,QAAQ1B,IAAIP,KAAKgB,EAAEhB,KAAKoC,MAAM,EAAEpC,KAAKiB,EAAEjB,KAAKqC,OAAO,GAAGrC,KAAKiC,SAASzB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAUzB,IAAIT,EAAEC,GAAGC,KAAKkC,OAAOZ,EAAEtB,KAAKmC,QAAQL,GAAGhC,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKsC,SAASpB,OAAOpB,EAAEwC,WAAWtC,KAAKoC,QAAQtC,EAAEsC,OAAOpC,KAAKqC,SAASvC,EAAEuC,QAAQvC,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,EAAEnB,EAAEsC,MAAMtC,EAAEuC,SAASvC,EAAEO,UAAUkC,SAAS,SAASzC,GAAG,OAAOE,KAAKwC,IAAI1C,EAAEkB,GAAGhB,KAAKgB,EAAElB,EAAE0C,IAAIxC,KAAKyC,IAAI3C,EAAEmB,GAAGjB,KAAKiB,EAAEnB,EAAE2C,IAAI3C,EAAEO,UAAUqC,SAAS,SAAS3C,GAAG,OAAOA,aAAaD,EAAEC,EAAEyC,IAAIxC,KAAKwC,IAAIzC,EAAEiB,GAAGhB,KAAKgB,GAAGjB,EAAE0C,IAAIzC,KAAKyC,IAAI1C,EAAEkB,GAAGjB,KAAKiB,EAAElB,aAAa6d,MAAM7d,EAAEiB,EAAEhB,KAAKgB,GAAGjB,EAAEkB,EAAEjB,KAAKiB,GAAGlB,EAAEiB,GAAGhB,KAAKwC,IAAIzC,EAAEkB,GAAGjB,KAAKyC,KAAK3C,EAAl1D,GAAu1Dge,GAAG,SAAShe,EAAEC,EAAEuB,GAAG,OAAOZ,KAAKiC,IAAIrB,EAAEZ,KAAKkC,IAAI7C,EAAED,MAAM,WAAW,SAASA,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,WAAM,IAASC,IAAIA,EAAE,MAAMC,KAAKmD,SAAS,EAAEnD,KAAKoD,SAAS,EAAEpD,KAAKa,WAAW,IAAI+c,GAAG9d,EAAEE,KAAKqD,QAAQvD,EAAEC,IAAIC,KAAKsD,QAAQvD,GAAGI,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKmD,UAAU5C,IAAI,SAAST,GAAGE,KAAKmD,SAASrD,EAAEE,KAAKoD,SAAStD,EAAEY,KAAK6C,GAAG,IAAIvD,KAAKwD,mBAAmBhD,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKoD,UAAU7C,IAAI,SAAST,GAAGE,KAAKoD,SAAStD,EAAEE,KAAKmD,SAAS,IAAIrD,EAAEY,KAAK6C,GAAGvD,KAAKwD,mBAAmBhD,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,YAAYL,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUmD,gBAAgB,WAAWxD,KAAKa,WAAWN,IAAIG,KAAK+C,IAAIzD,KAAKoD,UAAU1C,KAAKgD,IAAI1D,KAAKoD,YAApwB,GAAmxB,IAAI2a,GAAGC,GAAG,WAAW,SAASle,KAAK,OAAOA,EAAEO,UAAU8D,OAAO,SAASrE,GAAG,IAAIC,EAAED,EAAE0N,MAAMlM,EAAExB,EAAEgQ,MAAMhO,EAAEhC,EAAEme,iBAAiBnb,EAAEhD,EAAEoe,QAAQnc,EAAEjC,EAAEwC,SAASS,EAAEjD,EAAE+M,SAAStH,EAAEzF,EAAEqe,MAAMjb,EAAEpD,EAAEse,YAAY,MAAM,CAAChM,GAAG,EAAElJ,QAAO,EAAG4G,MAAMxO,EAAEkM,MAAMzN,EAAEke,iBAAiBnc,EAAEoc,QAAQpb,EAAER,SAAS,MAAMP,EAAEA,EAAE,IAAI6b,GAAG/Q,SAAS,MAAM9J,EAAEA,EAAE,EAAEob,MAAM5Y,EAAE6Y,YAAYlb,IAAIpD,EAAtT,GAA2Tue,GAAG,WAAW,SAASve,EAAEA,EAAEC,QAAG,IAASA,IAAIA,EAAE,GAAGC,KAAKse,KAAK,IAAIT,GAAG,EAAE,EAAE,EAAE,GAAG7d,KAAK2P,MAAM,EAAE3P,KAAKue,MAAM,GAAGve,KAAKwe,SAAS,GAAGxe,KAAK2P,MAAM5P,EAAEC,KAAKye,OAAO3e,GAAG,OAAOA,EAAEO,UAAUoe,OAAO,SAAS3e,GAAGE,KAAK4G,QAAQ5G,KAAKse,KAAKvd,KAAKjB,IAAIA,EAAEO,UAAUuG,MAAM,WAAW5G,KAAKue,MAAM,GAAGve,KAAKwe,SAASrV,SAAO,SAAWrJ,GAAG,OAAOA,EAAE8G,WAAW5G,KAAKwe,SAAS,IAAI1e,EAAEO,UAAUqe,OAAO,SAAS5e,EAAEC,GAAG,IAAIC,KAAKwe,SAASla,QAAQtE,KAAKue,MAAMja,OAAO,IAAItE,KAAK2P,MAAM,GAAG3P,KAAKoN,QAAQpN,KAAKwe,SAASla,OAAO,EAAEtE,KAAK2e,uBAAuB7e,EAAEC,GAAGC,KAAKue,MAAMvb,KAAK,CAAClD,EAAEC,KAAKD,EAAEO,UAAU+M,MAAM,WAAW,IAAIrN,EAAEC,KAAKsB,EAAEtB,KAAKse,KAAKlc,MAAM,EAAEN,EAAE9B,KAAKse,KAAKjc,OAAO,EAAErC,KAAKwe,SAAS,CAAC,IAAIX,GAAG7d,KAAKse,KAAKtd,EAAEhB,KAAKse,KAAKrd,EAAEK,EAAEQ,GAAG,IAAI+b,GAAG7d,KAAKse,KAAKtd,EAAEhB,KAAKse,KAAKrd,EAAEa,EAAER,EAAEQ,GAAG,IAAI+b,GAAG7d,KAAKse,KAAKtd,EAAEM,EAAEtB,KAAKse,KAAKrd,EAAEa,EAAER,EAAEQ,GAAG,IAAI+b,GAAG7d,KAAKse,KAAKtd,EAAEM,EAAEtB,KAAKse,KAAKrd,EAAEK,EAAEQ,IAAIwM,KAAK,SAAShN,GAAG,OAAO,IAAIxB,EAAEwB,EAAEvB,EAAE4P,MAAM,MAAM3P,KAAKue,MAAMpV,SAAO,SAAWrJ,GAAG,OAAOC,EAAE4e,uBAAuB7e,EAAE,GAAGA,EAAE,OAAOE,KAAKue,MAAM,IAAIze,EAAEO,UAAUse,uBAAuB,SAAS7e,EAAEC,GAAGC,KAAK4e,mBAAmB7e,GAAGoJ,SAAS,SAAS7H,GAAG,OAAOA,EAAEod,OAAO5e,EAAEC,OAAOD,EAAEO,UAAUwe,SAAS,SAAS/e,GAAG,IAAIC,EAAE,GAAG,OAAOC,KAAKwe,SAASla,OAAO,EAAEtE,KAAK4e,mBAAmB9e,GAAGqJ,SAAO,SAAW7H,GAAG,OAAOvB,EAAEiD,KAAKuB,MAAMxE,EAAEuB,EAAEud,SAAS/e,OAAOE,KAAKue,MAAMpV,SAAS,SAASrJ,GAAG,OAAOC,EAAEiD,KAAKlD,EAAE,OAAOC,GAAGD,EAAEO,UAAUue,mBAAmB,SAAS9e,GAAG,IAAIC,EAAE,GAAG,OAAOD,EAAEkB,GAAGhB,KAAKse,KAAKQ,OAAO9d,GAAGlB,EAAEmB,GAAGjB,KAAKse,KAAKQ,OAAO7d,GAAGlB,EAAEiD,KAAKhD,KAAKwe,SAAS,IAAI1e,EAAEkB,GAAGhB,KAAKse,KAAKQ,OAAO9d,GAAGlB,EAAE2C,IAAIzC,KAAKse,KAAKQ,OAAO7d,GAAGlB,EAAEiD,KAAKhD,KAAKwe,SAAS,IAAI1e,EAAE0C,IAAIxC,KAAKse,KAAKQ,OAAO9d,GAAGlB,EAAE2C,IAAIzC,KAAKse,KAAKQ,OAAO7d,GAAGlB,EAAEiD,KAAKhD,KAAKwe,SAAS,IAAI1e,EAAE0C,IAAIxC,KAAKse,KAAKQ,OAAO9d,GAAGlB,EAAEmB,GAAGjB,KAAKse,KAAKQ,OAAO7d,GAAGlB,EAAEiD,KAAKhD,KAAKwe,SAAS,IAAIze,GAAGD,EAA3kD,GAAglDif,GAAG,SAASjf,EAAEC,EAAEuB,EAAEQ,GAAG,OAAOpB,KAAKiC,KAAK7C,EAAEC,GAAGuB,EAAE,EAAEQ,EAAE,IAAIkd,GAAG,WAAW,SAASlf,EAAEA,GAAGE,KAAKif,YAAY,CAACC,GAAG,EAAE1c,GAAG,EAAE2c,GAAG,EAAE1c,GAAG,GAAGzC,KAAKof,cAAc,EAAEpf,KAAKye,OAAO3e,GAAG,OAAOK,OAAOC,eAAeN,EAAEO,UAAU,eAAe,CAACC,IAAI,WAAW,OAAON,KAAKof,eAAe7e,IAAI,SAAST,GAAGE,KAAKof,cAActB,GAAGhe,EAAE,EAAE,KAAKU,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUoe,OAAO,SAAS3e,GAAGE,KAAKse,KAAKxe,EAAEE,KAAKqf,UAAU3e,KAAKqN,KAAKjO,EAAEsC,MAAMpC,KAAKof,eAAepf,KAAKsf,WAAW5e,KAAKqN,KAAKjO,EAAEuC,OAAOrC,KAAKof,eAAepf,KAAKuf,aAAa,GAAG,IAAI,IAAIxf,EAAE,EAAEA,EAAEC,KAAKof,cAAcrf,IAAI,CAACC,KAAKuf,aAAaxf,GAAG,GAAG,IAAI,IAAIuB,EAAE,EAAEA,EAAEtB,KAAKof,cAAc9d,IAAItB,KAAKuf,aAAaxf,GAAGuB,GAAG,KAAKxB,EAAEO,UAAUuG,MAAM,WAAW,IAAI,IAAI9G,EAAE,EAAEA,EAAEE,KAAKof,cAActf,IAAI,IAAI,IAAIC,EAAE,EAAEA,EAAEC,KAAKof,cAAcrf,IAAIC,KAAKuf,aAAazf,GAAGC,GAAG,IAAID,EAAEO,UAAUqe,OAAO,SAAS5e,EAAEC,GAAGC,KAAKwf,kBAAkBzf,GAAG,IAAI,IAAIuB,EAAEtB,KAAKif,YAAYC,GAAG5d,GAAGtB,KAAKif,YAAYzc,GAAGlB,IAAI,IAAI,IAAIQ,EAAE9B,KAAKif,YAAYE,GAAGrd,GAAG9B,KAAKif,YAAYxc,GAAGX,IAAI9B,KAAKuf,aAAaje,GAAGQ,GAAGkB,KAAKlD,IAAIA,EAAEO,UAAUwe,SAAS,SAAS/e,GAAG,IAAIC,EAAE,GAAGC,KAAKwf,kBAAkB1f,GAAG,IAAI,IAAIwB,EAAEtB,KAAKif,YAAYC,GAAG5d,GAAGtB,KAAKif,YAAYzc,GAAGlB,IAAI,IAAI,IAAIQ,EAAE9B,KAAKif,YAAYE,GAAGrd,GAAG9B,KAAKif,YAAYxc,GAAGX,IAAI9B,KAAKuf,aAAaje,GAAGQ,GAAGqH,SAAS,SAASrJ,GAAG,OAAOC,EAAEsJ,SAASvJ,GAAG,KAAKC,EAAEiD,KAAKlD,MAAM,OAAOC,GAAGD,EAAEO,UAAUmf,kBAAkB,SAAS1f,GAAGE,KAAKif,YAAYC,GAAGH,GAAGjf,EAAEkB,EAAEhB,KAAKse,KAAKtd,EAAEhB,KAAKqf,UAAUrf,KAAKof,eAAepf,KAAKif,YAAYzc,GAAGuc,GAAGjf,EAAE0C,GAAGxC,KAAKse,KAAKtd,EAAEhB,KAAKqf,UAAUrf,KAAKof,eAAepf,KAAKif,YAAYE,GAAGJ,GAAGjf,EAAEmB,EAAEjB,KAAKse,KAAKrd,EAAEjB,KAAKsf,WAAWtf,KAAKof,eAAepf,KAAKif,YAAYxc,GAAGsc,GAAGjf,EAAE2C,GAAGzC,KAAKse,KAAKrd,EAAEjB,KAAKsf,WAAWtf,KAAKof,gBAAgBtf,EAA9/C,IAAogD,SAASA,GAAGA,EAAEA,EAAE2f,SAAS,GAAG,WAAW3f,EAAEA,EAAE4f,aAAa,GAAG,eAA3D,CAA2E3B,KAAKA,GAAG,KAAK,IAAI4B,GAAGC,GAAG,WAAW,SAAS9f,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAK6f,WAAW,GAAG7f,KAAK8f,oBAAoB,EAAE9f,KAAK+f,QAAQ,IAAInC,GAAG5d,KAAKggB,QAAQ,IAAIpC,GAAG5d,KAAKigB,QAAQ,IAAIpC,GAAG,EAAE,EAAE,EAAE,GAAG7d,KAAKkgB,OAAOpgB,EAAEE,KAAKmgB,UAAU,GAAGngB,KAAKogB,gBAAgB,GAAGpgB,KAAKqgB,gBAAgBve,EAAE9B,KAAKsgB,wBAAwB,MAAMvgB,EAAEA,EAAEge,GAAG0B,SAASne,GAAG,OAAOxB,EAAEO,UAAUigB,wBAAwB,SAASxgB,EAAEC,GAAGC,KAAKugB,cAAc,MAAMxgB,EAAEA,EAAE,IAAI8d,GAAG,EAAE,EAAE,EAAE,GAAG7d,KAAKwgB,qBAAqBzgB,EAAED,IAAIie,GAAG2B,aAAa1f,KAAKygB,mBAAmB,IAAIzB,GAAGhf,KAAKugB,eAAevgB,KAAKygB,mBAAmB,IAAIpC,GAAGre,KAAKugB,gBAAgBzgB,EAAEO,UAAUqgB,YAAY,SAAS5gB,GAAGA,EAAEsS,GAAGpS,KAAKmgB,UAAU7b,OAAOtE,KAAKmgB,UAAUnd,KAAKlD,IAAIA,EAAEO,UAAUsgB,YAAY,SAAS7gB,GAAG,OAAOE,KAAKmgB,UAAUrgB,IAAIA,EAAEO,UAAUugB,eAAe,SAAS9gB,GAAGE,KAAKmgB,UAAUU,OAAO/gB,EAAEsS,GAAG,GAAGpS,KAAKmgB,UAAUhX,kBAAkBrJ,EAAEC,GAAG,OAAOD,EAAEsS,GAAGrS,MAAMD,EAAEO,UAAUygB,eAAe,WAAW9gB,KAAKmgB,UAAU,IAAIrgB,EAAEO,UAAU0gB,yBAAyB,SAASjhB,GAAG,OAAOA,EAAEoJ,OAAOlJ,KAAK6f,WAAW5W,QAAQ,SAASlJ,GAAG,OAAOA,EAAEihB,cAAc5O,KAAKtS,EAAEsS,MAAM,IAAItS,EAAEO,UAAU4gB,iCAAiC,SAASnhB,EAAEC,GAAG,OAAOD,EAAEoJ,OAAOlJ,KAAK6f,WAAW5W,QAAM,SAAW3H,GAAG,OAAOA,EAAE0f,cAAc5O,KAAKtS,EAAEsS,IAAI9Q,EAAE4f,eAAepR,QAAQ/P,KAAK,IAAID,EAAEO,UAAU8gB,6BAA6B,SAASrhB,GAAGE,KAAKmgB,UAAUrgB,EAAEsS,KAAKtS,EAAEoJ,SAASlJ,KAAK6f,WAAW7f,KAAK6f,WAAW5W,QAAM,SAAWlJ,GAAG,OAAOA,EAAEihB,cAAc5O,KAAKtS,EAAEsS,IAAIrS,EAAEmhB,eAAe9O,KAAKtS,EAAEsS,MAAMpS,KAAKohB,YAAYthB,GAAGE,KAAKqhB,YAAYvhB,EAAEE,KAAKshB,WAAWxhB,MAAMA,EAAEO,UAAUkI,QAAQ,WAAW,IAAIzI,EAAEE,KAAKA,KAAK6f,WAAW,GAAG,IAAI7f,KAAKmgB,UAAU7b,SAAStE,KAAKogB,gBAAgBpgB,KAAKmgB,UAAUlX,QAAQ,SAASnJ,GAAG,OAAOA,EAAEoJ,UAAUlJ,KAAKygB,mBAAmB7Z,QAAQ5G,KAAKogB,gBAAgBjX,SAAS,SAASpJ,GAAGD,EAAEshB,YAAYrhB,OAAM,IAAKC,KAAKwgB,qBAAqBxgB,KAAKuhB,iBAAgB,IAAKvhB,KAAKigB,QAAQ/e,OAAOlB,KAAKugB,iBAAiBvgB,KAAKugB,cAAcxf,KAAKf,KAAKigB,SAASjgB,KAAKygB,mBAAmBhC,OAAOze,KAAKugB,iBAAiBvgB,KAAKwhB,6BAA6BxhB,KAAKogB,gBAAgBjX,SAAS,SAASpJ,GAAG,IAAIuB,EAAEvB,EAAEqS,GAAGtQ,EAAE/B,EAAEyN,MAAMiU,YAAY,OAAO3hB,EAAE2gB,mBAAmB/B,OAAOpd,EAAEQ,MAAM9B,KAAKie,qBAAqBne,EAAEO,UAAU+gB,YAAY,SAASthB,GAAGA,EAAE0N,MAAMlL,SAASxC,EAAEwC,SAASxC,EAAE0N,MAAMX,SAAS/M,EAAE+M,SAAS/M,EAAE0N,MAAMvF,UAAUnI,EAAEO,UAAUkhB,cAAc,WAAW,IAAIzhB,EAAEE,KAAKA,KAAKogB,gBAAgBjX,SAAO,SAAWpJ,GAAG,IAAIuB,EAAEvB,EAAEyN,MAAMiU,YAAY3hB,EAAEigB,QAAQxf,IAAIG,KAAKiC,IAAIrB,EAAEN,EAAElB,EAAEigB,QAAQ/e,GAAGN,KAAKiC,IAAIrB,EAAEL,EAAEnB,EAAEigB,QAAQ9e,IAAInB,EAAEkgB,QAAQzf,IAAIG,KAAKkC,IAAItB,EAAEkB,GAAG1C,EAAEkgB,QAAQhf,GAAGN,KAAKkC,IAAItB,EAAEmB,GAAG3C,EAAEkgB,QAAQ/e,OAAOjB,KAAKigB,QAAQ1f,IAAIP,KAAK+f,QAAQ/e,EAAEhB,KAAK+f,QAAQ9e,EAAEjB,KAAKggB,QAAQhf,EAAEhB,KAAK+f,QAAQ/e,EAAEhB,KAAKggB,QAAQ/e,EAAEjB,KAAK+f,QAAQ9e,IAAInB,EAAEO,UAAUmhB,2BAA2B,WAAWxhB,KAAKygB,8BAA8BzB,IAAIhf,KAAK8f,sBAAsB9f,KAAKogB,gBAAgB9b,SAAStE,KAAKygB,mBAAmBiB,aAAa,GAAG1hB,KAAKogB,gBAAgB9b,OAAO,GAAG,GAAGtE,KAAKygB,mBAAmBhC,OAAOze,KAAKugB,eAAevgB,KAAK8f,oBAAoB9f,KAAKogB,gBAAgB9b,SAASxE,EAAEO,UAAU4d,iBAAiB,WAAW,IAAIne,EAAEE,KAAKA,KAAKogB,gBAAgBnX,QAAQ,SAASnJ,GAAG,OAAOA,EAAEme,oBAAoB9U,SAAO,SAAWpJ,GAAG,OAAOD,EAAEuhB,YAAYthB,EAAED,EAAEwhB,WAAWvhB,QAAQD,EAAEO,UAAUihB,WAAW,SAASxhB,GAAG,IAAIC,EAAEC,KAAK,OAAOA,KAAKqgB,gBAAgBrgB,KAAKygB,mBAAmB5B,SAAS/e,EAAE0N,MAAMiU,aAAanT,KAAK,SAASxO,GAAG,OAAOC,EAAEogB,UAAUrgB,MAAMmJ,iBAAiBnJ,GAAG,OAAOA,EAAEoJ,UAAUD,QAAM,SAAW3H,GAAG,OAAOvB,EAAEsgB,gBAAgBsB,MAAM,SAAS5hB,GAAG,OAAOA,EAAE,KAAKD,EAAEgQ,OAAO/P,EAAE,KAAKuB,EAAEwO,OAAO/P,EAAE,KAAKD,EAAEgQ,OAAO/P,EAAE,KAAKuB,EAAEwO,YAAY9P,KAAKygB,mBAAmB5B,SAAS/e,EAAE0N,MAAMiU,aAAanT,KAAK,SAASxO,GAAG,OAAOC,EAAEogB,UAAUrgB,MAAMmJ,QAAQ,SAASnJ,GAAG,OAAOA,EAAEoJ,WAAWpJ,EAAEO,UAAUghB,YAAY,SAASvhB,EAAEC,GAAG,IAAIuB,EAAEtB,KAAKD,EAAEkJ,QAAQ,SAASlJ,GAAG,QAAQD,EAAEqe,OAAOpe,EAAEoe,OAAOpe,EAAEoe,QAAQre,EAAEqe,OAAOre,EAAEsS,KAAKrS,EAAEqS,OAAOjJ,SAAS,SAASpJ,GAAG,IAAIuB,EAAEsgB,WAAW9hB,EAAEC,GAAG,CAAC,IAAI+B,EAAER,EAAE4e,OAAO2B,uBAAuB/hB,EAAE0N,MAAMzN,EAAEyN,OAAO,OAAO1L,IAAIR,EAAEue,WAAW7c,KAAK,CAACge,cAAclhB,EAAEohB,eAAenhB,EAAE+hB,WAAWhgB,GAAG,CAACkf,cAAcjhB,EAAEmhB,eAAephB,EAAEgiB,WAAW,CAACC,UAAUjgB,EAAEkgB,sBAAsBA,sBAAsBlgB,EAAEigB,UAAUE,YAAYngB,EAAEmgB,eAAeniB,EAAEse,aAAate,EAAEse,YAAYtc,SAAShC,EAAEO,UAAUuhB,WAAW,SAAS9hB,EAAEC,GAAG,IAAI,IAAIuB,EAAE,EAAEQ,EAAE9B,KAAK6f,WAAWve,EAAEQ,EAAEwC,OAAOhD,IAAI,CAAC,IAAIwB,EAAEhB,EAAER,GAAG,GAAGwB,EAAEke,cAAc5O,KAAKtS,EAAEsS,IAAItP,EAAEoe,eAAe9O,KAAKrS,EAAEqS,GAAG,OAAM,EAAG,OAAM,GAAItS,EAAzmI,IAA+mI,SAASA,GAAGA,EAAEA,EAAE4L,QAAQ,GAAG,UAAU5L,EAAEA,EAAE6L,cAAc,GAAG,gBAAgB7L,EAAEA,EAAE8L,KAAK,GAAG,OAAtF,CAA8F+T,KAAKA,GAAG,KAAK,IAAIuC,GAAGC,GAAG,WAAW,SAASriB,EAAEA,EAAEC,EAAEuB,GAAGtB,KAAKoiB,aAAatiB,EAAEE,KAAKqiB,0BAA0BtiB,EAAEC,KAAKsiB,sBAAsBhhB,EAAE,OAAOxB,EAAEO,UAAUwhB,uBAAuB,SAAS/hB,EAAEC,GAAG,OAAOD,EAAE2O,OAAOkR,GAAGjU,SAAS3L,EAAE0O,OAAOkR,GAAGjU,QAAQ1L,KAAKoiB,aAAa7Z,QAAQzI,EAAEC,GAAGD,EAAE2O,OAAOkR,GAAGhU,eAAe5L,EAAE0O,OAAOkR,GAAGjU,QAAQ1L,KAAKqiB,0BAA0B9Z,QAAQzI,EAAEC,GAAGD,EAAE2O,OAAOkR,GAAGjU,SAAS3L,EAAE0O,OAAOkR,GAAGhU,cAAc3L,KAAKqiB,0BAA0B9Z,QAAQxI,EAAED,GAAE,GAAIA,EAAE2O,OAAOkR,GAAGhU,eAAe5L,EAAE0O,OAAOkR,GAAGhU,cAAc3L,KAAKsiB,sBAAsB/Z,QAAQzI,EAAEC,GAAG,MAAMD,EAAlhB,IAAwhB,SAASA,GAAGA,EAAEA,EAAEyiB,KAAK,GAAG,OAAOziB,EAAEA,EAAE0iB,IAAI,GAAG,MAA1C,CAAiDN,KAAKA,GAAG,KAAK,IAAIO,GAAG,WAAW,SAAS3iB,EAAEA,EAAEC,GAAGC,KAAKsiB,sBAAsBxiB,EAAEE,KAAK0iB,YAAY3iB,EAAE,OAAOD,EAAEO,UAAUwhB,uBAAuB,SAAS/hB,EAAEC,GAAG,OAAOD,EAAE2O,OAAOkR,GAAGhU,eAAe5L,EAAE0O,OAAOkR,GAAGhU,cAAc3L,KAAKsiB,sBAAsB/Z,QAAQzI,EAAEC,GAAGC,KAAK0iB,YAAYna,QAAQzI,EAAEC,IAAID,EAAtQ,GAA2Q6iB,GAAG,WAAW,SAAS7iB,IAAIE,KAAK+hB,UAAU,IAAInE,GAAG5d,KAAKgiB,sBAAsB,IAAIpE,GAAG,OAAO9d,EAAEO,UAAUkI,QAAQ,SAASzI,EAAEC,GAAG,IAAIuB,EAAExB,EAAE2hB,YAAY3f,EAAE/B,EAAE0hB,YAAY,OAAOzhB,KAAK4iB,SAASliB,KAAKiC,IAAIrB,EAAEkB,GAAGV,EAAEU,IAAI9B,KAAKkC,IAAItB,EAAEN,EAAEc,EAAEd,GAAGhB,KAAK6iB,SAASniB,KAAKiC,IAAIrB,EAAEmB,GAAGX,EAAEW,IAAI/B,KAAKkC,IAAItB,EAAEL,EAAEa,EAAEb,GAAGjB,KAAK4iB,SAAS,GAAG5iB,KAAK6iB,SAAS,EAAE,MAAM7iB,KAAK8iB,qBAAqBxhB,EAAEQ,GAAG9B,KAAK+hB,UAAUxhB,IAAIG,KAAKqiB,KAAKjhB,EAAEgd,OAAO9d,EAAEM,EAAEwd,OAAO9d,GAAGN,KAAKqiB,KAAKjhB,EAAEgd,OAAO7d,EAAEK,EAAEwd,OAAO7d,IAAIjB,KAAKgjB,mBAAmB1hB,EAAEQ,GAAG9B,KAAK6iB,SAAS7iB,KAAK4iB,UAAU5iB,KAAKijB,WAAWjjB,KAAK6iB,SAAS7iB,KAAKgiB,sBAAsBzhB,IAAI,GAAGP,KAAK+hB,UAAU9gB,KAAKjB,KAAKijB,WAAWjjB,KAAK4iB,SAAS5iB,KAAKgiB,sBAAsBzhB,KAAKP,KAAK+hB,UAAU/gB,EAAEhB,KAAK6iB,WAAW7iB,KAAK4iB,UAAU5iB,KAAK+hB,UAAU9gB,EAAE,IAAI2c,GAAG9c,KAAKd,KAAKgiB,sBAAsBhiB,KAAKgiB,uBAAuB,CAACD,UAAUnE,GAAGlc,MAAM,IAAIkc,GAAG5d,KAAKgiB,uBAAuB,GAAGA,sBAAsBhiB,KAAKgiB,sBAAsB7gB,QAAQ8gB,YAAYjiB,KAAKijB,cAAcnjB,EAAEO,UAAUyiB,qBAAqB,SAAShjB,EAAEC,GAAG,IAAID,EAAEsC,OAAO,IAAIrC,EAAEqC,OAAO,IAAIpC,KAAK4iB,WAAW5iB,KAAK4iB,SAASliB,KAAKiC,IAAIjC,KAAKoM,IAAIhN,EAAEkB,EAAEjB,EAAEiB,GAAGN,KAAKoM,IAAIhN,EAAE0C,GAAGzC,EAAEyC,MAAM,IAAI1C,EAAEuC,QAAQ,IAAItC,EAAEsC,QAAQ,IAAIrC,KAAK6iB,WAAW7iB,KAAK6iB,SAASniB,KAAKiC,IAAIjC,KAAKoM,IAAIhN,EAAEmB,EAAElB,EAAEkB,GAAGP,KAAKoM,IAAIhN,EAAE2C,GAAG1C,EAAE0C,OAAO3C,EAAEO,UAAU2iB,mBAAmB,SAASljB,EAAEC,GAAG,GAAGC,KAAK6iB,SAAS,IAAI/iB,EAAE2C,GAAG1C,EAAE0C,IAAI3C,EAAEmB,EAAElB,EAAEkB,GAAGnB,EAAE2C,GAAG1C,EAAE0C,IAAI3C,EAAEmB,EAAElB,EAAEkB,GAAG,CAAC,IAAIK,EAAEZ,KAAKoM,IAAIhN,EAAEmB,EAAElB,EAAEkB,GAAGa,EAAEpB,KAAKoM,IAAIhN,EAAE2C,GAAG1C,EAAE0C,IAAIzC,KAAK6iB,UAAUvhB,EAAEQ,EAAER,EAAEQ,EAAE9B,KAAK4iB,SAAS,IAAI9iB,EAAE0C,GAAGzC,EAAEyC,IAAI1C,EAAEkB,EAAEjB,EAAEiB,GAAGlB,EAAE0C,GAAGzC,EAAEyC,IAAI1C,EAAEkB,EAAEjB,EAAEiB,KAAKM,EAAEZ,KAAKoM,IAAIhN,EAAEkB,EAAEjB,EAAEiB,GAAGc,EAAEpB,KAAKoM,IAAIhN,EAAE0C,GAAGzC,EAAEyC,IAAIxC,KAAK4iB,UAAUthB,EAAEQ,EAAER,EAAEQ,IAAIhC,EAAr8C,GAA08CojB,GAAG,WAAW,SAASpjB,IAAIE,KAAKmjB,aAAa,IAAIvF,GAAG5d,KAAKoB,SAAS,IAAIwc,GAAG5d,KAAK+hB,UAAU,IAAInE,GAAG,OAAO9d,EAAEO,UAAUkI,QAAQ,SAASzI,EAAEC,EAAEuB,GAAG,YAAO,IAASA,IAAIA,GAAE,GAAItB,KAAKmjB,aAAa5iB,IAAIud,GAAGhe,EAAEwC,SAAStB,EAAEjB,EAAE0hB,YAAYzgB,EAAEjB,EAAE0hB,YAAYjf,IAAIsb,GAAGhe,EAAEwC,SAASrB,EAAElB,EAAE0hB,YAAYxgB,EAAElB,EAAE0hB,YAAYhf,KAAKmb,GAAGrc,SAASvB,KAAKoB,SAASpB,KAAKmjB,aAAarjB,EAAEwC,UAAUtC,KAAKoB,SAASI,UAAU1B,EAAE2N,OAAO,MAAMmQ,GAAG9c,KAAKd,KAAK+hB,UAAU/hB,KAAKoB,UAAU,CAAC2gB,UAAUzgB,EAAEsc,GAAGlc,MAAM,IAAIkc,GAAG5d,KAAK+hB,WAAW,GAAG/hB,KAAK+hB,UAAU5gB,QAAQ6gB,sBAAsB1gB,EAAEtB,KAAK+hB,UAAU5gB,QAAQyc,GAAGlc,MAAM,IAAIkc,GAAG5d,KAAK+hB,WAAW,GAAGE,YAAYniB,EAAE2N,OAAOzN,KAAKoB,SAASI,aAAa1B,EAA1mB,GAA+mBsjB,GAAG,WAAW,SAAStjB,IAAIE,KAAKoB,SAAS,IAAIwc,GAAG5d,KAAK+hB,UAAU,IAAInE,GAAG,OAAO9d,EAAEO,UAAUkI,QAAQ,SAASzI,EAAEC,GAAG,OAAO6d,GAAGrc,SAASvB,KAAKoB,SAASrB,EAAEuC,SAASxC,EAAEwC,UAAUtC,KAAKoB,SAASI,UAAU1B,EAAE2N,OAAO1N,EAAE0N,OAAO,MAAMmQ,GAAG9c,KAAKd,KAAK+hB,UAAU/hB,KAAKoB,UAAU,CAAC2gB,UAAU/hB,KAAK+hB,UAAU5gB,QAAQ6gB,sBAAsBpE,GAAGlc,MAAM,IAAIkc,GAAG5d,KAAK+hB,WAAW,GAAGE,YAAYniB,EAAE2N,OAAO1N,EAAE0N,OAAOzN,KAAKoB,SAASI,aAAa1B,EAA9Y,GAAmZujB,GAAG,SAASvjB,EAAEC,GAAG,OAAOsjB,GAAGljB,OAAOwD,gBAAgB,CAACC,UAAU,cAAcC,OAAO,SAAS/D,EAAEC,GAAGD,EAAE8D,UAAU7D,IAAI,SAASD,EAAEC,GAAG,IAAI,IAAIuB,KAAKvB,EAAEI,OAAOE,UAAUyD,eAAeC,KAAKhE,EAAEuB,KAAKxB,EAAEwB,GAAGvB,EAAEuB,KAAK+hB,GAAGvjB,EAAEC,IAAI,SAASujB,GAAGxjB,EAAEC,EAAEuB,GAAG,GAAGA,GAAG,IAAI+C,UAAUC,OAAO,IAAI,IAAIxC,EAAEgB,EAAE,EAAEf,EAAEhC,EAAEuE,OAAOxB,EAAEf,EAAEe,KAAKhB,GAAGgB,KAAK/C,IAAI+B,IAAIA,EAAE+B,MAAMxD,UAAUmE,MAAMT,KAAKhE,EAAE,EAAE+C,IAAIhB,EAAEgB,GAAG/C,EAAE+C,IAAI,OAAOhD,EAAE2E,OAAO3C,GAAG+B,MAAMxD,UAAUmE,MAAMT,KAAKhE,IAAI,mBAAmB2E,iBAAiBA,gBAAmB,IAAC6e,GAAGC,GAAG,WAAW,SAAS1jB,IAAIE,KAAKyjB,MAAM,CAAC9gB,IAAI,EAAEC,IAAI,GAAG5C,KAAK0jB,MAAM,CAAC/gB,IAAI,EAAEC,IAAI,GAAG5C,KAAK2jB,aAAa,IAAI/F,GAAG5d,KAAKoB,SAAS,IAAIwc,GAAG,EAAA,EAAI,EAAA,GAAK5d,KAAK4jB,MAAM,IAAIhG,GAAG,OAAO9d,EAAEO,UAAUkI,QAAQ,SAASzI,EAAEC,GAAG,IAAIuB,EAAEtB,KAAKA,KAAKijB,WAAW,EAAA,EAAInjB,EAAE2O,OAAOkR,GAAGhU,cAAc3L,KAAK6jB,qBAAqB/jB,EAAEC,GAAGA,EAAE0O,OAAOkR,GAAGhU,eAAe3L,KAAK6jB,qBAAqB9jB,EAAED,GAAGE,KAAK8jB,KAAKR,GAAG,GAAGxjB,EAAEikB,gBAAe,GAAIhkB,EAAEgkB,eAAe5a,SAAO,SAAWrJ,GAAG,OAAOwB,EAAEwiB,KAAKnC,MAAM,SAAS5hB,GAAG,OAAOA,EAAEmB,OAAOpB,MAAM,KAAKwB,EAAEwiB,KAAK9gB,KAAKlD,MAAM,IAAI,IAAIgC,EAAE,EAAEA,EAAE9B,KAAK8jB,KAAKxf,OAAOxC,IAAI,CAAC,GAAGhC,EAAE2O,OAAOkR,GAAGhU,cAAc3L,KAAKgkB,yBAAyBlkB,EAAEE,KAAK8jB,KAAKhiB,IAAI/B,EAAE0O,OAAOkR,GAAGhU,eAAe3L,KAAKgkB,yBAAyBjkB,EAAEC,KAAK8jB,KAAKhiB,IAAI9B,KAAKikB,qBAAqBjkB,KAAKyjB,MAAM3jB,EAAEE,KAAK8jB,KAAKhiB,IAAI9B,KAAKikB,qBAAqBjkB,KAAK0jB,MAAM3jB,EAAEC,KAAK8jB,KAAKhiB,IAAI9B,KAAKkkB,eAAexjB,KAAKiC,IAAI3C,KAAKyjB,MAAM7gB,IAAI5C,KAAK0jB,MAAM9gB,KAAKlC,KAAKkC,IAAI5C,KAAKyjB,MAAM9gB,IAAI3C,KAAK0jB,MAAM/gB,KAAK3C,KAAKkkB,eAAe,EAAE,OAAO,KAAK,GAAGlkB,KAAKmkB,YAAW,EAAGnkB,KAAKyjB,MAAM7gB,IAAI5C,KAAK0jB,MAAM9gB,KAAK5C,KAAKyjB,MAAM9gB,IAAI3C,KAAK0jB,MAAM/gB,KAAK3C,KAAKyjB,MAAM7gB,IAAI5C,KAAK0jB,MAAM9gB,KAAK5C,KAAKyjB,MAAM9gB,IAAI3C,KAAK0jB,MAAM/gB,IAAI,CAAC,IAAIG,EAAEpC,KAAKoM,IAAI9M,KAAKyjB,MAAM9gB,IAAI3C,KAAK0jB,MAAM/gB,KAAKZ,EAAErB,KAAKoM,IAAI9M,KAAKyjB,MAAM7gB,IAAI5C,KAAK0jB,MAAM9gB,KAAKE,EAAEf,EAAE/B,KAAKkkB,gBAAgBphB,GAAG9C,KAAKkkB,gBAAgBniB,EAAE6b,GAAGlc,MAAM1B,KAAK8jB,KAAKhiB,GAAG9B,KAAK8jB,KAAKhiB,IAAI,GAAG9B,KAAKmkB,YAAW,GAAInkB,KAAKkkB,eAAelkB,KAAKijB,aAAajjB,KAAKijB,WAAWjjB,KAAKkkB,eAAelkB,KAAK2jB,aAAa5iB,KAAKf,KAAK8jB,KAAKhiB,IAAI9B,KAAKmkB,YAAYnkB,KAAKyjB,MAAM7gB,IAAI5C,KAAK0jB,MAAM9gB,KAAKgb,GAAGlc,MAAM1B,KAAK2jB,aAAa3jB,KAAK8jB,KAAKhiB,IAAI,IAAI,MAAM,CAACigB,UAAUnE,GAAGlc,MAAM,IAAIkc,GAAG5d,KAAK2jB,cAAc,GAAG3B,sBAAsBhiB,KAAK2jB,aAAaxiB,QAAQ8gB,YAAYjiB,KAAKijB,aAAanjB,EAAEO,UAAU4jB,qBAAqB,SAASnkB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAE6C,IAAI,EAAA,EAAI7C,EAAE8C,KAAI,EAAA,EAAK7C,EAAE6W,SAASzN,SAAS,SAASpJ,GAAGD,EAAE6C,IAAIjC,KAAKiC,IAAIib,GAAGjc,IAAIL,EAAEvB,GAAGD,EAAE6C,KAAK7C,EAAE8C,IAAIlC,KAAKkC,IAAIgb,GAAGjc,IAAIL,EAAEvB,GAAGD,EAAE8C,QAAQ9C,GAAGA,EAAEO,UAAUwjB,qBAAqB,SAAS/jB,EAAEC,GAAG,IAAIuB,EAAEtB,KAAKA,KAAKoB,SAASb,IAAI,EAAA,EAAI,EAAA,GAAKR,EAAE6W,SAASzN,SAAS,SAASpJ,GAAG6d,GAAGrc,SAASD,EAAEsiB,MAAM7jB,EAAED,EAAEwC,UAAUhB,EAAEsiB,MAAMpiB,UAAUF,EAAEF,SAASI,WAAWF,EAAEF,SAASL,KAAKO,EAAEsiB,UAAUhG,GAAG9c,KAAKhB,EAAEikB,eAAe,GAAG/jB,KAAKoB,WAAWtB,EAAEO,UAAU2jB,yBAAyB,SAASlkB,EAAEC,GAAG6d,GAAGvc,IAAIvB,EAAE8W,SAAS,GAAG9W,EAAEwC,SAASsb,GAAGlc,MAAM1B,KAAK4jB,MAAMhG,GAAG9c,KAAKd,KAAK4jB,MAAM7jB,IAAID,EAAE2N,SAASmQ,GAAGvc,IAAIvB,EAAE8W,SAAS,GAAG9W,EAAEwC,SAASsb,GAAGlc,MAAM1B,KAAK4jB,MAAMhG,GAAG9c,KAAKd,KAAK4jB,MAAM7jB,GAAGD,EAAE2N,UAAU3N,EAAptE,GAAytEskB,GAAG,WAAW,SAAStkB,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKqkB,iBAAiBvkB,EAAEE,KAAKskB,gBAAgBvkB,EAAEC,KAAKukB,iBAAiBjjB,EAAEtB,KAAKwkB,iBAAiB1iB,EAAE,OAAOhC,EAAEO,UAAUqgB,YAAY,SAAS5gB,GAAG,IAAIC,EAAEC,KAAKskB,gBAAgBngB,OAAOrE,GAAG,OAAOE,KAAKqkB,iBAAiB3D,YAAY3gB,GAAGA,GAAGD,EAAEO,UAAUugB,eAAe,SAAS9gB,GAAGE,KAAKqkB,iBAAiBzD,eAAe9gB,IAAIA,EAAEO,UAAU0gB,yBAAyB,SAASjhB,GAAG,OAAOE,KAAKqkB,iBAAiBtD,yBAAyBjhB,IAAIA,EAAEO,UAAU4gB,iCAAiC,SAASnhB,EAAEC,GAAG,OAAOC,KAAKqkB,iBAAiBpD,iCAAiCnhB,EAAEC,IAAID,EAAEO,UAAUokB,aAAa,SAAS3kB,GAAG,IAAIC,EAAEC,KAAKwkB,iBAAiBrgB,OAAOrE,GAAG,OAAOE,KAAKukB,iBAAiBE,aAAa1kB,GAAGA,GAAGD,EAAEO,UAAUqkB,gBAAgB,SAAS5kB,GAAGE,KAAKukB,iBAAiBG,gBAAgB5kB,IAAIA,EAAEO,UAAUkI,QAAQ,SAASzI,GAAGE,KAAKqkB,iBAAiB9b,UAAUvI,KAAKukB,iBAAiBhc,QAAQzI,IAAIA,EAAEO,UAAUuG,MAAM,WAAW5G,KAAKqkB,iBAAiBvD,iBAAiB9gB,KAAKukB,iBAAiBI,oBAAoB7kB,EAAp9B,GAAy9B8kB,GAAG,WAAW,SAAS9kB,KAAK,OAAOA,EAAEO,UAAU8D,OAAO,SAASrE,GAAG,IAAIC,EAAED,EAAE+kB,YAAYvjB,EAAExB,EAAE2O,KAAK3M,EAAEhC,EAAEglB,QAAQhiB,EAAEhD,EAAEwC,SAASP,EAAEjC,EAAEilB,SAAShiB,EAAEjD,EAAEklB,UAAU,GAAG,IAAIjlB,EAAEuE,OAAO,MAAM,IAAIqM,MAAM,yCAAyC,MAAM,CAACzH,QAAO,EAAG2b,YAAY9kB,EAAE0O,KAAKnN,EAAEwjB,QAAQ,MAAMhjB,EAAEA,EAAE,EAAEQ,SAAS,MAAMQ,EAAEA,EAAE,IAAI8a,GAAGmH,SAAS,MAAMhjB,EAAEA,EAAE,IAAI6b,GAAGoH,UAAUjiB,IAAIjD,EAArV,IAA2V,SAASA,GAAGA,EAAEA,EAAEmlB,OAAO,GAAG,SAASnlB,EAAEA,EAAEolB,QAAQ,GAAG,UAAUplB,EAAEA,EAAEqlB,UAAU,GAAG,YAA7E,CAA0F5B,KAAKA,GAAG,KAAK,IAAI6B,GAAG,CAAC,IAAI,KAAKC,GAAG,WAAW,SAASvlB,EAAEA,GAAGE,KAAKqkB,iBAAiBvkB,EAAEE,KAAKslB,YAAY,GAAGtlB,KAAKulB,kBAAkB,GAAGvlB,KAAKmgB,UAAU,GAAGngB,KAAK+kB,SAAS,IAAInH,GAAG5d,KAAKwlB,aAAa,IAAI5H,GAAG5d,KAAKylB,kBAAkB,EAAE,OAAO3lB,EAAEO,UAAUokB,aAAa,SAAS3kB,GAAGE,KAAKslB,YAAYtiB,KAAKlD,IAAIA,EAAEO,UAAUqkB,gBAAgB,SAAS5kB,GAAG,IAAIC,EAAEC,KAAKslB,YAAYvV,QAAQjQ,GAAGC,GAAG,GAAGC,KAAKslB,YAAYzE,OAAO9gB,EAAE,IAAID,EAAEO,UAAUskB,iBAAiB,WAAW3kB,KAAKslB,YAAY,IAAIxlB,EAAEO,UAAUkI,QAAQ,SAASzI,GAAG,IAAIC,EAAEC,KAAKA,KAAKulB,kBAAkBvlB,KAAKslB,YAAYrc,QAAM,SAAWnJ,GAAG,OAAOA,EAAEoJ,UAAUlJ,KAAKmgB,UAAUngB,KAAKulB,kBAAkBlY,QAAM,SAAWvN,EAAEC,GAAG,OAAOujB,GAAGA,GAAG,GAAGxjB,GAAE,GAAIC,EAAE8kB,aAAY,KAAM,IAAI7kB,KAAKulB,kBAAkBpc,SAAS,SAAS7H,GAAGA,EAAEmN,OAAO8U,GAAG2B,QAAQnlB,EAAE2lB,cAAcpkB,EAAExB,GAAGwB,EAAEmN,OAAO8U,GAAG4B,WAAWplB,EAAE4lB,gBAAgBrkB,EAAExB,GAAGwB,EAAE0jB,WAAW1jB,EAAE0jB,UAAU1jB,OAAOxB,EAAEO,UAAUqlB,cAAc,SAAS5lB,EAAEC,GAAG,IAAIuB,EAAEtB,KAAKA,KAAK4lB,aAAa9lB,EAAEC,GAAGqlB,GAAGjc,SAAO,SAAWrH,GAAGR,EAAEukB,cAAc/lB,EAAEC,EAAE+B,GAAGR,EAAEwkB,mBAAmBhmB,EAAEgC,GAAGR,EAAEykB,gBAAgBjmB,EAAEgC,OAAOhC,EAAEO,UAAUslB,gBAAgB,SAAS7lB,EAAEC,GAAG,IAAIuB,EAAEtB,KAAK4d,GAAGvc,IAAIvB,EAAEwC,SAASxC,EAAEwC,SAASsb,GAAGlc,MAAM1B,KAAK+kB,SAASjlB,EAAEilB,SAAShlB,IAAID,EAAE+kB,YAAYvW,KAAG,SAAWxO,GAAG,OAAOwB,EAAE+iB,iBAAiB1D,YAAY7gB,MAAMqJ,SAAO,SAAWrJ,GAAG8d,GAAGvc,IAAIvB,EAAEwC,SAASxC,EAAEwC,SAAShB,EAAEyjB,UAAUzjB,EAAE+iB,iBAAiBlD,6BAA6BrhB,OAAOA,EAAEO,UAAUulB,aAAa,SAAS9lB,EAAEC,GAAGD,EAAEglB,QAAQ,IAAIhlB,EAAEilB,SAAS9jB,GAAGnB,EAAEglB,QAAQ/kB,IAAID,EAAEO,UAAUwlB,cAAc,SAAS/lB,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE9B,KAAKA,KAAK+kB,SAASzjB,GAAGxB,EAAEilB,SAASzjB,GAAGvB,EAAE,IAAIC,KAAK+kB,SAASzjB,KAAKxB,EAAEwC,SAAShB,IAAItB,KAAK+kB,SAASzjB,GAAGxB,EAAE+kB,YAAYvW,KAAK,SAASxO,GAAG,OAAOgC,EAAEuiB,iBAAiB1D,YAAY7gB,MAAMqJ,kBAAkBrJ,GAAGA,EAAEwC,SAAShB,IAAIQ,EAAEijB,SAASzjB,GAAGQ,EAAEuiB,iBAAiBlD,6BAA6BrhB,QAAQA,EAAEO,UAAUylB,mBAAmB,SAAShmB,EAAEC,GAAG,IAAIuB,EAAEtB,KAAKA,KAAKwlB,aAAazlB,GAAG,EAAEC,KAAKgmB,cAAclmB,GAAGqJ,SAAS,SAASrJ,GAAGwB,EAAEmkB,kBAAkB3lB,EAAEgiB,WAAWE,sBAAsBjiB,GAAGD,EAAEgiB,WAAWG,YAAY3gB,EAAEkkB,aAAazlB,GAAGW,KAAKoM,IAAIxL,EAAEkkB,aAAazlB,IAAIW,KAAKoM,IAAIxL,EAAEmkB,mBAAmBnkB,EAAEkkB,aAAazlB,GAAGuB,EAAEmkB,sBAAsB3lB,EAAEO,UAAU0lB,gBAAgB,SAASjmB,EAAEC,GAAG,IAAIuB,EAAEtB,KAAK,IAAIA,KAAKwlB,aAAazlB,KAAKD,EAAEwC,SAASvC,IAAIC,KAAKwlB,aAAazlB,GAAGD,EAAE+kB,YAAYvW,KAAG,SAAWxO,GAAG,OAAOwB,EAAE+iB,iBAAiB1D,YAAY7gB,MAAMqJ,SAAO,SAAWrJ,GAAGA,EAAEwC,SAASvC,IAAIuB,EAAEkkB,aAAazlB,GAAGuB,EAAE+iB,iBAAiBlD,6BAA6BrhB,MAAMY,KAAKqiB,KAAK/iB,KAAKwlB,aAAazlB,MAAMW,KAAKqiB,KAAKjjB,EAAEilB,SAAShlB,MAAMD,EAAEilB,SAAShlB,GAAG,KAAKD,EAAEO,UAAU2lB,cAAc,SAASlmB,GAAG,IAAIC,EAAEC,KAAK,OAAOF,EAAE+kB,YAAYvW,KAAG,SAAWxO,GAAG,OAAOC,EAAEskB,iBAAiB1D,YAAY7gB,MAAMmJ,QAAM,SAAWnJ,GAAG,OAAOA,EAAEoJ,QAAQpJ,EAAEoe,WAAW7Q,QAAM,SAAWvN,EAAEwB,GAAG,OAAOxB,EAAEkD,KAAKuB,MAAMzE,EAAEC,EAAEskB,iBAAiBtD,yBAAyBzf,GAAG2H,iBAAiBnJ,GAAG,OAAOA,EAAEohB,eAAehD,SAASne,EAAEogB,UAAU9W,SAASvJ,EAAEohB,eAAe9O,QAAQtS,IAAI,KAAKA,EAAnuF,GAAwuFmmB,GAAG,WAAW,SAASnmB,EAAEA,GAAGE,KAAKyN,OAAO3N,EAAEE,KAAKyO,KAAKkR,GAAGhU,cAAc3L,KAAKyhB,YAAY,IAAI5D,GAAG,EAAE,EAAE,EAAE,GAAG7d,KAAK4W,SAAS,CAAC,IAAIgH,GAAG,IAAIA,IAAI5d,KAAK+jB,eAAe,CAAC,IAAInG,IAAI5d,KAAKgC,UAAU,IAAI4b,GAAG,OAAOzd,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUjB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAU4H,OAAO,WAAWjI,KAAKkmB,qBAAqBpmB,EAAEO,UAAU6lB,kBAAkB,WAAWlmB,KAAKyhB,YAAYlhB,IAAIP,KAAKsC,SAAStB,EAAEhB,KAAKyN,OAAOzN,KAAKsC,SAASrB,EAAEjB,KAAKyN,OAAO,EAAEzN,KAAKyN,OAAO,EAAEzN,KAAKyN,SAAS3N,EAAniB,GAAwiBqmB,GAAG,WAAW,SAASrmB,EAAEA,GAAGE,KAAKuN,YAAYzN,EAAEE,KAAKyO,KAAKkR,GAAGjU,QAAQ1L,KAAK4W,SAAS,CAAC,IAAIgH,GAAG,IAAIA,IAAI5d,KAAK+jB,eAAe,CAAC,IAAInG,IAAI5d,KAAKyhB,YAAY,IAAI5D,GAAG,EAAE,EAAE,EAAE,GAAG7d,KAAK6M,SAAS,EAAE7M,KAAKgC,UAAU,IAAI4b,GAAG,OAAO9d,EAAEO,UAAU4H,OAAO,WAAWjI,KAAKomB,iBAAiBpmB,KAAKkmB,oBAAoBlmB,KAAKqmB,wBAAwBlmB,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUjB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAU+lB,eAAe,WAAW,IAAI,IAAItmB,EAAE,EAAEA,EAAEE,KAAKuN,YAAYjJ,OAAOxE,IAAIE,KAAK4W,SAAS9W,GAAGS,IAAIP,KAAKuN,YAAYzN,GAAGkB,EAAEN,KAAK+C,IAAIzD,KAAK6M,UAAU7M,KAAKuN,YAAYzN,GAAGmB,EAAEP,KAAKgD,IAAI1D,KAAK6M,UAAU7M,KAAKgC,UAAUhB,EAAEhB,KAAKuN,YAAYzN,GAAGkB,EAAEN,KAAKgD,IAAI1D,KAAK6M,UAAU7M,KAAKuN,YAAYzN,GAAGmB,EAAEP,KAAK+C,IAAIzD,KAAK6M,UAAU7M,KAAKgC,UAAUf,IAAInB,EAAEO,UAAU6lB,kBAAkB,WAAWlmB,KAAKyhB,YAAYzgB,EAAEN,KAAKiC,IAAI3C,KAAK4W,SAAS,GAAG5V,EAAEhB,KAAK4W,SAAS,GAAG5V,GAAGhB,KAAKyhB,YAAYxgB,EAAEP,KAAKiC,IAAI3C,KAAK4W,SAAS,GAAG3V,EAAEjB,KAAK4W,SAAS,GAAG3V,GAAGjB,KAAKyhB,YAAYrf,MAAM1B,KAAKkC,IAAI5C,KAAK4W,SAAS,GAAG5V,EAAEhB,KAAK4W,SAAS,GAAG5V,GAAGhB,KAAKyhB,YAAYzgB,EAAEhB,KAAKyhB,YAAYpf,OAAO3B,KAAKkC,IAAI5C,KAAK4W,SAAS,GAAG3V,EAAEjB,KAAK4W,SAAS,GAAG3V,GAAGjB,KAAKyhB,YAAYxgB,GAAGnB,EAAEO,UAAUgmB,qBAAqB,WAAWzI,GAAGnc,OAAOzB,KAAK+jB,eAAe,GAAGnG,GAAGrc,SAASvB,KAAK+jB,eAAe,GAAG/jB,KAAK4W,SAAS,GAAG5W,KAAK4W,SAAS,MAAM9W,EAA3wC,GAAgxCwmB,GAAG,WAAW,SAASxmB,EAAEA,GAAGE,KAAKuN,YAAYzN,EAAEE,KAAKyO,KAAKkR,GAAGjU,QAAQ1L,KAAK4W,SAAS,GAAG5W,KAAKyhB,YAAY,IAAI5D,GAAG,EAAE,EAAE,EAAE,GAAG7d,KAAK6M,SAAS,EAAE7M,KAAKumB,gBAAgB,GAAGvmB,KAAKgC,UAAU,IAAI4b,GAAG5d,KAAKwmB,QAAQ9Y,OAAOC,iBAAiB3N,KAAKymB,QAAQ/Y,OAAOC,iBAAiB3N,KAAK0mB,SAAShZ,OAAOC,iBAAiB3N,KAAK2mB,SAASjZ,OAAOC,iBAAiB,IAAI,IAAI5N,EAAE,EAAEA,EAAEC,KAAKuN,YAAYjJ,OAAOvE,IAAIC,KAAK4W,SAAS5T,KAAK,IAAI4a,IAAI5d,KAAKumB,gBAAgBvjB,KAAK,IAAI4a,IAAI,OAAOzd,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUjB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,iBAAiB,CAACC,IAAI,WAAW,OAAON,KAAKumB,iBAAiB/lB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAU4H,OAAO,WAAWjI,KAAKomB,iBAAiBpmB,KAAKkmB,oBAAoBlmB,KAAKqmB,wBAAwBvmB,EAAEO,UAAU+lB,eAAe,WAAW,IAAI,IAAItmB,EAAE,EAAEA,EAAEE,KAAKuN,YAAYjJ,OAAOxE,IAAIE,KAAK4W,SAAS9W,GAAGS,IAAIP,KAAKuN,YAAYzN,GAAGkB,EAAEN,KAAK+C,IAAIzD,KAAK6M,UAAU7M,KAAKuN,YAAYzN,GAAGmB,EAAEP,KAAKgD,IAAI1D,KAAK6M,UAAU7M,KAAKgC,UAAUhB,EAAEhB,KAAKuN,YAAYzN,GAAGkB,EAAEN,KAAKgD,IAAI1D,KAAK6M,UAAU7M,KAAKuN,YAAYzN,GAAGmB,EAAEP,KAAK+C,IAAIzD,KAAK6M,UAAU7M,KAAKgC,UAAUf,IAAInB,EAAEO,UAAU6lB,kBAAkB,WAAW,IAAIpmB,EAAEE,KAAKA,KAAKwmB,QAAQxmB,KAAK4W,SAAS,GAAG5V,EAAEhB,KAAKymB,QAAQzmB,KAAK4W,SAAS,GAAG3V,EAAEjB,KAAK0mB,QAAQ1mB,KAAK4W,SAAS,GAAG5V,EAAEhB,KAAK2mB,QAAQ3mB,KAAK4W,SAAS,GAAG3V,EAAEjB,KAAK4W,SAASzN,SAAO,SAAWpJ,GAAGD,EAAE0mB,QAAQ9lB,KAAKiC,IAAI5C,EAAEiB,EAAElB,EAAE0mB,SAAS1mB,EAAE2mB,QAAQ/lB,KAAKiC,IAAI5C,EAAEkB,EAAEnB,EAAE2mB,SAAS3mB,EAAE4mB,QAAQhmB,KAAKkC,IAAI7C,EAAEiB,EAAElB,EAAE4mB,SAAS5mB,EAAE6mB,QAAQjmB,KAAKkC,IAAI7C,EAAEkB,EAAEnB,EAAE6mB,YAAY3mB,KAAKyhB,YAAYlhB,IAAIP,KAAKwmB,QAAQxmB,KAAKymB,QAAQzmB,KAAK0mB,QAAQ1mB,KAAKwmB,QAAQxmB,KAAK2mB,QAAQ3mB,KAAKymB,UAAU3mB,EAAEO,UAAUgmB,qBAAqB,WAAW,IAAI,IAAIvmB,EAAEC,EAAE,EAAEA,EAAEC,KAAK4W,SAAStS,OAAOvE,IAAI6d,GAAGnc,OAAOzB,KAAKumB,gBAAgBxmB,GAAG6d,GAAGrc,SAASvB,KAAKumB,gBAAgBxmB,GAAG,QAAQD,EAAEE,KAAK4W,SAAS7W,EAAE,UAAK,IAASD,EAAEA,EAAEE,KAAK4W,SAAS,GAAG5W,KAAK4W,SAAS7W,MAAMD,EAA/yD,GAAozD8mB,GAAG,SAAS9mB,GAAG,SAASC,EAAEA,EAAEuB,GAAG,IAAIQ,EAAEhC,EAAEiE,KAAK/D,KAAK,CAAC,IAAI4d,IAAI7d,EAAE,GAAGuB,EAAE,GAAG,IAAIsc,IAAI7d,EAAE,EAAEuB,EAAE,GAAG,IAAIsc,GAAG7d,EAAE,EAAEuB,EAAE,GAAG,IAAIsc,GAAG7d,EAAE,GAAGuB,EAAE,MAAMtB,KAAK,OAAO8B,EAAEM,MAAMrC,EAAE+B,EAAEO,OAAOf,EAAEQ,EAAEykB,gBAAgB,CAAC,IAAI3I,GAAG,IAAIA,IAAI9b,EAAE,OAAO,SAAShC,EAAEC,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAIiE,UAAU,uBAAuBC,OAAOlE,GAAG,iCAAiC,SAASuB,IAAItB,KAAKkE,YAAYpE,EAAEujB,GAAGvjB,EAAEC,GAAGD,EAAEO,UAAU,OAAON,EAAEI,OAAOgE,OAAOpE,IAAIuB,EAAEjB,UAAUN,EAAEM,UAAU,IAAIiB,GAAjP,CAAqPvB,EAAED,GAAGC,EAAEM,UAAUwmB,WAAW,SAAS/mB,EAAEC,GAAGC,KAAKoC,MAAMtC,EAAEE,KAAKqC,OAAOtC,EAAEC,KAAKuN,YAAY,GAAGhN,KAAKT,EAAE,GAAGC,EAAE,GAAGC,KAAKuN,YAAY,GAAGhN,KAAKT,EAAE,EAAEC,EAAE,GAAGC,KAAKuN,YAAY,GAAGhN,IAAIT,EAAE,EAAEC,EAAE,GAAGC,KAAKuN,YAAY,GAAGhN,IAAIT,EAAE,GAAGC,EAAE,IAAIA,EAAEM,UAAUgmB,qBAAqB,WAAWzI,GAAG9c,KAAKd,KAAK+jB,eAAe,GAAGnG,GAAGrc,SAASvB,KAAK+jB,eAAe,GAAG/jB,KAAK4W,SAAS,GAAG5W,KAAK4W,SAAS,KAAKgH,GAAGnc,OAAOzB,KAAK+jB,eAAe,GAAG/jB,KAAK+jB,eAAe,KAAKhkB,EAAj1B,CAAo1BumB,IAAIQ,GAAG,WAAW,SAAShnB,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,QAAG,IAASC,IAAIA,EAAE,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,EAAE,OAAOI,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKC,IAAIM,IAAI,SAAST,GAAGE,KAAKC,GAAGH,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKE,IAAIK,IAAI,SAAST,GAAGE,KAAKE,GAAGJ,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAOI,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAG,GAAGS,KAAKE,IAAIZ,KAAKE,GAAG,KAAKM,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,aAAab,KAAKa,WAAW,IAAIf,GAAGA,EAAEgB,KAAKd,KAAKa,WAAWb,OAAOQ,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,GAAGD,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAInB,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKC,KAAKH,EAAEkB,GAAGhB,KAAKE,KAAKJ,EAAEmB,GAAGnB,EAAEO,UAAUc,MAAM,WAAW,OAAO,IAAIrB,EAAEE,KAAKC,GAAGD,KAAKE,KAAKJ,EAAEO,UAAUe,SAAS,SAAStB,GAAG,OAAOY,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAGH,EAAEkB,EAAE,GAAGN,KAAKE,IAAIZ,KAAKE,GAAGJ,EAAEmB,EAAE,KAAKnB,EAAEuB,IAAI,SAASvB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEyB,SAAS,SAASzB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEgB,KAAK,SAAShB,EAAEC,GAAG,OAAO,IAAIA,EAAEyB,UAAU1B,EAAES,IAAI,EAAE,GAAGT,EAAES,IAAIR,EAAEiB,EAAEjB,EAAEyB,UAAUzB,EAAEkB,EAAElB,EAAEyB,WAAW1B,GAAGA,EAAE2B,OAAO,SAAS3B,EAAEC,GAAG,OAAOD,EAAES,KAAKR,EAAEkB,EAAElB,EAAEiB,GAAGhB,KAAKc,KAAKhB,EAAEA,IAAIA,EAAE4B,MAAM,SAAS5B,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEvB,EAAEkB,EAAEK,GAAGxB,GAAGA,EAAE6B,IAAI,SAAS7B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEiB,EAAElB,EAAEmB,EAAElB,EAAEkB,GAAGnB,EAAE8B,MAAM,SAAS9B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEkB,EAAEnB,EAAEmB,EAAElB,EAAEiB,GAAGlB,EAAE+B,MAAM,SAAS/B,EAAEC,GAAG,OAAOD,EAAES,IAAIG,KAAKmB,MAAM9B,EAAEiB,GAAGN,KAAKmB,MAAM9B,EAAEkB,IAAInB,GAAGA,EAAh9C,IAAs9C,WAAW,SAASA,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAU,IAAI8kB,GAAG9mB,KAAKiC,QAAQ,IAAI6kB,GAAG9mB,KAAKkC,OAAO,EAAElC,KAAKmC,QAAQ,EAAEnC,KAAKO,IAAIT,EAAEC,EAAEuB,EAAEQ,GAAG3B,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,GAAGT,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEE,KAAKgC,UAAUf,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,GAAGV,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIP,KAAKgC,UAAUhB,EAAElB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,EAAEhB,KAAKkC,QAAQ1B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,EAAEjB,KAAKmC,SAAS3B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKkC,QAAQ3B,IAAI,SAAST,GAAGE,KAAKkC,OAAOpC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKmC,SAAS5B,IAAI,SAAST,GAAGE,KAAKmC,QAAQrC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKiC,QAAQ1B,IAAIP,KAAKgB,EAAEhB,KAAKoC,MAAM,EAAEpC,KAAKiB,EAAEjB,KAAKqC,OAAO,GAAGrC,KAAKiC,SAASzB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAUzB,IAAIT,EAAEC,GAAGC,KAAKkC,OAAOZ,EAAEtB,KAAKmC,QAAQL,GAAGhC,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKsC,SAASpB,OAAOpB,EAAEwC,WAAWtC,KAAKoC,QAAQtC,EAAEsC,OAAOpC,KAAKqC,SAASvC,EAAEuC,QAAQvC,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,EAAEnB,EAAEsC,MAAMtC,EAAEuC,SAASvC,EAAEO,UAAUkC,SAAS,SAASzC,GAAG,OAAOE,KAAKwC,IAAI1C,EAAEkB,GAAGhB,KAAKgB,EAAElB,EAAE0C,IAAIxC,KAAKyC,IAAI3C,EAAEmB,GAAGjB,KAAKiB,EAAEnB,EAAE2C,IAAI3C,EAAEO,UAAUqC,SAAS,SAAS3C,GAAG,OAAOA,aAAaD,EAAEC,EAAEyC,IAAIxC,KAAKwC,IAAIzC,EAAEiB,GAAGhB,KAAKgB,GAAGjB,EAAE0C,IAAIzC,KAAKyC,IAAI1C,EAAEkB,GAAGjB,KAAKiB,EAAElB,aAAa+mB,MAAM/mB,EAAEiB,EAAEhB,KAAKgB,GAAGjB,EAAEkB,EAAEjB,KAAKiB,GAAGlB,EAAEiB,GAAGhB,KAAKwC,IAAIzC,EAAEkB,GAAGjB,KAAKyC,KAAt0D,GAA80D,WAAW,SAAS3C,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,WAAM,IAASC,IAAIA,EAAE,MAAMC,KAAKmD,SAAS,EAAEnD,KAAKoD,SAAS,EAAEpD,KAAKa,WAAW,IAAIimB,GAAGhnB,EAAEE,KAAKqD,QAAQvD,EAAEC,IAAIC,KAAKsD,QAAQvD,GAAGI,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKmD,UAAU5C,IAAI,SAAST,GAAGE,KAAKmD,SAASrD,EAAEE,KAAKoD,SAAStD,EAAEY,KAAK6C,GAAG,IAAIvD,KAAKwD,mBAAmBhD,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKoD,UAAU7C,IAAI,SAAST,GAAGE,KAAKoD,SAAStD,EAAEE,KAAKmD,SAAS,IAAIrD,EAAEY,KAAK6C,GAAGvD,KAAKwD,mBAAmBhD,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,YAAYL,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUmD,gBAAgB,WAAWxD,KAAKa,WAAWN,IAAIG,KAAK+C,IAAIzD,KAAKoD,UAAU1C,KAAKgD,IAAI1D,KAAKoD,YAApwB,GAAmxB,IAAI2jB,GAAGC,GAAG,WAAW,SAASlnB,IAAI,IAAIA,EAAEE,KAAKA,KAAKinB,SAAS,IAAIlW,IAAI/Q,KAAKknB,aAAa,SAASnnB,GAAG,qBAAqBA,EAAE0O,KAAK3O,EAAEqnB,iBAAiBpnB,EAAEqnB,SAAS,wBAAwBrnB,EAAE0O,MAAM3O,EAAEunB,mBAAmBtnB,EAAEqnB,UAAUpgB,OAAOoV,iBAAiB,mBAAmBpc,KAAKknB,cAAclgB,OAAOoV,iBAAiB,sBAAsBpc,KAAKknB,cAAc,OAAOpnB,EAAEO,UAAUinB,WAAW,SAASxnB,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKinB,SAAS3mB,IAAIR,UAAK,IAASC,EAAEA,EAAE,MAAMD,EAAEO,UAAUknB,YAAY,WAAW,OAAO1jB,MAAM2jB,KAAKxnB,KAAKinB,SAASQ,WAAW3nB,EAAEO,UAAU8mB,iBAAiB,SAASrnB,GAAGE,KAAKinB,SAAS1mB,IAAIT,EAAE4nB,MAAM,IAAIC,IAAI3nB,KAAKinB,SAAS3mB,IAAIR,EAAE4nB,OAAOE,kBAAkB9nB,IAAIA,EAAEO,UAAUgnB,mBAAmB,SAASvnB,GAAGE,KAAKinB,SAASY,OAAO/nB,EAAE4nB,QAAQ5nB,EAAEO,UAAU4H,OAAO,WAAW,IAAI,IAAInI,EAAE,EAAEC,EAAEC,KAAK8nB,yBAAyBhoB,EAAEC,EAAEuE,OAAOxE,IAAI,CAAC,IAAIwB,EAAEvB,EAAED,GAAG,OAAOwB,KAAI,IAAKtB,KAAKinB,SAAShW,IAAI3P,EAAEomB,OAAO1nB,KAAKmnB,iBAAiB7lB,GAAGtB,KAAKinB,SAAS3mB,IAAIgB,EAAEomB,OAAOE,kBAAkBtmB,MAAMxB,EAAEO,UAAUynB,uBAAuB,WAAW,OAAOC,UAAUR,YAAYQ,UAAUR,cAAcQ,UAAUC,kBAAkBD,UAAUC,kBAAkB,IAAIloB,EAA3kC,GAAglC6nB,GAAG,WAAW,SAAS7nB,IAAIE,KAAKioB,QAAQ,IAAIlX,IAAI/Q,KAAK8jB,KAAK,IAAI/S,IAAI/Q,KAAKkoB,UAAU,IAAIpB,GAAG9mB,KAAKmoB,eAAe,IAAIrB,GAAG9mB,KAAKooB,gBAAgB,IAAItB,GAAG9mB,KAAKqoB,YAAW,EAAG,OAAOvoB,EAAEO,UAAUunB,kBAAkB,SAAS9nB,GAAG,IAAIC,EAAEC,KAAKA,KAAKsoB,SAASxoB,EAAEA,EAAEmoB,QAAQ9e,SAAS,SAASrJ,EAAEwB,GAAG,OAAOvB,EAAEkoB,QAAQ1nB,IAAIe,EAAExB,EAAEyoB,YAAYzoB,EAAEgkB,KAAK3a,SAAS,SAASrJ,EAAEwB,GAAG,OAAOvB,EAAE+jB,KAAKvjB,IAAIe,EAAExB,OAAOK,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKsoB,SAASlW,IAAI5R,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKsoB,SAASE,WAAWhoB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUooB,iBAAiB,SAAS3oB,GAAG,OAAOE,KAAKioB,QAAQ3nB,IAAIR,IAAIA,EAAEO,UAAUqoB,QAAQ,SAAS5oB,GAAG,OAAOE,KAAK8jB,KAAKxjB,IAAIR,IAAIK,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKkoB,UAAU3nB,IAAIP,KAAK2oB,UAAU,EAAE3oB,KAAK4oB,UAAU,EAAE,EAAE5oB,KAAK6oB,OAAO,EAAE7oB,KAAK8oB,UAAU,EAAE,GAAG9oB,KAAKkoB,WAAW1nB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,gBAAgB,CAACC,IAAI,WAAW,OAAON,KAAKmoB,eAAe5nB,IAAIP,KAAK+oB,oBAAoB/oB,KAAKgpB,mBAAmBhpB,KAAKmoB,gBAAgB3nB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,iBAAiB,CAACC,IAAI,WAAW,OAAON,KAAKooB,gBAAgB7nB,IAAIP,KAAKipB,qBAAqBjpB,KAAKkpB,oBAAoBlpB,KAAKooB,iBAAiB5nB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,aAAa,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,eAAe,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,gBAAgB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,cAAc,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,eAAe,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,OAAO,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,QAAQ,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,kBAAkB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,mBAAmB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,sBAAsB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAK8jB,KAAKxjB,IAAI,UAAK,IAASR,EAAEA,EAAE,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,oBAAoB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,GAAGE,KAAK8jB,KAAKxjB,IAAI,UAAK,IAASR,EAAEA,EAAE,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,uBAAuB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAK8jB,KAAKxjB,IAAI,UAAK,IAASR,EAAEA,EAAE,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,qBAAqB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,GAAGE,KAAK8jB,KAAKxjB,IAAI,UAAK,IAASR,EAAEA,EAAE,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,mBAAmB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAE+D,MAAM2jB,KAAKxnB,KAAKioB,QAAQR,UAAU0B,MAAI,SAAWrpB,GAAG,OAAOA,YAAO,IAASA,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKqoB,YAAY7nB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAU+oB,QAAQ,SAAStpB,EAAEC,EAAEuB,EAAEQ,GAAG,IAAIgB,EAAE9C,UAAK,IAASF,IAAIA,EAAE,UAAK,IAASC,IAAIA,EAAE,SAAI,IAASuB,IAAIA,EAAE,SAAI,IAASQ,IAAIA,EAAE,GAAG9B,KAAKsoB,SAASe,oBAAoBrpB,KAAKqoB,YAAW,EAAGroB,KAAKsoB,SAASe,kBAAkBC,WAAWtpB,KAAKsoB,SAASe,kBAAkB5a,KAAK,CAAC8a,SAASzpB,EAAE0pB,cAAczpB,EAAE0pB,gBAAgBnoB,EAAEooB,WAAW5nB,IAAI6nB,OAAO,WAAW,OAAO7mB,EAAEulB,YAAW,KAAMuB,SAAS,WAAW,OAAO9mB,EAAEulB,YAAW,OAAQvoB,EAA3kK,GAAglK+pB,GAAG,WAAW,SAAS/pB,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAK8pB,MAAMhqB,EAAEE,KAAK+pB,SAAShqB,EAAEC,KAAKonB,QAAQ9lB,EAAEtB,KAAKgqB,MAAMloB,EAAE,OAAOhC,EAAEO,UAAU4H,OAAO,WAAWjI,KAAK8pB,MAAM7hB,SAASjI,KAAKonB,QAAQnf,UAAUnI,EAAxK,GAA6KmqB,GAAG,WAAW,SAASnqB,EAAEA,GAAG,IAAIC,EAAEC,KAAKA,KAAKkqB,YAAY,GAAGlqB,KAAKmqB,OAAO,IAAIpZ,IAAI/Q,KAAKknB,aAAa,SAASpnB,GAAG,GAAG,YAAYA,EAAE2O,OAAO1O,EAAEoqB,OAAO5pB,IAAIT,EAAEsqB,MAAK,GAAIrqB,EAAEmqB,YAAY7gB,SAASvJ,EAAEsqB,OAAOrqB,EAAEmqB,YAAYlnB,KAAKlD,EAAEsqB,OAAO,UAAUtqB,EAAE2O,KAAK,CAAC1O,EAAEoqB,OAAO5pB,IAAIT,EAAEsqB,MAAK,GAAI,IAAI9oB,EAAEvB,EAAEmqB,YAAYna,QAAQjQ,EAAEsqB,OAAO,IAAI9oB,GAAGvB,EAAEmqB,YAAYrJ,OAAOvf,EAAE,KAAKxB,EAAEsc,iBAAiB,UAAUpc,KAAKknB,cAAcpnB,EAAEsc,iBAAiB,QAAQpc,KAAKknB,cAAc,OAAOpnB,EAAEO,UAAUgqB,UAAU,SAASvqB,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKmqB,OAAO7pB,IAAIR,UAAK,IAASC,GAAGA,GAAGD,EAAEO,UAAUiqB,UAAU,SAASxqB,GAAG,IAAIC,EAAEC,KAAK,OAAOF,EAAEuN,QAAQ,SAASvN,EAAEwB,GAAG,IAAIQ,EAAE,OAAOhC,GAAG,QAAQgC,EAAE/B,EAAEoqB,OAAO7pB,IAAIgB,UAAK,IAASQ,GAAGA,KAAI,IAAKhC,EAAEO,UAAUkqB,WAAW,SAASzqB,GAAG,IAAIC,EAAEC,KAAK,OAAOF,EAAEuN,QAAQ,SAASvN,EAAEwB,GAAG,IAAIQ,EAAE,OAAOhC,GAAG,QAAQgC,EAAE/B,EAAEoqB,OAAO7pB,IAAIgB,UAAK,IAASQ,GAAGA,KAAI,IAAKhC,EAAEO,UAAUmqB,gBAAgB,SAAS1qB,EAAEC,EAAEuB,GAAG,OAAOtB,KAAKmqB,OAAO7pB,IAAIR,GAAGC,EAAEuB,GAAGxB,EAAEO,UAAUoqB,gBAAgB,SAAS3qB,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE9B,KAAK,OAAOF,EAAEuN,QAAM,SAAWvN,EAAEC,GAAG,IAAIuB,EAAE,OAAOxB,GAAG,QAAQwB,EAAEQ,EAAEqoB,OAAO7pB,IAAIP,UAAK,IAASuB,GAAGA,KAAI,GAAIvB,EAAEuB,GAAGxB,EAAEO,UAAUqqB,iBAAiB,SAAS5qB,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE9B,KAAK,OAAOF,EAAEuN,QAAM,SAAWvN,EAAEC,GAAG,IAAIuB,EAAE,OAAOxB,GAAG,QAAQwB,EAAEQ,EAAEqoB,OAAO7pB,IAAIP,UAAK,IAASuB,GAAGA,KAAI,GAAIvB,EAAEuB,GAAGxB,EAAvqC,GAA4qC6qB,GAAG,WAAW,SAAS7qB,EAAEA,GAAGE,KAAK4qB,oBAAmB,EAAG5qB,KAAK6qB,sBAAqB,EAAG7qB,KAAK8qB,qBAAoB,EAAG9qB,KAAK+qB,oBAAoB,IAAIjE,GAAG9mB,KAAKgrB,WAAU,EAAGhrB,KAAKirB,aAAa,IAAInE,GAAG9mB,KAAKkrB,uBAAuB,IAAIpE,GAAG9mB,KAAK2M,OAAO7M,EAAEE,KAAKmrB,QAAQ,OAAOhrB,OAAOC,eAAeN,EAAEO,UAAU,oBAAoB,CAACC,IAAI,WAAW,OAAON,KAAK4qB,oBAAoBpqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,sBAAsB,CAACC,IAAI,WAAW,OAAON,KAAK6qB,sBAAsBrqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,qBAAqB,CAACC,IAAI,WAAW,OAAON,KAAK8qB,qBAAqBtqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,qBAAqB,CAACC,IAAI,WAAW,OAAON,KAAK+qB,qBAAqBvqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgrB,WAAWxqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,cAAc,CAACC,IAAI,WAAW,OAAON,KAAKirB,cAAczqB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAU4H,OAAO,YAAW,IAAKjI,KAAK+qB,oBAAoB7pB,OAAOlB,KAAKkrB,yBAAyBlrB,KAAKgrB,WAAU,EAAGhrB,KAAKkrB,uBAAuBnqB,KAAKf,KAAK+qB,sBAAsB/qB,KAAKgrB,WAAU,EAAGhrB,KAAKorB,YAAYprB,KAAKirB,aAAa1qB,IAAIP,KAAKorB,WAAWC,OAAOrrB,KAAKorB,WAAWE,QAAQtrB,KAAKorB,gBAAW,GAAQprB,KAAKirB,aAAa1qB,IAAI,EAAE,IAAIT,EAAEO,UAAU8qB,MAAM,WAAW,IAAIrrB,EAAEE,KAAKA,KAAK2M,OAAOyP,iBAAiB,aAAa,SAASrc,GAAG,OAAOD,EAAEyrB,eAAexrB,MAAMC,KAAK2M,OAAOyP,iBAAiB,aAAW,SAAWrc,GAAG,OAAOD,EAAE0rB,iBAAiBzrB,MAAMC,KAAK2M,OAAOyP,iBAAiB,oBAAoBrc,GAAG,OAAOD,EAAE2rB,eAAe1rB,MAAMC,KAAK2M,OAAOyP,iBAAiB,SAAS,SAASrc,GAAG,OAAOD,EAAE4rB,iBAAiB3rB,OAAOD,EAAEO,UAAUmrB,iBAAiB,SAAS1rB,GAAGE,KAAK2M,OAAOgf,QAAQ7rB,EAAE8rB,iBAAiB9rB,EAAE+rB,kBAAkB7rB,KAAK4qB,mBAAmB,IAAI9qB,EAAEgsB,OAAO9rB,KAAK6qB,qBAAqB,IAAI/qB,EAAEgsB,OAAO9rB,KAAK8qB,oBAAoB,IAAIhrB,EAAEgsB,QAAQhsB,EAAEO,UAAUorB,eAAe,SAAS3rB,GAAGA,EAAE8rB,iBAAiB9rB,EAAE+rB,kBAAkB7rB,KAAK4qB,mBAAmB,IAAI9qB,EAAEgsB,QAAQ9rB,KAAK4qB,mBAAmB5qB,KAAK6qB,qBAAqB,IAAI/qB,EAAEgsB,QAAQ9rB,KAAK6qB,qBAAqB7qB,KAAK8qB,oBAAoB,IAAIhrB,EAAEgsB,QAAQ9rB,KAAK8qB,qBAAqBhrB,EAAEO,UAAUkrB,eAAe,SAASzrB,GAAGA,EAAE8rB,iBAAiB9rB,EAAE+rB,kBAAkB7rB,KAAK+qB,oBAAoBxqB,IAAIT,EAAEisB,SAAS/rB,KAAK2M,OAAOqf,YAAYhsB,KAAK2M,OAAOvK,OAAOpC,KAAK2M,OAAOvK,MAAM,GAAGtC,EAAEmsB,SAASjsB,KAAK2M,OAAOuf,aAAalsB,KAAK2M,OAAOtK,QAAQrC,KAAK2M,OAAOtK,OAAO,IAAIvC,EAAEO,UAAUqrB,iBAAiB,SAAS5rB,GAAGA,EAAE8rB,iBAAiB9rB,EAAE+rB,kBAAkB7rB,KAAKorB,WAAWtrB,GAAGA,EAA3hF,GAAgiFqsB,GAAG,WAAW,SAASrsB,EAAEA,GAAG,IAAIC,EAAEC,KAAKA,KAAKosB,WAAU,EAAGpsB,KAAKqsB,cAAc,GAAGrsB,KAAKknB,aAAa,SAASpnB,GAAG,eAAeA,EAAE2O,OAAO1O,EAAEqsB,WAAU,EAAGrsB,EAAEwrB,eAAezrB,IAAI,cAAcA,EAAE2O,MAAM1O,EAAEwrB,eAAezrB,GAAG,aAAaA,EAAE2O,MAAM,gBAAgB3O,EAAE2O,OAAO1O,EAAEqsB,WAAU,IAAKpsB,KAAK2M,OAAO7M,EAAEE,KAAK2M,OAAOyP,iBAAiB,aAAapc,KAAKknB,cAAclnB,KAAK2M,OAAOyP,iBAAiB,WAAWpc,KAAKknB,cAAclnB,KAAK2M,OAAOyP,iBAAiB,cAAcpc,KAAKknB,cAAclnB,KAAK2M,OAAOyP,iBAAiB,YAAYpc,KAAKknB,cAAc,OAAO/mB,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKosB,WAAW5rB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,eAAe,CAACC,IAAI,WAAW,OAAON,KAAKqsB,eAAe7rB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUkrB,eAAe,SAASzrB,GAAG,GAAGA,EAAE8rB,iBAAiB9rB,EAAE+rB,kBAAkB7rB,KAAKqsB,cAAc,GAAG,IAAIvsB,EAAEwsB,cAAchoB,OAAO,IAAI,IAAIvE,EAAE,EAAEA,EAAED,EAAEwsB,cAAchoB,OAAOvE,IAAIC,KAAKqsB,cAActsB,GAAG,CAACwsB,mBAAmB,IAAIzF,IAAIhnB,EAAEwsB,cAAcvsB,GAAGysB,QAAQxsB,KAAK2M,OAAO8f,aAAazsB,KAAK2M,OAAOqf,YAAYhsB,KAAK2M,OAAOvK,OAAOpC,KAAK2M,OAAOvK,MAAM,IAAItC,EAAEwsB,cAAcvsB,GAAG2sB,QAAQ1sB,KAAK2M,OAAOggB,YAAY3sB,KAAK2M,OAAOuf,aAAalsB,KAAK2M,OAAOtK,QAAQrC,KAAK2M,OAAOtK,OAAO,GAAGoL,OAAO,IAAIqZ,GAAGhnB,EAAEwsB,cAAcvsB,GAAG6sB,QAAQ9sB,EAAEwsB,cAAcvsB,GAAG8sB,WAAW/sB,EAArxC,IAA2xC,SAASA,GAAGA,EAAEgtB,MAAM,QAAQhtB,EAAEitB,MAAM,QAAQjtB,EAAEktB,KAAK,OAAOltB,EAAEsM,MAAM,QAAlE,CAA2E2a,KAAKA,GAAG,KAAQ,IAACkG,GAAGC,GAAG,WAAW,SAASptB,EAAEA,GAAGE,KAAK0F,cAAc5F,EAAEE,KAAKmtB,OAAO,GAAG,OAAOrtB,EAAEO,UAAU+sB,gBAAgB,WAAW,OAAOptB,KAAKmtB,OAAO9f,iBAAiBvN,EAAEC,GAAG,OAAOD,GAAGC,EAAEstB,UAAS,IAAKvtB,EAAEO,UAAUitB,UAAU,SAASxtB,EAAEC,GAAG,IAAIuB,EAAEtB,UAAK,IAASD,IAAIA,GAAE,GAAI,IAAI+B,EAAE,IAAIgrB,MAAMhrB,EAAEyrB,YAAY,GAAGzrB,EAAEqb,IAAIrd,EAAE,IAAIgD,EAAE9C,KAAKwtB,YAAY1tB,EAAEinB,GAAG+F,MAAMhrB,GAAGC,EAAE,WAAWhC,GAAGuB,EAAEoE,cAAc0K,eAAetO,GAAGgB,EAAEuqB,QAAO,GAAI,OAAOvrB,EAAEuX,aAAatX,IAAID,EAAEsa,iBAAiB,OAAOra,GAAGD,GAAGhC,EAAEO,UAAUotB,UAAU,SAAS3tB,GAAG,IAAIC,EAAE,IAAIgtB,MAAMhtB,EAAEod,IAAIrd,EAAE,IAAIwB,EAAEtB,KAAKwtB,YAAY1tB,EAAEinB,GAAGgG,MAAMhtB,GAAG,OAAOA,EAAEwpB,SAASjoB,EAAE+rB,QAAO,EAAGttB,EAAEqc,iBAAiB,kBAAkB,WAAW,OAAO9a,EAAE+rB,QAAO,KAAMttB,GAAGD,EAAEO,UAAUqtB,SAAS,SAAS5tB,EAAEC,GAAG,IAAIuB,EAAE,IAAImQ,SAAS3R,EAAE,OAAO2E,OAAO1E,EAAE,MAAM+B,EAAE9B,KAAKwtB,YAAYztB,EAAEgnB,GAAGiG,KAAK1rB,GAAG,OAAOQ,EAAE4P,OAAO5R,EAAEwB,EAAE0G,OAAO2lB,MAAI,SAAW7tB,GAAG8I,SAASglB,MAAMvsB,IAAIvB,GAAGgC,EAAEurB,QAAO,KAAM/rB,GAAGxB,EAAEO,UAAUwtB,UAAU,SAAS/tB,GAAG,IAAIC,EAAE6I,SAAS6J,cAAc,SAAS1S,EAAE+tB,aAAY,EAAG/tB,EAAEod,IAAIrd,EAAE,IAAIwB,EAAEtB,KAAKwtB,YAAY1tB,EAAEinB,GAAG3a,MAAMrM,GAAG,OAAOA,EAAEwpB,SAASjoB,EAAE+rB,QAAO,EAAGttB,EAAEqc,iBAAiB,kBAAkB,WAAW,OAAO9a,EAAE+rB,QAAO,KAAMttB,GAAGD,EAAEO,UAAU0tB,SAAS,SAASjuB,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKmtB,OAAOhE,eAAeppB,GAAG,OAAOA,EAAE0O,OAAOsY,GAAG+F,OAAO/sB,EAAEiuB,MAAMluB,YAAO,IAASC,OAAE,EAAOA,EAAEkuB,SAASnuB,EAAEO,UAAU6tB,SAAS,SAASpuB,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKmtB,OAAOhE,MAAM,SAASppB,GAAG,OAAOA,EAAE0O,OAAOsY,GAAGgG,OAAOhtB,EAAEiuB,MAAMluB,YAAO,IAASC,OAAE,EAAOA,EAAEkuB,SAASnuB,EAAEO,UAAU8tB,QAAQ,SAASruB,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKmtB,OAAOhE,MAAI,SAAWppB,GAAG,OAAOA,EAAE0O,OAAOsY,GAAGiG,MAAMjtB,EAAE2R,SAAS5R,YAAO,IAASC,OAAE,EAAOA,EAAEkuB,SAASnuB,EAAEO,UAAU+tB,SAAS,SAAStuB,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKmtB,OAAOhE,MAAI,SAAWppB,GAAG,OAAOA,EAAE0O,OAAOsY,GAAG3a,OAAOrM,EAAEiuB,MAAMluB,YAAO,IAASC,OAAE,EAAOA,EAAEkuB,SAASnuB,EAAEO,UAAUmtB,YAAY,SAAS1tB,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE,CAAC2M,KAAK1O,EAAEiuB,IAAIluB,EAAEmuB,QAAQ3sB,EAAE+rB,QAAO,GAAI,OAAOrtB,KAAKmtB,OAAOnqB,KAAKlB,GAAGA,GAAGhC,EAA7wD,GAAkxDuuB,GAAG,SAASvuB,GAAG,SAASwB,EAAEvB,GAAG,IAAIuB,EAAExB,EAAEiE,KAAK/D,KAAKD,IAAIC,KAAK,OAAOsB,EAAEuJ,KAAK,sBAAsBvJ,EAAE,OAAOvB,EAAEuB,EAAExB,GAAGwB,EAAzG,CAA4GqP,OAAO2d,GAAG,WAAW,SAASxuB,EAAEA,EAAEC,EAAEuB,GAAG,GAAGtB,KAAKuuB,QAAQ,MAAMzuB,EAAE,MAAM,IAAIuuB,GAAG,0CAA0CruB,KAAKwuB,cAAc1uB,EAAEE,KAAKyuB,UAAU1uB,EAAEC,KAAK0uB,WAAWptB,EAAEtB,KAAK2uB,cAAc,OAAOxuB,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKuuB,SAAS/tB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUsuB,YAAY,WAAW3uB,KAAKuuB,QAAQ3lB,SAAS6J,cAAc,UAAUzS,KAAKuuB,QAAQnc,GAAG,uBAAuBpS,KAAKuuB,QAAQnsB,MAAM1B,KAAK8a,MAAMxb,KAAKyuB,WAAWzuB,KAAKuuB,QAAQlsB,OAAO3B,KAAK8a,MAAMxb,KAAK0uB,YAAY1uB,KAAK2M,OAAOiiB,SAAS,EAAE5uB,KAAKuuB,QAAQnS,iBAAiB,wBAAwBtc,GAAG,OAAOA,EAAE8rB,oBAAoB5rB,KAAKwuB,cAAcK,YAAY7uB,KAAKuuB,SAASvuB,KAAK2M,OAAOgf,SAAS7rB,EAAnrB,GAAwrBgvB,GAAG,WAAW,SAAShvB,EAAEA,GAAGE,KAAK0J,UAAU5J,EAAEE,KAAKiG,YAAY,GAAGjG,KAAK+uB,OAAO,EAAE,OAAOjvB,EAAEO,UAAUgK,cAAc,SAASvK,EAAEC,EAAE+B,EAAEgB,GAAG,IAAIf,EAAE,IAAIjC,EAAEE,KAAK0J,YAAY1J,KAAK+uB,OAAOjsB,EAAEhB,GAAG,OAAO9B,KAAKiG,YAAYjD,KAAKjB,GAAGA,EAAEuH,SAAShI,EAAEqD,KAAK5E,GAAGgC,GAAGjC,EAAEO,UAAU2I,gBAAgB,SAASlJ,GAAG,OAAOA,EAAEE,KAAKiG,YAAYgD,QAAQ,SAASlJ,GAAG,OAAOA,aAAaD,KAAKgD,EAAE,GAAG9C,KAAKiG,aAAY,IAAKnG,EAAEO,UAAU2uB,mBAAmB,SAASlvB,GAAG,OAAOE,KAAKiG,YAAYkjB,MAAI,SAAWppB,GAAG,OAAOA,EAAEqS,KAAKtS,MAAMA,EAAEO,UAAUiK,eAAe,SAASxK,GAAG,MAAM,iBAAiBA,EAAEE,KAAKiG,YAAYkjB,MAAM,SAASppB,GAAG,OAAOA,EAAE8K,OAAO/K,KAAKE,KAAKiG,YAAYkjB,MAAM,SAASppB,GAAG,OAAOA,aAAaD,MAAMA,EAAEO,UAAU4uB,wBAAwB,SAASnvB,GAAG,OAAOE,KAAKiG,YAAYgD,QAAM,SAAWlJ,GAAG,OAAOA,EAAEmvB,SAASpvB,MAAMA,EAAEO,UAAU8uB,uBAAuB,SAASrvB,EAAEC,GAAG,MAAM,iBAAiBA,EAAEC,KAAKiG,YAAYkjB,MAAM,SAAS7nB,GAAG,OAAOA,EAAEuJ,OAAO9K,GAAGuB,EAAE4tB,SAASpvB,KAAKE,KAAKiG,YAAYkjB,MAAI,SAAW7nB,GAAG,OAAOA,aAAavB,GAAGuB,EAAE4tB,SAASpvB,MAAMA,EAAEO,UAAUkK,qBAAqB,SAASzK,GAAG,OAAOE,KAAKiG,YAAYgD,QAAM,SAAWlJ,GAAG,OAAOA,EAAEqvB,MAAMtvB,MAAMA,EAAEO,UAAUgvB,sBAAsB,SAASvvB,GAAG,IAAIC,EAAEC,UAAK,IAASF,IAAIA,GAAE,GAAIE,KAAKiG,YAAYgD,QAAM,SAAWlJ,GAAG,OAAOD,IAAIC,EAAEuvB,QAAQnmB,SAAS,SAASrJ,GAAG,OAAOC,EAAEwvB,QAAQzvB,GAAE,OAAQA,EAAEO,UAAUmK,kBAAkB,SAAS1K,GAAGE,KAAKuvB,QAAQzvB,GAAE,IAAKA,EAAEO,UAAUkvB,QAAQ,SAASzvB,EAAEC,GAAG,IAAI+B,EAAE9B,KAAKiG,YAAY8J,QAAQjQ,GAAG,IAAI,IAAIgC,EAAE,CAAC,IAAIgB,EAAE9C,KAAKiG,YAAY4a,OAAO/e,EAAE,GAAG,GAAG/B,GAAGC,KAAKwvB,gBAAgB1sB,GAAGA,EAAEwG,SAAShI,EAAE+D,WAAWvF,EAAEO,UAAUmvB,gBAAgB,SAAS1vB,GAAG,IAAIC,EAAEC,KAAKA,KAAKivB,wBAAwBnvB,GAAGqJ,SAAO,SAAWrJ,GAAG,OAAOC,EAAEyK,kBAAkB1K,OAAOA,EAAhnD,GAAqnD2vB,GAAG,WAAW,SAAS3vB,EAAEA,EAAEC,EAAE+B,EAAEgB,GAAG9C,KAAKwF,YAAY1F,EAAEE,KAAKyF,eAAe1F,EAAEC,KAAK4F,kBAAkB9D,EAAE9B,KAAK6F,aAAa/C,EAAE9C,KAAK+F,SAAQ,EAAG/F,KAAKiG,YAAY,GAAGjG,KAAKkG,WAAW,GAAGlG,KAAKmG,eAAc,EAAGnG,KAAKoG,YAAY,CAAC9E,EAAEsD,MAAMtD,EAAEuD,OAAOvD,EAAEgE,UAAUtF,KAAKqG,iBAAiB,CAAC/E,EAAEsD,MAAMtD,EAAEuD,QAAQ,OAAO/E,EAAEO,UAAUiG,MAAM,WAAWtG,KAAKuG,WAAU,IAAKzG,EAAEO,UAAUmG,MAAM,WAAWxG,KAAK+F,SAAQ,GAAIjG,EAAEO,UAAUoG,OAAO,WAAWzG,KAAKuG,WAAU,IAAKzG,EAAEO,UAAUqG,KAAK,WAAW1G,KAAK+F,SAAQ,EAAG/F,KAAK2G,mBAAmBrF,EAAEgE,UAAUtF,KAAKyF,eAAemB,SAAS9G,EAAEO,UAAUkG,UAAU,SAASzG,GAAGE,KAAK+F,UAAU/F,KAAK+F,SAAQ,EAAGjG,GAAGE,KAAK6F,aAAaiB,mBAAmB9G,KAAK0vB,gBAAgB1vB,KAAKwF,YAAY2B,gBAAgBnH,KAAKwF,YAAY4B,kBAAkBpH,KAAKqH,qBAAqBvH,EAAEO,UAAUsH,mBAAmB,SAAS7H,GAAGE,KAAKwF,YAAYuC,cAAcjI,GAAGE,KAAK6F,aAAa0B,uBAAuBvH,KAAK6F,aAAa2B,mBAAmBxH,KAAKmG,eAAc,GAAInG,KAAKgI,OAAOhI,KAAK2G,mBAAmBrF,EAAEsD,OAAO5E,KAAK2G,mBAAmBrF,EAAEuD,QAAQ7E,KAAK2G,mBAAmBrF,EAAEwD,cAAc9E,KAAK2G,mBAAmBrF,EAAE2D,iBAAiBjF,KAAKwF,YAAY2B,gBAAgBnH,KAAKwF,YAAY4B,mBAAmBpH,KAAKwF,YAAY0C,iBAAiBpI,GAAGE,KAAKmI,oBAAoBnI,KAAK6F,aAAa0B,uBAAuBvH,KAAKmG,eAAc,EAAGnG,KAAK6F,aAAagC,uBAAuB/H,EAAEO,UAAU8H,iBAAiB,WAAWnI,KAAKwF,YAAY8C,WAAW,GAAGtI,KAAKmG,gBAAgBnG,KAAK2G,mBAAmBrF,EAAE0D,eAAehF,KAAK2G,mBAAmBrF,EAAEyD,gBAAgB/E,KAAK2G,mBAAmBrF,EAAE2D,iBAAiBjF,KAAKyF,eAAe8C,QAAQvI,KAAKwF,YAAYgD,oBAAoB1I,EAAEO,UAAUqvB,cAAc,WAAW,IAAI5vB,EAAEE,KAAKA,KAAK2vB,aAAajnB,aAAa,WAAW,IAAI5I,EAAEiG,QAAQ,OAAO4C,cAAc7I,EAAE6vB,cAAc7vB,EAAE6H,mBAAmBioB,QAAQC,YAAY,IAAI7vB,KAAKwF,YAAY2B,gBAAgBrH,EAAEO,UAAUgH,iBAAiB,WAAW,IAAIvH,EAAEE,KAAKA,KAAK8vB,gBAAgBpnB,aAAa,WAAW,IAAI5I,EAAEiG,QAAQ,OAAO4C,cAAc7I,EAAEgwB,iBAAiBhwB,EAAE0F,YAAY0C,iBAAiB0nB,QAAQC,UAAU/vB,EAAEqI,qBAAqB,IAAInI,KAAKwF,YAAY4B,mBAAmBtH,EAAEO,UAAU2H,KAAK,WAAW,IAAIlI,EAAEE,KAAKA,KAAK8I,YAAY9I,KAAK6F,aAAakD,iBAAiB/I,KAAKiG,YAAYjG,KAAK4F,kBAAkBoD,kBAAkBC,QAAM,SAAWnJ,GAAG,OAAOA,EAAEoJ,UAAUlJ,KAAKkG,WAAW,GAAGlG,KAAKiG,YAAYkD,SAAO,SAAWpJ,GAAG,OAAOA,EAAEqJ,gBAAgBH,QAAM,SAAWnJ,GAAG,OAAOA,EAAEoJ,UAAUC,SAAS,SAASpJ,GAAG,OAAOD,EAAEoG,WAAWlD,KAAKjD,UAAUD,EAAEO,UAAUsG,mBAAmB,SAAS7G,GAAGE,KAAKoG,YAAYiD,SAASvJ,IAAIE,KAAK8I,YAAYQ,SAASxJ,GAAGE,KAAKqG,iBAAiBgD,SAASvJ,IAAIE,KAAKiG,YAAYkD,kBAAkBpJ,GAAGA,EAAEmJ,QAAQnJ,EAAEuJ,SAASxJ,MAAME,KAAKkG,WAAWiD,SAAO,SAAWpJ,GAAGA,EAAEmJ,QAAQnJ,EAAEuJ,SAASxJ,OAAOA,EAA9qF,GAAmrFiwB,GAAG,WAAW,SAASjwB,EAAEA,EAAEC,GAAGC,KAAK0J,UAAU5J,EAAEE,KAAK0F,cAAc3F,EAAEC,KAAKgwB,OAAO,IAAIjf,IAAI/Q,KAAKiwB,uBAAuB,KAAK,OAAOnwB,EAAEO,UAAU6vB,SAAS,SAASpwB,EAAEC,EAAE+B,EAAEgB,GAAG,IAAIf,EAAE/B,KAAK,QAAG,IAAS8C,IAAIA,GAAE,GAAI9C,KAAKgwB,OAAO/e,IAAIlR,GAAG,MAAM,IAAIsuB,GAAG,2CAA2C5pB,OAAO1E,EAAE,MAAMC,KAAKgwB,OAAOzvB,IAAIR,cAAc,IAAI+C,EAAE,IAAIhD,EAAEiC,EAAE2H,UAAU3J,EAAEgC,EAAE2H,UAAUE,YAAY,SAAS,OAAO7H,EAAEouB,aAAartB,EAAEA,EAAEwG,SAAShI,EAAEqD,KAAK7C,GAAGgB,MAAMA,GAAG9C,KAAKowB,mBAAmBpwB,KAAKowB,iBAAiBrwB,IAAID,EAAEO,UAAUgwB,UAAU,SAASvwB,GAAG,IAAG,IAAKE,KAAKgwB,OAAO/e,IAAInR,GAAG,MAAM,IAAIuuB,GAAG,mBAAmB5pB,OAAO3E,EAAE,qBAAqBE,KAAKiwB,uBAAuBnwB,GAAGA,EAAEO,UAAU0I,eAAe,WAAW,OAAO/I,KAAKmwB,cAAcrwB,EAAEO,UAAUyG,iBAAiB,WAAW,GAAG,OAAO9G,KAAKowB,iBAAiB,MAAM,IAAI/B,GAAG,6BAA6BruB,KAAKgwB,OAAO1vB,IAAIN,KAAKowB,iBAArBpwB,IAA0CF,EAAEO,UAAUkH,mBAAmB,WAAW,OAAO,OAAOvH,KAAKiwB,wBAAwBnwB,EAAEO,UAAUmH,iBAAiB,WAAWxH,KAAKiwB,yBAAyBjwB,KAAKgwB,OAAO1vB,IAAIN,KAAKiwB,uBAArBjwB,GAA+CA,KAAKiwB,uBAAuB,OAAOnwB,EAAEO,UAAUwH,mBAAmB,WAAW7H,KAAKmwB,eAAenwB,KAAKmwB,aAAa7mB,SAAShI,EAAE+D,SAASrF,KAAKmwB,kBAAa,IAASrwB,EAAlsC,GAAusCwwB,GAAG,CAAC,GAAG,IAAI,IAAI,KAAKC,GAAG,WAAW,SAASzwB,EAAEA,GAAG,GAAGE,KAAK0H,iBAAiB,EAAE1H,KAAKwwB,oBAAoB,EAAExwB,KAAKmH,cAAc,GAAGnH,KAAKoH,iBAAiB,IAAIpH,KAAKsI,UAAU,EAAEtI,KAAKyH,iBAAiB,EAAEzH,KAAKywB,kBAAkB,EAAEzwB,KAAK0wB,yBAAyB,EAAE1wB,KAAK2wB,aAAa,EAAE,GAAG3wB,KAAK4wB,YAAY,EAAE5wB,KAAK6wB,eAAe,EAAE7wB,KAAK8wB,eAAe,GAAGR,GAAGjnB,SAASvJ,GAAG,MAAM,IAAIuuB,GAAG,yCAAyC5pB,OAAO6rB,GAAGS,KAAK,MAAM,MAAM/wB,KAAKoH,iBAAiBtH,EAAEE,KAAK0H,iBAAiBspB,YAAY,EAAEhxB,KAAKmH,eAAe8pB,QAAQ,IAAIjxB,KAAKwwB,oBAAoBQ,YAAY,EAAEhxB,KAAKoH,kBAAkB6pB,QAAQ,IAAI,OAAO9wB,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKywB,kBAAkBzwB,KAAKsI,WAAW9H,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,mBAAmB,CAACC,IAAI,WAAW,OAAON,KAAK0wB,yBAAyB1wB,KAAKsI,WAAW9H,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAU0H,cAAc,SAASjI,GAAGE,KAAKywB,kBAAkB/vB,KAAKiC,IAAIjC,KAAKkC,IAAI5C,KAAK0H,iBAAiB5H,EAAEE,KAAK4wB,aAAa5wB,KAAK2wB,cAAc3wB,KAAK4wB,YAAY9wB,GAAGA,EAAEO,UAAUiH,iBAAiB,SAASxH,GAAGE,KAAKyH,iBAAiB/G,KAAKiC,IAAIjC,KAAKkC,IAAI,EAAE9C,EAAEE,KAAK8wB,gBAAgB9wB,KAAK2wB,cAAc3wB,KAAK8wB,eAAehxB,GAAGA,EAAEO,UAAU6H,iBAAiB,SAASpI,GAAGE,KAAK0wB,yBAAyBhwB,KAAKiC,IAAIjC,KAAKkC,IAAI,EAAE9C,EAAEE,KAAK6wB,gBAAgB7wB,KAAK2wB,cAAc3wB,KAAK6wB,eAAe/wB,GAAGA,EAA3zC,GAAogGoxB,GAAG,WAAW,SAASpxB,IAAIE,KAAKmxB,UAAU,IAAIpgB,IAAI/Q,KAAKoxB,aAAa,IAAIrgB,IAAI/Q,KAAKqxB,UAAU,IAAItgB,IAAI,OAAOjR,EAAEO,UAAUgB,IAAI,SAASvB,EAAEC,GAAG,GAAGC,KAAKoxB,aAAangB,IAAInR,GAAG,MAAM,IAAIuuB,GAAG,wDAAwD5pB,OAAO3E,IAAIE,KAAKoxB,aAAa7wB,IAAIT,EAAEC,IAAID,EAAEO,UAAU0J,aAAa,SAASjK,GAAG,IAAG,IAAKE,KAAKoxB,aAAangB,IAAInR,GAAG,MAAM,IAAIuuB,GAAG,oCAAoC5pB,OAAO3E,IAAI,OAAM,IAAKE,KAAKmxB,UAAUlgB,IAAInR,IAAIE,KAAKmxB,UAAU5wB,IAAIT,EAAEE,KAAKoxB,aAAa9wB,IAAIR,EAAtBE,IAA4BA,KAAKmxB,UAAU7wB,IAAIR,IAAIA,EAAEO,UAAUixB,cAAc,SAASxxB,GAAG,IAAG,IAAKE,KAAKoxB,aAAangB,IAAInR,GAAG,MAAM,IAAIuuB,GAAG,oCAAoC5pB,OAAO3E,IAAI,OAAOE,KAAKoxB,aAAa9wB,IAAIR,EAAtBE,IAA4BF,EAAEO,UAAUkxB,YAAY,SAASzxB,EAAEC,GAAG,GAAGC,KAAKqxB,UAAUpgB,IAAInR,GAAG,MAAM,IAAIuuB,GAAG,mDAAmD5pB,OAAO3E,IAAIE,KAAKqxB,UAAU9wB,IAAIT,EAAEC,IAAID,EAAEO,UAAUuJ,YAAY,SAAS9J,GAAG,IAAG,IAAKE,KAAKqxB,UAAUpgB,IAAInR,GAAG,MAAM,IAAIuuB,GAAG,0BAA0B5pB,OAAO3E,IAAI,OAAOE,KAAKqxB,UAAU/wB,IAAIR,IAAIA,EAAp9B,GAAy9B0xB,GAAG,WAAW,SAAS1xB,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,QAAG,IAASC,IAAIA,EAAE,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,EAAE,OAAOI,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKC,IAAIM,IAAI,SAAST,GAAGE,KAAKC,GAAGH,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKE,IAAIK,IAAI,SAAST,GAAGE,KAAKE,GAAGJ,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAOI,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAG,GAAGS,KAAKE,IAAIZ,KAAKE,GAAG,KAAKM,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,aAAab,KAAKa,WAAW,IAAIf,GAAGA,EAAEgB,KAAKd,KAAKa,WAAWb,OAAOQ,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,GAAGD,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAInB,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKC,KAAKH,EAAEkB,GAAGhB,KAAKE,KAAKJ,EAAEmB,GAAGnB,EAAEO,UAAUc,MAAM,WAAW,OAAO,IAAIrB,EAAEE,KAAKC,GAAGD,KAAKE,KAAKJ,EAAEO,UAAUe,SAAS,SAAStB,GAAG,OAAOY,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAGH,EAAEkB,EAAE,GAAGN,KAAKE,IAAIZ,KAAKE,GAAGJ,EAAEmB,EAAE,KAAKnB,EAAEuB,IAAI,SAASvB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEyB,SAAS,SAASzB,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEN,EAAEjB,EAAEkB,EAAEK,EAAEL,GAAGnB,GAAGA,EAAEgB,KAAK,SAAShB,EAAEC,GAAG,OAAO,IAAIA,EAAEyB,UAAU1B,EAAES,IAAI,EAAE,GAAGT,EAAES,IAAIR,EAAEiB,EAAEjB,EAAEyB,UAAUzB,EAAEkB,EAAElB,EAAEyB,WAAW1B,GAAGA,EAAE2B,OAAO,SAAS3B,EAAEC,GAAG,OAAOD,EAAES,KAAKR,EAAEkB,EAAElB,EAAEiB,GAAGhB,KAAKc,KAAKhB,EAAEA,IAAIA,EAAE4B,MAAM,SAAS5B,EAAEC,EAAEuB,GAAG,OAAOxB,EAAES,IAAIR,EAAEiB,EAAEM,EAAEvB,EAAEkB,EAAEK,GAAGxB,GAAGA,EAAE6B,IAAI,SAAS7B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEiB,EAAElB,EAAEmB,EAAElB,EAAEkB,GAAGnB,EAAE8B,MAAM,SAAS9B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEkB,EAAEnB,EAAEmB,EAAElB,EAAEiB,GAAGlB,EAAE+B,MAAM,SAAS/B,EAAEC,GAAG,OAAOD,EAAES,IAAIG,KAAKmB,MAAM9B,EAAEiB,GAAGN,KAAKmB,MAAM9B,EAAEkB,IAAInB,GAAGA,EAAh9C,GAAq9C2xB,GAAG,WAAW,SAAS3xB,EAAEA,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAU,IAAIwvB,GAAGxxB,KAAKiC,QAAQ,IAAIuvB,GAAGxxB,KAAKkC,OAAO,EAAElC,KAAKmC,QAAQ,EAAEnC,KAAKO,IAAIT,EAAEC,EAAEuB,EAAEQ,GAAG,OAAO3B,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,GAAGT,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEE,KAAKgC,UAAUf,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,GAAGV,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIP,KAAKgC,UAAUhB,EAAElB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,EAAEhB,KAAKkC,QAAQ1B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,EAAEjB,KAAKmC,SAAS3B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKkC,QAAQ3B,IAAI,SAAST,GAAGE,KAAKkC,OAAOpC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKmC,SAAS5B,IAAI,SAAST,GAAGE,KAAKmC,QAAQrC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKiC,QAAQ1B,IAAIP,KAAKgB,EAAEhB,KAAKoC,MAAM,EAAEpC,KAAKiB,EAAEjB,KAAKqC,OAAO,GAAGrC,KAAKiC,SAASzB,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAKgC,UAAUzB,IAAIT,EAAEC,GAAGC,KAAKkC,OAAOZ,EAAEtB,KAAKmC,QAAQL,GAAGhC,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKsC,SAASpB,OAAOpB,EAAEwC,WAAWtC,KAAKoC,QAAQtC,EAAEsC,OAAOpC,KAAKqC,SAASvC,EAAEuC,QAAQvC,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,EAAEnB,EAAEsC,MAAMtC,EAAEuC,SAASvC,EAAEO,UAAUkC,SAAS,SAASzC,GAAG,OAAOE,KAAKwC,IAAI1C,EAAEkB,GAAGhB,KAAKgB,EAAElB,EAAE0C,IAAIxC,KAAKyC,IAAI3C,EAAEmB,GAAGjB,KAAKiB,EAAEnB,EAAE2C,IAAI3C,EAAEO,UAAUqC,SAAS,SAAS3C,GAAG,OAAOA,aAAaD,EAAEC,EAAEyC,IAAIxC,KAAKwC,IAAIzC,EAAEiB,GAAGhB,KAAKgB,GAAGjB,EAAE0C,IAAIzC,KAAKyC,IAAI1C,EAAEkB,GAAGjB,KAAKiB,EAAElB,aAAayxB,MAAMzxB,EAAEiB,EAAEhB,KAAKgB,GAAGjB,EAAEkB,EAAEjB,KAAKiB,GAAGlB,EAAEiB,GAAGhB,KAAKwC,IAAIzC,EAAEkB,GAAGjB,KAAKyC,KAAK3C,EAAl1D,GAAu1D4xB,GAAG,SAAS5xB,EAAEC,EAAEuB,GAAG,OAAOxB,GAAGC,GAAGD,GAAGwB,GAAGqwB,GAAG,WAAW,SAAS7xB,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,WAAM,IAASC,IAAIA,EAAE,MAAMC,KAAKmD,SAAS,EAAEnD,KAAKoD,SAAS,EAAEpD,KAAKa,WAAW,IAAI2wB,GAAG1xB,EAAEE,KAAKqD,QAAQvD,EAAEC,IAAIC,KAAKsD,QAAQvD,GAAG,OAAOI,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKmD,UAAU5C,IAAI,SAAST,GAAGE,KAAKmD,SAASrD,EAAEE,KAAKoD,SAAStD,EAAEY,KAAK6C,GAAG,IAAIvD,KAAKwD,mBAAmBhD,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKoD,UAAU7C,IAAI,SAAST,GAAGE,KAAKoD,SAAStD,EAAEE,KAAKmD,SAAS,IAAIrD,EAAEY,KAAK6C,GAAGvD,KAAKwD,mBAAmBhD,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,YAAYL,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUmD,gBAAgB,WAAWxD,KAAKa,WAAWN,IAAIG,KAAK+C,IAAIzD,KAAKoD,UAAU1C,KAAKgD,IAAI1D,KAAKoD,YAAYtD,EAAvxB,GAA4xB8xB,GAAG,CAACpD,mBAAc,EAAOC,UAAU,IAAIC,WAAW,IAAImD,cAAa,EAAG/rB,YAAY,UAAUsB,iBAAiB,IAAIyC,UAAS,EAAGioB,mBAAmB,IAAIN,GAAG,EAAE,GAAG3R,WAAW,CAACkS,gBAAgB7P,GAAGM,IAAIwP,0BAA0BjU,GAAG2B,eAAeuS,GAAG,WAAW,SAASnyB,EAAEA,GAAGE,KAAKkyB,QAAQpwB,EAAEA,EAAE,GAAG8vB,IAAI9xB,GAAGE,KAAKkyB,QAAQrS,WAAW/d,EAAEA,EAAE,GAAG8vB,GAAG/R,YAAY/f,EAAE+f,YAAY7f,KAAK0J,UAAU,IAAIwnB,GAAGlxB,KAAK0J,UAAU6nB,YAAY,OAAOvxB,MAAMA,KAAKmyB,gBAAgB,OAAOryB,EAAEO,UAAU8xB,cAAc,YAAtuO,SAASryB,EAAEC,GAAG,GAAGD,EAAEyxB,YAAY,aAAaxxB,GAAGD,EAAEuB,IAAI,eAAe,WAAW,OAAO,IAAIkvB,GAAGxwB,EAAEqH,qBAAqBtH,EAAEuB,IAAI,qBAAqB,WAAW,OAAO,IAAIytB,GAAGhvB,MAAMA,EAAEuB,IAAI,kBAAgB,WAAa,OAAO,SAASvB,GAAG,IAAIC,OAAE,IAASD,EAAE,GAAGA,EAAEwB,EAAEvB,EAAEwgB,cAAcze,EAAE/B,EAAEsgB,gBAAgBvd,EAAE/C,EAAEgyB,gBAAgBhwB,EAAEhC,EAAEiyB,0BAA0BjvB,EAAE,IAAIqgB,GAAG7d,EAAEzC,IAAIof,GAAGK,KAAK,IAAIJ,GAAG,IAAIQ,GAAG,IAAIO,GAAGngB,GAAG,IAAI0f,GAAG1f,EAAE,IAAIygB,IAAItgB,EAAE,IAAI0c,GAAGra,EAAExD,EAAET,EAAEQ,GAAGyH,EAAE,IAAIyU,GAAGvT,EAAE,IAAI4a,GAAGniB,GAAGD,EAAE,IAAI2hB,GAAG,OAAO,IAAIR,GAAGlhB,EAAEqG,EAAEkB,EAAExH,GAA9P,CAAkQlD,EAAE8f,eAAe9f,EAAE8J,SAAS/J,EAAEuB,IAAI,oBAAkB,WAAa,OAAO,IAAIouB,GAAG3vB,EAAEiK,aAAa,eAAejK,EAAEiK,aAAa,kBAAkBjK,EAAEiK,aAAa,qBAAqBjK,EAAEiK,aAAa,wBAAwB,CAACjK,EAAEuB,IAAI,yBAAyB,OAAO,IAAIitB,GAAGvuB,EAAEyuB,cAAczuB,EAAE0uB,UAAU1uB,EAAE2uB,eAAe,IAAIptB,EAAExB,EAAEiK,aAAa,cAAc4C,OAAO7M,EAAEuB,IAAI,iBAAe,WAAa,OAAO,SAASvB,GAAG,IAAIC,EAAE,IAAIyQ,EAAE1Q,GAAGwB,EAAEvB,EAAEuM,GAAGxK,EAAE/B,EAAE0Q,eAAe3N,EAAE,IAAIuQ,EAAE/R,EAAEQ,EAAE,IAAI4Q,EAAEpR,EAAE,IAAI+T,EAAE/T,KAAKS,EAAE,IAAIib,GAAE,IAAIf,GAAE3a,IAAIyB,EAAE,IAAIwa,GAAEjc,EAAEwB,EAAEf,EAAE,IAAIgP,IAAI,CAAC,CAACxL,EAAEwG,OAAO,IAAI8M,EAAEvX,EAAEwB,EAAEf,IAAI,CAACwD,EAAEyG,KAAK,IAAIkO,GAAE5Y,EAAEwB,EAAEf,EAAE,IAAI8O,IAAI,CAACtL,EAAE0G,QAAQ,IAAI6O,GAAExZ,EAAEwB,EAAEf,IAAI,CAACwD,EAAE4G,UAAU,IAAIuK,EAAEpV,EAAEwB,IAAI,CAACyC,EAAE2G,KAAK,IAAIiM,EAAE7W,EAAEwB,IAAI,CAACyC,EAAE6G,MAAM,IAAIqP,GAAEna,EAAEwB,EAAEf,OAAO,OAAO,IAAIoN,EAAEpM,EAAE,IAAIsJ,EAAE/K,IAAtS,CAA2SA,MAAMxB,EAAEuB,IAAI,gBAAc,WAAa,OAAO,SAASvB,GAAG,OAAO,IAAI+pB,GAAG,IAAIc,GAAG7qB,GAAG,IAAImqB,GAAGnqB,GAAG,IAAIknB,GAAG,IAAImF,GAAGrsB,IAA5D,CAAiEwB,MAAMxB,EAAEuB,IAAI,gBAAgB,WAAW,OAAO,IAAI6rB,GAAGptB,EAAEiK,aAAa,qBAAqBjK,EAAEuB,IAAI,oBAAkB,WAAa,OAAO,IAAI6B,EAAEpD,EAAEiK,aAAa,eAAejK,EAAEiK,aAAa,kBAAkBjK,EAAEiK,aAAa,iBAAiBjK,EAAEiK,aAAa,gBAAgBjK,EAAEiK,aAAa,qBAAqBjK,EAAEiK,aAAa,gBAAgBhK,EAAE+F,gBAAgBhG,EAAEuB,IAAI,gBAAc,WAAa,OAAO,IAAI0uB,GAAGjwB,EAAEC,EAAE8J,cAAS,EAAO/J,EAAEiK,aAAa,sBAAskLqoB,CAAGpyB,KAAK0J,UAAU1J,KAAKkyB,SAASlyB,KAAK6F,aAAa7F,KAAK0J,UAAUK,aAAa,gBAAgB/J,KAAKqyB,iBAAiBryB,KAAK0J,UAAUK,aAAa,qBAAqB5J,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKkyB,SAAS1xB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKqyB,iBAAiBtsB,SAASvF,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAU6vB,SAAS,SAASpwB,EAAEC,EAAEuB,EAAEQ,GAAG9B,KAAK6F,aAAaqqB,SAASpwB,EAAEC,EAAE,iBAAiBuB,EAAEA,OAAE,EAAO,kBAAkBA,EAAEA,EAAE,MAAMQ,GAAGA,IAAIhC,EAAEO,UAAUiyB,IAAI,WAAWtyB,KAAKqyB,iBAAiB/rB,SAASxG,EAAEO,UAAUqG,KAAK,WAAW1G,KAAKqyB,iBAAiB3rB,QAAQ5G,EAAEO,UAAUmG,MAAM,WAAWxG,KAAKqyB,iBAAiB7rB,SAAS1G,EAAEO,UAAUoG,OAAO,WAAWzG,KAAKqyB,iBAAiB5rB,UAAU3G,EAAz/B,GAA8/ByyB,GAAG,SAASzyB,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAE2K,eAAc,EAAG3K,EAAEyyB,aAAY,EAAGzyB,EAAE0yB,gBAAe,EAAG1yB,EAAEiC,UAAU,IAAIwvB,GAAGzxB,EAAE2yB,OAAO,IAAIlB,GAAG,EAAE,GAAGzxB,EAAE4yB,UAAU,IAAIhB,GAAG5xB,EAAE6yB,eAAe,IAAIpB,GAAGzxB,EAAE8yB,QAAQ,KAAK9yB,EAAE6jB,MAAM,IAAI4N,GAAGzxB,EAAE+yB,kBAAkB,EAAE/yB,EAAEgzB,aAAa,IAAIvB,GAAGzxB,EAAEizB,oBAAoB,IAAIxB,GAAGzxB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGK,OAAOC,eAAekB,EAAEjB,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUjB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAK0yB,QAAQnyB,IAAI,SAAST,GAAGE,KAAK0yB,OAAO3xB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAK2yB,WAAWnyB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAK2yB,UAAU5Q,WAAWvhB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,gBAAgB,CAACC,IAAI,WAAW,OAAON,KAAK4yB,gBAAgBryB,IAAI,SAAST,GAAGE,KAAK4yB,eAAe7xB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAK6yB,SAAStyB,IAAI,SAAST,GAAGE,KAAK6yB,QAAQ/yB,EAAE,OAAOE,KAAK6yB,SAASrB,GAAGjwB,SAASvB,KAAK4yB,eAAe5yB,KAAKgC,UAAUhC,KAAK6yB,QAAQvwB,WAAW9B,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAU4H,OAAO,WAAW,OAAOjI,KAAK6yB,SAAS7yB,KAAKizB,wBAAwBjzB,KAAK+yB,aAAahyB,KAAKf,KAAKgC,YAAYV,EAAEjB,UAAU4yB,sBAAsB,WAAWjzB,KAAK4yB,eAAepxB,UAAU,GAAG,IAAIxB,KAAK6yB,QAAQhmB,SAASxJ,SAASrD,KAAK8yB,oBAAoB9yB,KAAK6yB,QAAQhmB,SAASxJ,UAAUrD,KAAKkzB,yBAAyBlzB,KAAK8yB,kBAAkB9yB,KAAK6yB,QAAQhmB,SAASxJ,SAASrD,KAAKwyB,aAAaxyB,KAAKmzB,4BAA4B3B,GAAGnwB,IAAIrB,KAAKgC,UAAUhC,KAAK6yB,QAAQvwB,SAAStC,KAAKgzB,sBAAsBxB,GAAGnwB,IAAIrB,KAAKgC,UAAUhC,KAAK6yB,QAAQvwB,SAAStC,KAAK4yB,iBAAiB5yB,KAAKgC,UAAUjB,KAAKf,KAAK6yB,QAAQvwB,UAAUtC,KAAK2yB,UAAUtvB,QAAQrD,KAAKyyB,eAAezyB,KAAK6yB,QAAQhmB,SAASxJ,QAAQrD,KAAK2yB,UAAUtvB,QAAQrD,KAAK2yB,UAAUtvB,QAAQrD,KAAKwyB,aAAaxyB,KAAK0yB,OAAO3xB,KAAKf,KAAKkvB,OAAOwD,SAASpxB,EAAEjB,UAAU6yB,uBAAuB,WAAW,IAAIpzB,EAAEY,KAAK0yB,MAAMpzB,KAAK4yB,eAAe3xB,EAAEjB,KAAK4yB,eAAe5xB,IAAIhB,KAAK6yB,QAAQhmB,SAASxJ,QAAQrD,KAAK8yB,mBAAmB9yB,KAAK4jB,MAAMrjB,IAAIG,KAAK+C,IAAI3D,GAAGY,KAAKgD,IAAI5D,IAAI0xB,GAAG9vB,MAAM1B,KAAK4yB,eAAe5yB,KAAK4jB,MAAM5jB,KAAK4yB,eAAepxB,YAAYF,EAAEjB,UAAU8yB,0BAA0B,WAAWnzB,KAAKgzB,oBAAoBzyB,IAAIP,KAAK4yB,eAAe5xB,EAAEhB,KAAK6yB,QAAQnxB,MAAMV,EAAEhB,KAAK4yB,eAAe3xB,EAAEjB,KAAK6yB,QAAQnxB,MAAMT,IAAIK,EAA78E,CAAg9EiK,GAAG8nB,GAAG,SAASvzB,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEuzB,SAAS,KAAKvzB,EAAEogB,UAAU,GAAGpgB,EAAEme,SAAQ,EAAGne,EAAEwzB,mBAAkB,EAAGxzB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4H,OAAO,WAAWjI,KAAKuzB,oBAAoBvzB,KAAKmgB,UAAUhX,SAAO,SAAWrJ,GAAG,OAAOA,EAAEoJ,QAAO,KAAMlJ,KAAKuzB,mBAAkB,GAAIvzB,KAAKwzB,iBAAiBxzB,KAAKurB,iBAAiBvrB,KAAKyzB,mBAAmBnyB,EAAEjB,UAAUqzB,kBAAkB,SAAS5zB,GAAG,IAAI,IAAIC,EAAE,EAAEuB,EAAEtB,KAAKmgB,UAAUpgB,EAAEuB,EAAEgD,OAAOvE,IAAI,CAAC,IAAI+B,EAAER,EAAEvB,GAAG,GAAGC,KAAKyF,eAAewb,iCAAiCnf,EAAEhC,GAAGwE,OAAO,EAAE,OAAM,EAAG,OAAM,GAAIhD,EAAEjB,UAAUszB,mBAAmB,SAAS7zB,EAAEC,QAAG,IAASA,IAAIA,EAAE,MAAM,IAAI,IAAIuB,EAAE,EAAEQ,EAAE,EAAEgB,EAAE9C,KAAKmgB,UAAUre,EAAEgB,EAAEwB,OAAOxC,IAAI,IAAI,IAAIC,EAAEe,EAAEhB,GAAGiB,EAAE,EAAEwC,EAAEvF,KAAKyF,eAAesb,yBAAyBhf,GAAGgB,EAAEwC,EAAEjB,OAAOvB,IAAI,CAAC,IAAIG,EAAEqC,EAAExC,GAAG,GAAGjD,EAAEuJ,SAASnG,EAAEge,eAAepR,OAAO,CAAC,GAAG,OAAO/P,EAAE,OAAM,EAAGuB,KAAK,MAAM,QAAQvB,GAAGuB,IAAIxB,EAAEwE,QAAQhD,EAAEjB,UAAUuzB,sBAAsB,SAAS9zB,GAAG,IAAI,IAAIC,EAAE,EAAEuB,EAAEtB,KAAKmgB,UAAUpgB,EAAEuB,EAAEgD,OAAOvE,IAAI,CAAC,IAAI+B,EAAER,EAAEvB,GAAG+C,EAAE9C,KAAKyF,eAAewb,iCAAiCnf,EAAEhC,GAAG,GAAGgD,EAAEwB,OAAO,EAAE,OAAOtE,KAAK6zB,oBAAoB/wB,EAAE,IAAI,OAAO,MAAMxB,EAAEjB,UAAUyzB,uBAAuB,SAASh0B,GAAG,IAAI,IAAIC,EAAEC,KAAKsB,EAAE,GAAGQ,EAAE,EAAEgB,EAAE9C,KAAKmgB,UAAUre,EAAEgB,EAAEwB,OAAOxC,IAAI,CAAC,IAAIC,EAAEe,EAAEhB,GAAG9B,KAAKyF,eAAewb,iCAAiClf,EAAEjC,GAAGqJ,kBAAkBrJ,GAAG,OAAOwB,EAAE0B,KAAKjD,EAAE8zB,oBAAoB/zB,OAAO,OAAOwB,GAAGA,EAAEjB,UAAU0zB,wBAAwB,SAASj0B,GAAG,IAAI,IAAIC,EAAE,GAAGuB,EAAE,EAAEQ,EAAE9B,KAAKmgB,UAAU7e,EAAEQ,EAAEwC,OAAOhD,IAAI,IAAI,IAAIwB,EAAEhB,EAAER,GAAGS,EAAE,EAAEgB,EAAE/C,KAAKyF,eAAesb,yBAAyBje,GAAGf,EAAEgB,EAAEuB,OAAOvC,IAAI,CAAC,IAAIwD,EAAExC,EAAEhB,GAAGjC,EAAEuJ,SAAS9D,EAAE2b,eAAepR,QAAQ/P,EAAEiD,KAAKhD,KAAK6zB,oBAAoBtuB,IAAI,OAAOxF,GAAGuB,EAAEjB,UAAUwzB,oBAAoB,SAAS/zB,GAAG,MAAM,CAAC8K,WAAW5K,KAAK4F,kBAAkBopB,mBAAmBthB,OAAO5N,EAAEohB,eAAe/C,QAAQ6V,SAASl0B,EAAEohB,eAAeY,WAAWhiB,EAAEgiB,WAAW9W,cAAc,WAAW,OAAOhL,KAAK4K,YAAYoW,cAAclhB,EAAEkhB,gBAAgB1f,EAAEjB,UAAUyK,eAAe,WAAW,IAAIhL,EAAEE,KAAKA,KAAKszB,WAAWtzB,KAAKszB,SAASpqB,OAAOlJ,KAAKkJ,QAAQlJ,KAAKkJ,OAAOlJ,KAAKuzB,mBAAkB,EAAGvzB,KAAKmgB,UAAUhX,SAAS,SAASpJ,GAAG,OAAOA,EAAEmJ,OAAOpJ,EAAEoJ,WAAW5H,EAAEjB,UAAU6J,UAAU,WAAW,IAAIpK,EAAEE,KAAKA,KAAKmgB,UAAUhX,SAAS,SAASpJ,GAAG,OAAOD,EAAE2F,eAAemb,eAAe7gB,OAAOuB,EAA9pE,CAAiqE+J,GAAG4oB,GAAG,SAASn0B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAE2K,eAAc,EAAG3K,EAAE,OAAOA,EAAEuB,EAAExB,GAAGK,OAAOC,eAAekB,EAAEjB,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKk0B,UAAUnP,UAAUxkB,IAAI,SAAST,GAAGE,KAAKk0B,UAAUnP,SAAShkB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKk0B,UAAUpP,SAASvkB,IAAI,SAAST,GAAGE,KAAKk0B,UAAUpP,QAAQpkB,KAAKoM,IAAIhN,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,gBAAgB,CAACC,IAAI,WAAW,OAAON,KAAKk0B,UAAUzlB,MAAMjO,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAEuB,EAAExB,EAAEq0B,cAAcryB,EAAEhC,EAAEglB,QAAQ,GAAG,IAAI9kB,KAAKo0B,iBAAiB9vB,OAAO,MAAM,IAAI+pB,GAAG,sDAAsDruB,KAAKk0B,UAAUl0B,KAAKyF,eAAegf,aAAa,CAAChW,KAAKnN,EAAEujB,YAAY7kB,KAAKo0B,iBAAiBtP,QAAQ,QAAQ/kB,EAAEW,KAAKoM,IAAIhL,UAAK,IAAS/B,EAAEA,EAAE,EAAEglB,SAAS,IAAIyM,GAAGlvB,SAAS,IAAIkvB,MAAMlwB,EAAEjB,UAAU4H,OAAO,WAAW,GAAG,IAAIjI,KAAKo0B,iBAAiB9vB,OAAO,MAAM,IAAI+pB,GAAG,sDAAsDruB,KAAKk0B,UAAUrP,YAAY7kB,KAAKo0B,iBAAiBp0B,KAAKk0B,UAAU5xB,SAAStC,KAAK4K,WAAWypB,UAAUnF,OAAOlvB,KAAK4K,WAAWypB,UAAUC,cAAct0B,KAAK4K,WAAWypB,UAAU/xB,UAAUhB,EAAEjB,UAAU+zB,eAAe,WAAW,OAAOp0B,KAAK4K,WAAWxB,gBAAgBH,QAAM,SAAWnJ,GAAG,OAAOA,aAAauzB,IAAIvzB,EAAEoe,WAAW7Q,QAAM,SAAWvN,EAAEC,GAAG,OAAO+C,EAAEA,EAAE,GAAGhD,GAAE,GAAIC,EAAEogB,UAAU7R,KAAG,SAAWxO,GAAG,OAAOA,EAAEsS,OAAM,KAAM,KAAK9Q,EAAEjB,UAAUyK,eAAe,WAAW9K,KAAKk0B,UAAUhrB,OAAOlJ,KAAKkJ,QAAQ5H,EAAEjB,UAAU6J,UAAU,WAAWlK,KAAKyF,eAAeif,gBAAgB1kB,KAAKk0B,YAAY5yB,EAAjmD,CAAomD2B,GAAGsxB,GAAG,UAAUC,GAAG,SAAS10B,GAAG,SAASgC,EAAE/B,EAAEuB,EAAEQ,EAAEgB,QAAG,IAAShB,IAAIA,EAAE,SAAI,IAASgB,IAAIA,EAAE,MAAM,IAAIf,EAAEjC,EAAEiE,KAAK/D,KAAKD,IAAIC,KAAK,OAAO+B,EAAE+N,MAAM,UAAU/N,EAAE0yB,IAAG,EAAG1yB,EAAEutB,MAAK,EAAGvtB,EAAE8wB,QAAQ,KAAK9wB,EAAE4I,SAAQ,EAAG5I,EAAEmE,WAAW,GAAGnE,EAAE2yB,sBAAsB,GAAG3yB,EAAE4yB,oBAAoB,GAAG5yB,EAAEqQ,GAAG9Q,EAAES,EAAE8I,KAAK/I,EAAEC,EAAE6yB,aAAarC,IAAIzvB,IAAIf,EAAEsyB,UAAU/xB,SAASQ,EAAEuxB,UAAU/xB,SAASP,EAAEmtB,OAAOpsB,GAAGf,EAAE,OAAOhC,EAAE+B,EAAEhC,GAAGK,OAAOC,eAAe0B,EAAEzB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAK2K,SAASpK,IAAI,SAAST,GAAGE,KAAK2K,UAAU7K,IAAIE,KAAK2K,QAAQ7K,EAAEE,KAAK60B,+BAA+B70B,KAAK80B,6BAA6B90B,KAAK8K,mBAAmBtK,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAe0B,EAAEzB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAK6yB,SAAStyB,IAAI,SAAST,GAAGE,KAAK6yB,QAAQ/yB,EAAEE,KAAKq0B,UAAUnF,OAAO,OAAOpvB,EAAEA,EAAEu0B,UAAU,MAAM7zB,YAAW,EAAGC,cAAa,IAAKqB,EAAEzB,UAAUw0B,6BAA6B,WAAW,IAAI/0B,EAAEE,MAAK,IAAKA,KAAKkJ,SAASlJ,KAAK00B,sBAAsB10B,KAAKkG,WAAW+C,QAAM,SAAWnJ,GAAG,OAAOA,EAAEoJ,WAAWlJ,KAAK00B,sBAAsBvrB,SAAS,SAASpJ,GAAG,OAAOA,EAAEmJ,OAAOpJ,EAAEoJ,WAAU,IAAKlJ,KAAKkJ,SAASlJ,KAAK00B,sBAAsB,KAAK5yB,EAAEzB,UAAUy0B,2BAA2B,WAAW,IAAIh1B,EAAEE,MAAK,IAAKA,KAAKkJ,SAASlJ,KAAK20B,oBAAoB30B,KAAK+0B,cAAc9rB,QAAM,SAAWnJ,GAAG,OAAOA,EAAEoJ,WAAWlJ,KAAK20B,oBAAoBxrB,SAAS,SAASpJ,GAAG,OAAOA,EAAEmJ,OAAOpJ,EAAEoJ,WAAU,IAAKlJ,KAAKkJ,SAASlJ,KAAK20B,oBAAoB,KAAKx0B,OAAOC,eAAe0B,EAAEzB,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKiL,aAAasnB,KAAK/xB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAe0B,EAAEzB,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKiL,aAAagpB,KAAKzzB,YAAW,EAAGC,cAAa,IAAKqB,EAAEzB,UAAUyK,eAAe,aAAahJ,EAAEzB,UAAU0K,gBAAgB,WAAW,OAAO/K,KAAK6F,aAAakD,kBAAkBjH,EAAEzB,UAAUu0B,aAAa,SAAS90B,EAAEC,EAAE+B,GAAG,IAAIgB,EAAE,iBAAiB/C,OAAE,EAAOA,EAAEgC,EAAE,iBAAiBhC,EAAEA,EAAE+B,EAAEiB,EAAE,IAAIjD,EAAEE,KAAK0J,UAAU1J,KAAK+B,GAAG,OAAO/B,KAAKg1B,uBAAuBjyB,EAAEjD,GAAGE,KAAKkG,WAAWlD,KAAKD,GAAGA,EAAEuG,SAAShI,EAAEqD,KAAK7B,GAAGC,GAAGjB,EAAEzB,UAAU20B,uBAAuB,SAASl1B,EAAEC,GAAG,IAAG,IAAKD,EAAE4K,eAAe1K,KAAKkL,aAAanL,GAAG,MAAM,IAAIsuB,GAAG,gDAAgD5pB,OAAO1E,EAAE8K,QAAQ/I,EAAEzB,UAAU+I,cAAc,SAAStJ,GAAG,OAAOA,EAAEE,KAAKkG,WAAW+C,QAAM,SAAWlJ,GAAG,OAAOA,aAAaD,KAAKE,KAAKkG,YAAYpE,EAAEzB,UAAU4K,aAAa,SAASnL,GAAG,MAAM,iBAAiBA,EAAEE,KAAKkG,WAAWijB,eAAeppB,GAAG,OAAOA,EAAE8K,OAAO/K,KAAKE,KAAKkG,WAAWijB,MAAM,SAASppB,GAAG,OAAOA,aAAaD,MAAMgC,EAAEzB,UAAU6K,aAAa,SAASpL,GAAG,MAAM,iBAAiBA,EAAEE,KAAKkG,WAAWyb,MAAI,SAAW5hB,GAAG,OAAOA,EAAE8K,OAAO/K,KAAKE,KAAKkG,WAAWyb,MAAI,SAAW5hB,GAAG,OAAOA,aAAaD,MAAMgC,EAAEzB,UAAU8K,gBAAgB,SAASrL,GAAG,IAAIC,EAAEC,KAAKkG,WAAW6J,QAAQjQ,IAAI,IAAIC,GAAGC,KAAKkG,WAAW2a,OAAO9gB,EAAE,GAAG,GAAGuJ,SAAShI,EAAE+D,UAAUvD,EAAEzB,UAAU40B,SAAS,SAASn1B,EAAEC,EAAEuB,GAAG,IAAIQ,EAAE9B,KAAK4F,kBAAkByE,cAAcvK,EAAEC,EAAEC,KAAKsB,GAAG,OAAOQ,EAAEuyB,UAAUC,cAAc/zB,IAAI,EAAE,GAAGuB,EAAEuyB,UAAU/xB,SAASvB,KAAKf,KAAKq0B,UAAU/xB,UAAUR,GAAGA,EAAEzB,UAAU00B,YAAY,WAAW,OAAO/0B,KAAK4F,kBAAkBqpB,wBAAwBjvB,OAAO8B,EAAEzB,UAAU60B,SAAS,SAASp1B,GAAG,OAAOE,KAAK4F,kBAAkBupB,uBAAuBnvB,KAAKF,IAAIgC,EAAEzB,UAAUmvB,gBAAgB,WAAW,IAAI1vB,EAAEE,KAAKA,KAAK4F,kBAAkBqpB,wBAAwBjvB,MAAMmJ,SAAS,SAASpJ,GAAG,OAAOD,EAAE8F,kBAAkB4E,kBAAkBzK,OAAO+B,EAAEzB,UAAU8J,SAAS,WAAW,IAAIrK,EAAEE,KAAKA,KAAKm1B,oBAAoBh1B,OAAOiL,KAAKpL,MAAMmJ,kBAAkBpJ,GAAG,cAAcD,EAAEC,OAAO+B,EAAEzB,UAAU80B,kBAAkB,WAAW,IAAI,IAAIr1B,EAAE,EAAEA,EAAEE,KAAKkG,WAAW5B,OAAOxE,IAAIE,KAAKkG,WAAWpG,GAAGwJ,SAAShI,EAAE+D,gBAAgBrF,KAAKkG,WAAWpG,GAAGE,KAAKkG,WAAW,IAAIpE,EAAEzB,UAAU+J,UAAU,aAAatI,EAAnjH,CAAsjHyH,GAAG6rB,GAAG,CAAC,WAAWC,GAAG,SAASv1B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAE2K,eAAc,EAAG3K,EAAEu1B,aAAa,IAAI7D,GAAG,EAAE,EAAE,EAAE,GAAG1xB,EAAEw1B,eAAe,IAAI9D,GAAG,EAAE,EAAE,EAAE,GAAG1xB,EAAE4P,MAAM,EAAE5P,EAAE8P,OAAOulB,GAAGr1B,EAAEy1B,MAAM,EAAEz1B,EAAE,OAAOA,EAAEuB,EAAExB,GAAGK,OAAOC,eAAekB,EAAEjB,UAAU,OAAO,CAACC,IAAI,WAAW,OAAON,KAAKw1B,OAAOj1B,IAAI,SAAST,GAAG,GAAGE,KAAK0M,MAAM,EAAE,MAAM,IAAI2hB,GAAG,gCAAgCruB,KAAKw1B,MAAM11B,GAAGU,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAUo1B,SAAS,SAAS31B,GAAGE,KAAK6P,OAAO7M,KAAKlD,IAAIwB,EAAEjB,UAAU4J,KAAK,WAAWjK,KAAK2M,OAAO3M,KAAKgK,WAAW2C,OAAO3M,KAAKuP,WAAW,CAACjN,SAAS,IAAIkvB,GAAG3hB,OAAO,GAAGF,MAAM,IAAIrO,EAAEjB,UAAU4H,OAAO,WAAWjI,KAAK01B,qBAAqB11B,KAAK21B,uBAAuB31B,KAAK41B,oBAAoBt0B,EAAEjB,UAAUq1B,mBAAmB,WAAW11B,KAAKs1B,aAAat0B,GAAGhB,KAAK2M,OAAOvK,MAAM,EAAEpC,KAAKs1B,aAAar0B,GAAGjB,KAAK2M,OAAOtK,OAAO,EAAErC,KAAKs1B,aAAalzB,MAAMpC,KAAK2M,OAAOvK,MAAMpC,KAAKs1B,aAAajzB,OAAOrC,KAAK2M,OAAOtK,QAAQf,EAAEjB,UAAUs1B,qBAAqB,WAAW31B,KAAKu1B,eAAev0B,GAAGhB,KAAK4K,WAAWypB,UAAU/xB,SAAStB,EAAEhB,KAAKs1B,aAAalzB,MAAM,GAAGpC,KAAKw1B,MAAMx1B,KAAKu1B,eAAet0B,GAAGjB,KAAK4K,WAAWypB,UAAU/xB,SAASrB,EAAEjB,KAAKs1B,aAAajzB,OAAO,GAAGrC,KAAKw1B,MAAMx1B,KAAKu1B,eAAenzB,MAAMpC,KAAKs1B,aAAalzB,MAAMpC,KAAKw1B,MAAMx1B,KAAKu1B,eAAelzB,OAAOrC,KAAKs1B,aAAajzB,OAAOrC,KAAKw1B,OAAOl0B,EAAEjB,UAAUu1B,iBAAiB,WAAW51B,KAAKuP,WAAWjN,SAASvB,KAAKf,KAAK4K,WAAWypB,UAAU/xB,UAAUtC,KAAKuP,WAAWI,MAAM3P,KAAK2P,MAAM3P,KAAKuP,WAAWM,OAAO7P,KAAK6P,OAAO7P,KAAKuP,WAAW7C,KAAK1M,KAAKw1B,MAAMx1B,KAAK0F,cAAc+J,cAAczP,KAAKuP,aAAajO,EAAl/C,CAAq/CmK,GAAGoqB,GAAG,SAAS/1B,GAAG,SAASwB,IAAI,OAAO,OAAOxB,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4J,KAAK,WAAWjK,KAAKq0B,UAAU/xB,SAAS/B,IAAI,EAAE,GAAGP,KAAK81B,OAAO91B,KAAK40B,aAAaS,KAAKl1B,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAK81B,OAAOjmB,QAAQtP,IAAI,SAAST,GAAGE,KAAK81B,OAAOjmB,OAAO/P,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAK81B,OAAOnmB,OAAOpP,IAAI,SAAST,GAAGE,KAAK81B,OAAOnmB,MAAM7P,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,OAAO,CAACC,IAAI,WAAW,OAAON,KAAK81B,OAAOppB,MAAMnM,IAAI,SAAST,GAAGE,KAAK81B,OAAOppB,KAAK5M,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,iBAAiB,CAACC,IAAI,WAAW,OAAON,KAAK81B,OAAOP,gBAAgB/0B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,eAAe,CAACC,IAAI,WAAW,OAAON,KAAK81B,OAAOR,cAAc90B,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAUo1B,SAAS,SAAS31B,GAAGE,KAAK81B,OAAOjmB,OAAO7M,KAAKlD,IAAIwB,EAAt8B,CAAy8BkzB,IAAIuB,GAAG,SAASj2B,GAAG,SAASwB,EAAEvB,EAAEuB,EAAEQ,GAAG,IAAIgB,EAAEhD,EAAEiE,KAAK/D,KAAKD,IAAIC,KAAK,OAAO8C,EAAE+H,KAAKvJ,EAAEwB,EAAEkzB,KAAKl0B,EAAEgB,EAAEkzB,KAAKC,OAAOpsB,UAAU/G,EAAEuH,cAAcwrB,IAAI/yB,EAAE,OAAO/C,EAAEuB,EAAExB,GAAGK,OAAOC,eAAekB,EAAEjB,UAAU,aAAa,CAACC,IAAI,WAAW,OAAON,KAAKsK,eAAeurB,KAAKr1B,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAU8J,SAAS,WAAW,IAAIrK,EAAEE,KAAKA,KAAK4F,kBAAkBypB,uBAAsB,GAAIlvB,OAAOiL,KAAKpL,MAAMmJ,SAAS,SAASpJ,GAAG,cAAcD,EAAEC,OAAOuB,EAAEjB,UAAU+J,UAAU,WAAW,IAAItK,EAAEE,KAAKA,KAAK4F,kBAAkBypB,uBAAsB,GAAIlvB,OAAOiL,KAAKpL,MAAMmJ,SAAO,SAAWpJ,GAAG,cAAcD,EAAEC,OAAOuB,EAAlkB,CAAqkBiI,GAAG2sB,GAAG,SAASp2B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEo2B,OAAM,EAAGp2B,EAAEgsB,QAAQ,EAAEhsB,EAAEksB,QAAQ,EAAElsB,EAAEq2B,kBAAkB,GAAGr2B,EAAEs2B,aAAa,IAAI7E,GAAGzxB,EAAEu2B,eAAe,IAAI9E,GAAGzxB,EAAEw2B,cAAc,EAAEx2B,EAAEu0B,cAAc,IAAI9C,GAAGzxB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEgB,EAAEf,EAAEgB,EAAE,GAAG/C,KAAK2J,WAAWkW,WAAWkS,kBAAkB7P,GAAGM,IAAI,MAAM,IAAI6L,GAAG,gDAAgD,GAAGvuB,EAAEyN,YAAYjJ,OAAO,EAAE,MAAM,IAAI+pB,GAAG,+CAA+CruB,KAAKm2B,OAAO,QAAQp2B,EAAED,EAAEq2B,aAAQ,IAASp2B,EAAEA,EAAEC,KAAKm2B,QAAQn2B,KAAK2J,WAAWkoB,aAAa7xB,KAAKuN,YAAYzN,EAAEyN,YAAYvN,KAAK+rB,QAAQ,QAAQzqB,EAAExB,EAAEisB,eAAU,IAASzqB,EAAEA,EAAEtB,KAAK+rB,QAAQ/rB,KAAKisB,QAAQ,QAAQnqB,EAAEhC,EAAEmsB,eAAU,IAASnqB,EAAEA,EAAE9B,KAAKisB,QAAQjsB,KAAKke,QAAQ,QAAQpb,EAAEhD,EAAEoe,eAAU,IAASpb,EAAEA,EAAE9C,KAAKke,QAAQle,KAAK6M,SAAS,QAAQ9K,EAAEjC,EAAE+M,gBAAW,IAAS9K,EAAEA,EAAE,IAAI4vB,GAAG3xB,KAAK8P,MAAMhQ,EAAEgQ,MAAM,IAAI,IAAIvK,EAAE,EAAEA,EAAEvF,KAAKuN,YAAYjJ,OAAOiB,IAAIvF,KAAKo2B,kBAAkBpzB,KAAK,IAAIwuB,IAAIxxB,KAAKmgB,UAAUnd,KAAKhD,KAAKyF,eAAeib,YAAY,CAAC5Q,MAAM,QAAQ/M,EAAE/C,KAAK8P,aAAQ,IAAS/M,EAAEA,EAAE/C,KAAK4K,WAAWkF,MAAMxN,SAAStC,KAAK4K,WAAWypB,UAAU/xB,SAASnB,QAAQ0L,SAAS7M,KAAK6M,SAASxJ,QAAQmK,MAAM,IAAI8Y,GAAGtmB,KAAKo2B,mBAAmBnY,kBAAiB,EAAGC,QAAQle,KAAKke,QAAQC,MAAMne,KAAK4K,WAAWwH,GAAG4F,cAAchY,KAAKm2B,QAAQn2B,KAAKszB,SAAStzB,KAAK4K,WAAWgqB,aAAa4B,GAAG,CAACxC,SAASh0B,KAAKmgB,UAAU,OAAO7e,EAAEjB,UAAUmzB,eAAe,WAAW,IAAI1zB,EAAEE,KAAKA,KAAKuN,YAAYpE,kBAAkBpJ,EAAEuB,GAAG,OAAOxB,EAAEs2B,kBAAkB90B,GAAGf,IAAIR,EAAEiB,EAAElB,EAAE8K,WAAWypB,UAAU3yB,MAAMV,EAAEjB,EAAEkB,EAAEnB,EAAE8K,WAAWypB,UAAU3yB,MAAMT,MAAMjB,KAAKq2B,aAAar1B,EAAEhB,KAAK+rB,QAAQ/rB,KAAK4K,WAAWypB,UAAU3yB,MAAMV,EAAEhB,KAAKq2B,aAAap1B,EAAEjB,KAAKisB,QAAQjsB,KAAK4K,WAAWypB,UAAU3yB,MAAMT,EAAEjB,KAAKu2B,cAAcv2B,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,QAAQrD,KAAK6M,SAASxJ,SAAS/B,EAAEjB,UAAUkrB,eAAe,WAAWiG,GAAGnwB,IAAIrB,KAAKs2B,eAAet2B,KAAK4K,WAAWypB,UAAU/xB,SAAStC,KAAKq2B,cAAc,IAAIr2B,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,SAASrD,KAAKy2B,aAAan1B,EAAEjB,UAAUo2B,UAAU,WAAWjF,GAAGjwB,SAASvB,KAAKs0B,cAAct0B,KAAKs2B,eAAet2B,KAAK4K,WAAWypB,UAAU/xB,UAAU,IAAIxC,EAAEY,KAAK0yB,MAAMpzB,KAAKs0B,cAAcrzB,EAAEjB,KAAKs0B,cAActzB,GAAGhB,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,QAAQrD,KAAKs2B,eAAe/1B,IAAIP,KAAK4K,WAAWypB,UAAU/xB,SAAStB,EAAEhB,KAAKs0B,cAAc9yB,UAAUd,KAAK+C,IAAI3D,GAAGE,KAAK4K,WAAWypB,UAAU/xB,SAASrB,EAAEjB,KAAKs0B,cAAc9yB,UAAUd,KAAKgD,IAAI5D,KAAKwB,EAAEjB,UAAUozB,gBAAgB,WAAW,IAAI3zB,EAAEE,KAAKmgB,UAAU,GAAGrQ,MAAM,QAAQhQ,EAAEE,KAAK8P,aAAQ,IAAShQ,EAAEA,EAAEE,KAAK4K,WAAWkF,MAAM9P,KAAKmgB,UAAU,GAAG7d,SAASvB,KAAKf,KAAKs2B,gBAAgBt2B,KAAKmgB,UAAU,GAAGtT,SAAS7M,KAAKu2B,cAAcv2B,KAAKmgB,UAAU,GAAG3S,MAAMD,YAAYvN,KAAKo2B,mBAAmB90B,EAAjlF,CAAolF+xB,IAAImD,GAAG,SAAS12B,GAAG,SAASwB,IAAI,OAAO,OAAOxB,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAED,EAAEk0B,SAASh0B,KAAKsP,WAAW,CAACb,KAAKlJ,EAAE4G,UAAUqC,SAASzL,EAAE8I,WAAWiE,MAAM9P,KAAK4K,WAAWkF,MAAMxN,SAAS,IAAIkvB,GAAGhkB,MAAMzL,EAAE2J,QAAQkM,MAAM,WAAW5X,KAAKg0B,SAASj0B,GAAGuB,EAAEjB,UAAU4H,OAAO,WAAWjI,KAAKsP,WAAWQ,MAAM9P,KAAK4K,WAAWkF,MAAM9P,KAAKsP,WAAWhN,SAASvB,KAAKf,KAAKg0B,SAAS1xB,UAAUtC,KAAKsP,WAAWzC,SAAS7M,KAAKg0B,SAASxmB,MAAMX,SAAS7M,KAAKsP,WAAW/B,YAAYvN,KAAKg0B,SAASxmB,MAAMD,YAAYvN,KAAK0F,cAAc8J,cAAcxP,KAAKsP,aAAahO,EAA/jB,CAAkkBL,GAAGy1B,GAAG,SAAS52B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEo2B,OAAM,EAAGp2B,EAAEgsB,QAAQ,EAAEhsB,EAAEksB,QAAQ,EAAElsB,EAAEiQ,UAAU,EAAEjQ,EAAEkQ,WAAW,EAAElQ,EAAE42B,WAAW,IAAInF,GAAGzxB,EAAE62B,aAAa,IAAIpF,GAAGzxB,EAAE82B,aAAa,EAAE92B,EAAE+2B,cAAc/2B,EAAE4J,WAAWkW,WAAWkS,kBAAkB7P,GAAGM,IAAIziB,EAAEu0B,cAAc,IAAI9C,GAAGzxB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEgB,EAAEf,EAAEgB,EAAE/C,KAAKoC,MAAMtC,EAAEsC,MAAMpC,KAAKqC,OAAOvC,EAAEuC,OAAOrC,KAAK+rB,QAAQ,QAAQhsB,EAAED,EAAEisB,eAAU,IAAShsB,EAAEA,EAAEC,KAAK+rB,QAAQ/rB,KAAKisB,QAAQ,QAAQ3qB,EAAExB,EAAEmsB,eAAU,IAAS3qB,EAAEA,EAAEtB,KAAKisB,QAAQjsB,KAAKke,QAAQ,QAAQpc,EAAEhC,EAAEoe,eAAU,IAASpc,EAAEA,EAAE9B,KAAKke,QAAQle,KAAKm2B,OAAO,QAAQrzB,EAAEhD,EAAEq2B,aAAQ,IAASrzB,EAAEA,EAAE9C,KAAKm2B,QAAQn2B,KAAK2J,WAAWkoB,aAAa7xB,KAAK6M,SAAS,QAAQ9K,EAAEjC,EAAE+M,gBAAW,IAAS9K,EAAEA,EAAE,IAAI4vB,GAAG3xB,KAAK8P,MAAMhQ,EAAEgQ,MAAM9P,KAAKmgB,UAAUnd,KAAKhD,KAAKyF,eAAeib,YAAY,CAAC5Q,MAAM,QAAQ/M,EAAE/C,KAAK8P,aAAQ,IAAS/M,EAAEA,EAAE/C,KAAK4K,WAAWkF,MAAMxN,SAAStC,KAAK4K,WAAWypB,UAAU/xB,SAASnB,QAAQ0L,SAAS7M,KAAK6M,SAASxJ,QAAQmK,MAAM,IAAIoZ,GAAG5mB,KAAKgQ,UAAUhQ,KAAKiQ,YAAYgO,kBAAiB,EAAGC,QAAQle,KAAKke,QAAQC,MAAMne,KAAK4K,WAAWwH,GAAG4F,cAAchY,KAAKm2B,QAAQn2B,KAAKszB,SAAStzB,KAAK4K,WAAWgqB,aAAa4B,GAAG,CAACxC,SAASh0B,KAAKmgB,UAAU,OAAO7e,EAAEjB,UAAUmzB,eAAe,WAAWxzB,KAAKgQ,UAAUhQ,KAAKoC,MAAM1B,KAAKoM,IAAI9M,KAAK4K,WAAWypB,UAAU3yB,MAAMV,GAAGhB,KAAKiQ,WAAWjQ,KAAKqC,OAAO3B,KAAKoM,IAAI9M,KAAK4K,WAAWypB,UAAU3yB,MAAMT,GAAGjB,KAAK22B,WAAW31B,EAAEhB,KAAK+rB,QAAQ/rB,KAAK4K,WAAWypB,UAAU3yB,MAAMV,EAAEhB,KAAK22B,WAAW11B,EAAEjB,KAAKisB,QAAQjsB,KAAK4K,WAAWypB,UAAU3yB,MAAMT,EAAEjB,KAAK62B,aAAa72B,KAAK82B,cAAc92B,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,QAAQrD,KAAK6M,SAASxJ,QAAQ,GAAG/B,EAAEjB,UAAUkrB,eAAe,WAAWiG,GAAGnwB,IAAIrB,KAAK42B,aAAa52B,KAAK4K,WAAWypB,UAAU/xB,SAAStC,KAAK22B,YAAY,IAAI32B,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,SAASrD,KAAKy2B,aAAan1B,EAAEjB,UAAUo2B,UAAU,WAAWjF,GAAGjwB,SAASvB,KAAKs0B,cAAct0B,KAAK42B,aAAa52B,KAAK4K,WAAWypB,UAAU/xB,UAAU,IAAIxC,EAAEY,KAAK0yB,MAAMpzB,KAAKs0B,cAAcrzB,EAAEjB,KAAKs0B,cAActzB,GAAGhB,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,QAAQrD,KAAK42B,aAAar2B,IAAIP,KAAK4K,WAAWypB,UAAU/xB,SAAStB,EAAEhB,KAAKs0B,cAAc9yB,UAAUd,KAAK+C,IAAI3D,GAAGE,KAAK4K,WAAWypB,UAAU/xB,SAASrB,EAAEjB,KAAKs0B,cAAc9yB,UAAUd,KAAKgD,IAAI5D,KAAKwB,EAAEjB,UAAUozB,gBAAgB,WAAW,IAAI3zB,EAAEE,KAAKmgB,UAAU,GAAGrQ,MAAM,QAAQhQ,EAAEE,KAAK8P,aAAQ,IAAShQ,EAAEA,EAAEE,KAAK4K,WAAWkF,MAAM9P,KAAKmgB,UAAU,GAAG7d,SAASvB,KAAKf,KAAK42B,cAAc52B,KAAKmgB,UAAU,GAAGtT,SAAS7M,KAAK62B,aAAa72B,KAAKmgB,UAAU,GAAG3S,MAAMqZ,WAAW7mB,KAAKgQ,UAAUhQ,KAAKiQ,aAAa3O,EAAx4E,CAA24E+xB,IAAI0D,GAAG,SAASj3B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEo2B,OAAM,EAAGp2B,EAAEgsB,QAAQ,EAAEhsB,EAAEksB,QAAQ,EAAElsB,EAAEi3B,WAAW,EAAEj3B,EAAE42B,WAAW,IAAInF,GAAGzxB,EAAE62B,aAAa,IAAIpF,GAAGzxB,EAAEu0B,cAAc,IAAI9C,GAAGzxB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEgB,EAAEf,EAAE/B,KAAKyN,OAAO3N,EAAE2N,OAAOzN,KAAK+rB,QAAQ,QAAQhsB,EAAED,EAAEisB,eAAU,IAAShsB,EAAEA,EAAEC,KAAK+rB,QAAQ/rB,KAAKisB,QAAQ,QAAQ3qB,EAAExB,EAAEmsB,eAAU,IAAS3qB,EAAEA,EAAEtB,KAAKisB,QAAQjsB,KAAKke,QAAQ,QAAQpc,EAAEhC,EAAEoe,eAAU,IAASpc,EAAEA,EAAE9B,KAAKke,QAAQle,KAAKm2B,OAAO,QAAQrzB,EAAEhD,EAAEq2B,aAAQ,IAASrzB,EAAEA,EAAE9C,KAAKm2B,QAAQn2B,KAAK2J,WAAWkoB,aAAa7xB,KAAK8P,MAAMhQ,EAAEgQ,MAAM9P,KAAKmgB,UAAUnd,KAAKhD,KAAKyF,eAAeib,YAAY,CAAC5Q,MAAM,QAAQ/N,EAAE/B,KAAK8P,aAAQ,IAAS/N,EAAEA,EAAE/B,KAAK4K,WAAWkF,MAAMxN,SAAStC,KAAK4K,WAAWypB,UAAU/xB,SAASnB,QAAQqM,MAAM,IAAIyY,GAAGjmB,KAAKyN,QAAQwQ,kBAAiB,EAAGC,QAAQle,KAAKke,QAAQC,MAAMne,KAAK4K,WAAWwH,GAAG4F,cAAchY,KAAKm2B,QAAQn2B,KAAKszB,SAAStzB,KAAK4K,WAAWgqB,aAAaqC,GAAG,CAACjD,SAASh0B,KAAKmgB,UAAU,OAAO7e,EAAEjB,UAAUmzB,eAAe,WAAWxzB,KAAKg3B,WAAWh3B,KAAKyN,OAAO/M,KAAKkC,IAAIlC,KAAKoM,IAAI9M,KAAK4K,WAAWypB,UAAU3yB,MAAMV,GAAGN,KAAKoM,IAAI9M,KAAK4K,WAAWypB,UAAU3yB,MAAMT,IAAIjB,KAAK22B,WAAW31B,EAAEhB,KAAK+rB,QAAQ/rB,KAAK4K,WAAWypB,UAAU3yB,MAAMV,EAAEhB,KAAK22B,WAAW11B,EAAEjB,KAAKisB,QAAQjsB,KAAK4K,WAAWypB,UAAU3yB,MAAMT,GAAGK,EAAEjB,UAAUkrB,eAAe,WAAWiG,GAAGnwB,IAAIrB,KAAK42B,aAAa52B,KAAK4K,WAAWypB,UAAU/xB,SAAStC,KAAK22B,YAAY,IAAI32B,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,SAASrD,KAAKy2B,aAAan1B,EAAEjB,UAAUo2B,UAAU,WAAWjF,GAAGjwB,SAASvB,KAAKs0B,cAAct0B,KAAK42B,aAAa52B,KAAK4K,WAAWypB,UAAU/xB,UAAU,IAAIxC,EAAEY,KAAK0yB,MAAMpzB,KAAKs0B,cAAcrzB,EAAEjB,KAAKs0B,cAActzB,GAAGhB,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,QAAQrD,KAAK42B,aAAar2B,IAAIP,KAAK4K,WAAWypB,UAAU/xB,SAAStB,EAAEhB,KAAKs0B,cAAc9yB,UAAUd,KAAK+C,IAAI3D,GAAGE,KAAK4K,WAAWypB,UAAU/xB,SAASrB,EAAEjB,KAAKs0B,cAAc9yB,UAAUd,KAAKgD,IAAI5D,KAAKwB,EAAEjB,UAAUozB,gBAAgB,WAAW,IAAI3zB,EAAEE,KAAKmgB,UAAU,GAAGrQ,MAAM,QAAQhQ,EAAEE,KAAK8P,aAAQ,IAAShQ,EAAEA,EAAEE,KAAK4K,WAAWkF,MAAM9P,KAAKmgB,UAAU,GAAG7d,SAASvB,KAAKf,KAAK42B,cAAc52B,KAAKmgB,UAAU,GAAG3S,MAAMC,OAAOzN,KAAKg3B,YAAY11B,EAA/+D,CAAk/D+xB,IAAI4D,GAAG,SAASn3B,GAAG,SAASwB,IAAI,OAAO,OAAOxB,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAED,EAAEk0B,SAASh0B,KAAKsP,WAAW,CAACb,KAAKlJ,EAAE4G,UAAUqC,SAASzL,EAAE8I,WAAWiE,MAAM9P,KAAK4K,WAAWkF,MAAMxN,SAAS,IAAIkvB,GAAGhkB,MAAMzL,EAAE4J,cAAciM,MAAM,WAAW5X,KAAKg0B,SAASj0B,GAAGuB,EAAEjB,UAAU4H,OAAO,WAAWjI,KAAKsP,WAAWQ,MAAM9P,KAAK4K,WAAWkF,MAAM9P,KAAKsP,WAAWhN,SAASvB,KAAKf,KAAKg0B,SAAS1xB,UAAUtC,KAAKsP,WAAW7B,OAAOzN,KAAKg0B,SAASxmB,MAAMC,OAAOzN,KAAK0F,cAAc8J,cAAcxP,KAAKsP,aAAahO,EAArgB,CAAwgBL,GAAGi2B,GAAG,SAASp3B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEo2B,OAAM,EAAGp2B,EAAEuC,SAAS,IAAIkvB,GAAGzxB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAEuB,EAAEtB,KAAKm3B,gBAAgBr3B,EAAEq3B,gBAAgBn3B,KAAK8P,MAAMhQ,EAAEgQ,MAAM9P,KAAKm2B,OAAO,QAAQp2B,EAAED,EAAEq2B,aAAQ,IAASp2B,EAAEA,EAAEC,KAAKm2B,QAAQn2B,KAAK2J,WAAWkoB,aAAa7xB,KAAKke,SAAQ,EAAGle,KAAKo3B,UAAU,QAAQ91B,EAAExB,EAAEs3B,iBAAY,IAAS91B,GAAGA,EAAEtB,KAAKq3B,gBAAgBr3B,KAAKm3B,gBAAgBjpB,UAAUlO,KAAK4K,WAAWypB,UAAU3yB,MAAMV,EAAEhB,KAAKs3B,iBAAiBt3B,KAAKm3B,gBAAgBhpB,WAAWnO,KAAK4K,WAAWypB,UAAU3yB,MAAMT,EAAEjB,KAAKu3B,YAAYv3B,KAAKm3B,gBAAgB/0B,MAAMpC,KAAKq3B,gBAAgBr3B,KAAKw3B,aAAax3B,KAAKm3B,gBAAgB90B,OAAOrC,KAAKs3B,iBAAiBt3B,KAAKsC,SAAS/B,IAAIP,KAAK4K,WAAWypB,UAAU/xB,SAAStB,EAAEhB,KAAKu3B,YAAY,EAAEv3B,KAAK4K,WAAWypB,UAAU/xB,SAASrB,EAAEjB,KAAKw3B,aAAa,GAAGx3B,KAAKo3B,UAAUp3B,KAAKy3B,mBAAmBz3B,KAAK03B,kBAAkB13B,KAAKm2B,QAAQn2B,KAAKszB,SAAStzB,KAAK4K,WAAWgqB,aAAa+C,GAAG,CAACxX,UAAUngB,KAAKmgB,cAAc7e,EAAEjB,UAAUq3B,gBAAgB,WAAW,IAAI53B,EAAEE,KAAKA,KAAKm3B,gBAAgBnpB,MAAM7E,kBAAkBpJ,EAAEuB,GAAG,IAAIQ,EAAEhC,EAAE83B,cAAc73B,EAAEuB,IAAIxB,EAAEqgB,UAAUnd,KAAKlD,EAAE2F,eAAeib,YAAY,CAAC5Q,MAAM,QAAQhO,EAAEhC,EAAEgQ,aAAQ,IAAShO,EAAEA,EAAEhC,EAAE8K,WAAWkF,MAAMxN,SAAS,IAAIkvB,GAAG1xB,EAAEwC,SAAStB,GAAGM,EAAExB,EAAEq3B,gBAAgB/0B,MAAM,IAAItC,EAAEu3B,gBAAgBv3B,EAAEwC,SAASrB,GAAGP,KAAK8a,MAAMla,EAAExB,EAAEq3B,gBAAgB/0B,OAAO,IAAItC,EAAEw3B,kBAAkB9pB,MAAM,IAAIoZ,GAAG9mB,EAAEu3B,gBAAgBv3B,EAAEw3B,kBAAkBrZ,kBAAiB,EAAGC,QAAQpe,EAAEoe,QAAQC,MAAMre,EAAE8K,WAAWwH,GAAG4F,kBAAkB1W,EAAEjB,UAAUu3B,cAAc,SAAS93B,EAAEC,GAAG,IAAIuB,EAAEtB,KAAK,OAAO,IAAIF,GAAGE,KAAK63B,aAAa93B,GAAG4hB,MAAI,SAAW7hB,GAAG,OAAOA,IAAIwB,EAAE61B,gBAAgBnpB,MAAMlO,IAAI,IAAIwB,EAAE61B,gBAAgBnpB,MAAMlO,OAAOwB,EAAEjB,UAAUo3B,iBAAiB,WAAW,IAAI33B,EAAEC,EAAEuB,EAAEtB,KAAK8B,EAAE,GAAGgB,EAAE,GAAG9C,KAAKm3B,gBAAgBnpB,MAAM7E,SAAS,SAASrJ,EAAEC,GAAG,GAAG,IAAID,EAAE,CAAC,IAAIiC,EAAEhC,EAAEuB,EAAE61B,gBAAgB/0B,MAAMW,EAAErC,KAAK8a,MAAMzb,EAAEuB,EAAE61B,gBAAgB/0B,OAAON,EAAEiB,KAAKjB,EAAEiB,GAAG,IAAIjB,EAAEiB,EAAE,KAAKjB,EAAEiB,EAAE,GAAG,IAAID,EAAEC,KAAKD,EAAEC,GAAG,IAAID,EAAEC,EAAE,KAAKD,EAAEC,EAAE,GAAG,IAAI,IAAIwC,EAAEjE,EAAEu2B,aAAa93B,GAAGuB,EAAEw2B,QAAQvyB,EAAE,MAAMzD,EAAEiB,GAAGhB,IAAG,GAAIT,EAAEw2B,QAAQvyB,EAAE,MAAMzD,EAAEiB,EAAE,GAAGhB,IAAG,GAAIT,EAAEw2B,QAAQvyB,EAAE,MAAMzC,EAAEC,GAAGhB,IAAG,GAAIT,EAAEw2B,QAAQvyB,EAAE,MAAMzC,EAAEC,GAAGhB,EAAE,IAAG,OAAQ,IAAI,IAAIA,EAAE,EAAEA,EAAED,EAAEwC,OAAOvC,IAAI,GAAGD,EAAEC,GAAG,IAAI,IAAIgB,EAAE,EAAEA,EAAEjB,EAAEC,GAAGuC,OAAOvB,KAAKjD,IAAIC,GAAGgC,IAAIhC,EAAEkB,GAAGa,EAAEC,GAAGgB,KAAK/C,KAAK+3B,gBAAgBj4B,EAAEC,GAAGD,OAAE,EAAOC,OAAE,GAAQ+B,EAAEC,GAAGgB,KAAKjD,IAAIA,EAAE,IAAI0xB,GAAGzuB,EAAEhB,IAAIhC,EAAE,IAAIyxB,GAAGzuB,EAAE,EAAEhB,IAAsD,IAAlDjC,GAAGC,GAAGC,KAAK+3B,gBAAgBj4B,EAAEC,GAAGD,OAAE,EAAOC,OAAE,EAAWgD,EAAE,EAAEA,GAAG/C,KAAKm3B,gBAAgB/0B,MAAMW,IAAI,IAAIhB,EAAE,EAAEA,EAAEe,EAAEwB,OAAOvC,IAAIe,EAAEf,MAAMjC,IAAIC,GAAGgD,IAAIhD,EAAEiB,GAAG8B,EAAEf,GAAGgB,KAAK/C,KAAK+3B,gBAAgBj4B,EAAEC,GAAGD,OAAE,EAAOC,OAAE,GAAQ+C,EAAEf,GAAGgB,KAAKjD,IAAIA,EAAE,IAAI0xB,GAAGzuB,EAAEhB,IAAIhC,EAAE,IAAIyxB,GAAGzuB,EAAEhB,EAAE,KAAKjC,GAAGC,GAAGC,KAAK+3B,gBAAgBj4B,EAAEC,IAAIuB,EAAEjB,UAAUy3B,QAAQ,SAASh4B,GAAG,YAAO,IAASA,GAAGE,KAAKm3B,gBAAgBnpB,MAAMlO,IAAIE,KAAKm3B,gBAAgBnpB,MAAMlO,GAAG,GAAGwB,EAAEjB,UAAU03B,gBAAgB,SAASj4B,EAAEC,GAAG,IAAIuB,EAAEQ,EAAE9B,KAAKyF,eAAeib,YAAY,CAAC5Q,MAAM,QAAQxO,EAAEtB,KAAK8P,aAAQ,IAASxO,EAAEA,EAAEtB,KAAK4K,WAAWkF,MAAMxN,SAAStC,KAAKsC,SAASnB,QAAQqM,MAAM,IAAI2Y,GAAG,CAAC,IAAIqL,GAAG1xB,EAAEkB,EAAEhB,KAAKq3B,gBAAgBv3B,EAAEmB,GAAGjB,KAAKs3B,kBAAkB,IAAI9F,GAAGzxB,EAAEiB,EAAEhB,KAAKq3B,gBAAgBt3B,EAAEkB,GAAGjB,KAAKs3B,oBAAoBrZ,kBAAiB,EAAGC,QAAQle,KAAKke,QAAQC,MAAMne,KAAK4K,WAAWwH,GAAG4F,aAAahY,KAAKmgB,UAAUnd,KAAKlB,IAAIR,EAAEjB,UAAUw3B,aAAa,SAAS/3B,GAAG,MAAM,CAACA,EAAEE,KAAKm3B,gBAAgB/0B,OAAO,EAAEtC,EAAEE,KAAKm3B,gBAAgB/0B,WAAM,EAAOtC,EAAEE,KAAKm3B,gBAAgB/0B,MAAM,EAAEtC,EAAE,OAAE,EAAOA,EAAEE,KAAKm3B,gBAAgB/0B,OAAOpC,KAAKm3B,gBAAgB/0B,MAAMpC,KAAKm3B,gBAAgB90B,OAAOvC,EAAEE,KAAKm3B,gBAAgB/0B,WAAM,EAAOtC,EAAEE,KAAKm3B,gBAAgB/0B,MAAMpC,KAAKm3B,gBAAgB/0B,MAAM,EAAEtC,EAAE,OAAE,IAASwB,EAAEjB,UAAUmzB,eAAe,aAAalyB,EAAEjB,UAAUkrB,eAAe,aAAajqB,EAAEjB,UAAUozB,gBAAgB,WAAW,IAAI3zB,EAAEE,KAAKA,KAAKmgB,UAAUhX,SAAS,SAASpJ,GAAG,IAAIuB,EAAE,OAAOvB,EAAE+P,MAAM,QAAQxO,EAAExB,EAAEgQ,aAAQ,IAASxO,EAAEA,EAAExB,EAAE8K,WAAWkF,UAAUxO,EAAzkH,CAA4kH+xB,IAAIsE,GAAG,SAAS73B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEuP,WAAW,GAAGvP,EAAEogB,UAAU,GAAGpgB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAEC,KAAKsB,EAAExB,EAAEqgB,UAAUngB,KAAKmgB,UAAU7e,EAAEtB,KAAKmgB,UAAUhX,SAAO,SAAWrJ,EAAEwB,GAAGvB,EAAEuP,WAAWhO,GAAG,CAACmN,KAAKlJ,EAAE4G,UAAU2D,MAAM/P,EAAE6K,WAAWkF,MAAMtB,SAASzL,EAAE8I,WAAWvJ,SAAS,IAAIkvB,GAAGhkB,MAAMzL,EAAE2J,QAAQkM,MAAM,eAAetW,EAAEjB,UAAU4H,OAAO,WAAW,IAAInI,EAAEE,KAAKA,KAAKmgB,UAAUhX,SAAS,SAASpJ,EAAEuB,GAAGxB,EAAEwP,WAAWhO,GAAGwO,MAAMhQ,EAAE8K,WAAWkF,MAAMhQ,EAAEwP,WAAWhO,GAAGgB,SAASvB,KAAKhB,EAAEyN,MAAMlL,UAAUxC,EAAEwP,WAAWhO,GAAGuL,SAAS9M,EAAE8M,SAAS/M,EAAEwP,WAAWhO,GAAGiM,YAAYxN,EAAEyN,MAAMD,YAAYzN,EAAE4F,cAAc8J,cAAc1P,EAAEwP,WAAWhO,QAAQA,EAA/pB,CAAkqBL,GAAG+2B,GAAG,SAASl4B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEo2B,OAAM,EAAGp2B,EAAEgsB,QAAQ,EAAEhsB,EAAEksB,QAAQ,EAAElsB,EAAEq2B,kBAAkB,GAAGr2B,EAAEs2B,aAAa,IAAI7E,GAAGzxB,EAAEu2B,eAAe,IAAI9E,GAAGzxB,EAAEw2B,cAAc,EAAEx2B,EAAEu0B,cAAc,IAAI9C,GAAGzxB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEgB,EAAEf,EAAEgB,EAAE,GAAG/C,KAAK2J,WAAWkW,WAAWkS,kBAAkB7P,GAAGM,IAAI,MAAM,IAAI6L,GAAG,6CAA6C,GAAGvuB,EAAEyN,YAAYjJ,OAAO,EAAE,MAAM,IAAI+pB,GAAG,4CAA4CruB,KAAKm2B,OAAO,QAAQp2B,EAAED,EAAEq2B,aAAQ,IAASp2B,EAAEA,EAAEC,KAAKm2B,QAAQn2B,KAAK2J,WAAWkoB,aAAa7xB,KAAKuN,YAAYzN,EAAEyN,YAAYvN,KAAK+rB,QAAQ,QAAQzqB,EAAExB,EAAEisB,eAAU,IAASzqB,EAAEA,EAAEtB,KAAK+rB,QAAQ/rB,KAAKisB,QAAQ,QAAQnqB,EAAEhC,EAAEmsB,eAAU,IAASnqB,EAAEA,EAAE9B,KAAKisB,QAAQjsB,KAAKke,QAAQ,QAAQpb,EAAEhD,EAAEoe,eAAU,IAASpb,EAAEA,EAAE9C,KAAKke,QAAQle,KAAK6M,SAAS,QAAQ9K,EAAEjC,EAAE+M,gBAAW,IAAS9K,EAAEA,EAAE,IAAI4vB,GAAG3xB,KAAK8P,MAAMhQ,EAAEgQ,MAAM,IAAI,IAAIvK,EAAE,EAAEA,EAAEvF,KAAKuN,YAAYjJ,OAAOiB,IAAIvF,KAAKo2B,kBAAkBpzB,KAAK,IAAIwuB,IAAI,IAAIjsB,EAAE,EAAEA,EAAEvF,KAAKo2B,kBAAkB9xB,OAAO,EAAEiB,IAAIvF,KAAKmgB,UAAUnd,KAAKhD,KAAKyF,eAAeib,YAAY,CAAC5Q,MAAM,QAAQ/M,EAAE/C,KAAK8P,aAAQ,IAAS/M,EAAEA,EAAE/C,KAAK4K,WAAWkF,MAAMxN,SAAStC,KAAK4K,WAAWypB,UAAU/xB,SAASnB,QAAQ0L,SAAS7M,KAAK6M,SAASxJ,QAAQmK,MAAM,IAAI2Y,GAAG,CAACnmB,KAAKo2B,kBAAkB7wB,GAAGvF,KAAKo2B,kBAAkB7wB,EAAE,KAAK0Y,kBAAiB,EAAGC,QAAQle,KAAKke,QAAQC,MAAMne,KAAK4K,WAAWwH,GAAG4F,cAAchY,KAAKm2B,QAAQn2B,KAAKszB,SAAStzB,KAAK4K,WAAWgqB,aAAaqD,GAAG,CAAC9X,UAAUngB,KAAKmgB,cAAc7e,EAAEjB,UAAUmzB,eAAe,WAAW,IAAI1zB,EAAEE,KAAKA,KAAKuN,YAAYpE,SAAO,SAAWpJ,EAAEuB,GAAG,OAAOxB,EAAEs2B,kBAAkB90B,GAAGf,IAAIR,EAAEiB,EAAElB,EAAE8K,WAAWypB,UAAU3yB,MAAMV,EAAEjB,EAAEkB,EAAEnB,EAAE8K,WAAWypB,UAAU3yB,MAAMT,MAAMjB,KAAKq2B,aAAar1B,EAAEhB,KAAK+rB,QAAQ/rB,KAAK4K,WAAWypB,UAAU3yB,MAAMV,EAAEhB,KAAKq2B,aAAap1B,EAAEjB,KAAKisB,QAAQjsB,KAAK4K,WAAWypB,UAAU3yB,MAAMT,EAAEjB,KAAKu2B,cAAcv2B,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,QAAQrD,KAAK6M,SAASxJ,SAAS/B,EAAEjB,UAAUkrB,eAAe,WAAWiG,GAAGnwB,IAAIrB,KAAKs2B,eAAet2B,KAAK4K,WAAWypB,UAAU/xB,SAAStC,KAAKq2B,cAAc,IAAIr2B,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,SAASrD,KAAKy2B,aAAan1B,EAAEjB,UAAUo2B,UAAU,WAAWjF,GAAGjwB,SAASvB,KAAKs0B,cAAct0B,KAAKs2B,eAAet2B,KAAK4K,WAAWypB,UAAU/xB,UAAU,IAAIxC,EAAEY,KAAK0yB,MAAMpzB,KAAKs0B,cAAcrzB,EAAEjB,KAAKs0B,cAActzB,GAAGhB,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,QAAQrD,KAAKs2B,eAAe/1B,IAAIP,KAAK4K,WAAWypB,UAAU/xB,SAAStB,EAAEhB,KAAKs0B,cAAc9yB,UAAUd,KAAK+C,IAAI3D,GAAGE,KAAK4K,WAAWypB,UAAU/xB,SAASrB,EAAEjB,KAAKs0B,cAAc9yB,UAAUd,KAAKgD,IAAI5D,KAAKwB,EAAEjB,UAAUozB,gBAAgB,WAAW,IAAI,IAAI3zB,EAAEC,EAAE,EAAEA,EAAEC,KAAKo2B,kBAAkB9xB,OAAO,EAAEvE,IAAIC,KAAKmgB,UAAUpgB,GAAG+P,MAAM,QAAQhQ,EAAEE,KAAK8P,aAAQ,IAAShQ,EAAEA,EAAEE,KAAK4K,WAAWkF,MAAM9P,KAAKmgB,UAAUpgB,GAAGuC,SAASvB,KAAKf,KAAKs2B,gBAAgBt2B,KAAKmgB,UAAUpgB,GAAG8M,SAAS7M,KAAKu2B,cAAcv2B,KAAKmgB,UAAUpgB,GAAGyN,MAAMD,YAAY,CAACvN,KAAKo2B,kBAAkBr2B,GAAGC,KAAKo2B,kBAAkBr2B,EAAE,KAAKuB,EAAvuF,CAA0uF+xB,IAAI4E,GAAG,SAASn4B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEuP,WAAW,GAAGvP,EAAEogB,UAAU,GAAGpgB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAEC,KAAKsB,EAAExB,EAAEqgB,UAAUngB,KAAKmgB,UAAU7e,EAAEtB,KAAKmgB,UAAUhX,SAAO,SAAWrJ,EAAEwB,GAAGvB,EAAEuP,WAAWhO,GAAG,CAACmN,KAAKlJ,EAAE4G,UAAU2D,MAAM/P,EAAE6K,WAAWkF,MAAMtB,SAASzL,EAAE8I,WAAWvJ,SAAS,IAAIkvB,GAAGhkB,MAAMzL,EAAE6J,KAAKgM,MAAM,eAAetW,EAAEjB,UAAU4H,OAAO,WAAW,IAAInI,EAAEE,KAAKA,KAAKmgB,UAAUhX,SAAS,SAASpJ,EAAEuB,GAAGxB,EAAEwP,WAAWhO,GAAGwO,MAAMhQ,EAAE8K,WAAWkF,MAAMhQ,EAAEwP,WAAWhO,GAAGgB,SAASvC,EAAEuC,SAASxC,EAAEwP,WAAWhO,GAAGuL,SAAS9M,EAAE8M,SAAS/M,EAAEwP,WAAWhO,GAAGiM,YAAYxN,EAAEyN,MAAMD,YAAYzN,EAAE4F,cAAc8J,cAAc1P,EAAEwP,WAAWhO,QAAQA,EAAhpB,CAAmpBL,GAAGi3B,GAAG,SAASp4B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEuP,WAAW,GAAGvP,EAAEu0B,cAAc,IAAI9C,GAAGzxB,EAAEo4B,cAAc,IAAI3G,GAAGzxB,EAAEq4B,oBAAoB,IAAI5G,GAAGzxB,EAAEs2B,aAAa,IAAI7E,GAAGzxB,EAAEs4B,WAAW,IAAI7G,GAAGzxB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEgB,EAAEf,EAAEgB,EAAEwC,EAAErC,EAAEqG,OAAE,IAASzJ,IAAIA,EAAE,IAAIE,KAAKs4B,OAAOx4B,EAAEw4B,OAAOt4B,KAAKu4B,OAAO,QAAQx4B,EAAED,EAAEy4B,cAAS,IAASx4B,EAAEA,EAAE,IAAIyxB,GAAGxxB,KAAK6M,SAAS,QAAQvL,EAAExB,EAAE+M,gBAAW,IAASvL,EAAEA,EAAE,IAAIqwB,GAAG3xB,KAAKkZ,eAAe,QAAQpX,EAAEhC,EAAEoZ,sBAAiB,IAASpX,GAAGA,EAAE9B,KAAKmZ,aAAa,QAAQrW,EAAEhD,EAAEqZ,oBAAe,IAASrW,GAAGA,EAAE9C,KAAKw4B,QAAQ,QAAQz2B,EAAEjC,EAAE04B,eAAU,IAASz2B,EAAEA,EAAE,EAAE/B,KAAKy4B,OAAO,QAAQ11B,EAAEjD,EAAE44B,aAAQ,IAAS31B,EAAEA,EAAE,IAAIyuB,GAAG,EAAE,GAAGxxB,KAAK4Z,UAAU9Z,EAAE8Z,UAAU5Z,KAAK6Z,aAAa,QAAQtU,EAAEzF,EAAE+Z,oBAAe,IAAStU,EAAEA,EAAE,EAAEvF,KAAK2Z,UAAU7Z,EAAE6Z,UAAU3Z,KAAK8P,MAAMhQ,EAAEgQ,MAAM9P,KAAK0B,MAAM,QAAQ6H,EAAE,QAAQrG,EAAEpD,EAAE4B,aAAQ,IAASwB,EAAEA,EAAElD,KAAK2J,WAAWmoB,mBAAmB3wB,eAAU,IAASoI,EAAEA,EAAE,IAAIioB,GAAG,EAAE,GAAGxxB,KAAKoC,MAAMtC,EAAEsC,MAAMpC,KAAKqC,OAAOvC,EAAEuC,QAAQlC,OAAOC,eAAekB,EAAEjB,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKy4B,QAAQl4B,IAAI,SAAST,GAAG,GAAGA,EAAEkB,EAAE,GAAG,GAAGlB,EAAEmB,EAAE,GAAG,EAAE,MAAM,IAAIotB,GAAG,6DAA6DruB,KAAKy4B,OAAOl4B,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAIT,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAU4H,OAAO,WAAW,GAAGjI,KAAKs4B,SAAQ,IAAKt4B,KAAKs4B,OAAOjL,OAAO,CAACrtB,KAAKq4B,WAAW93B,IAAIP,KAAK0B,MAAMV,EAAEhB,KAAK4K,WAAWypB,UAAU3yB,MAAMV,EAAEhB,KAAK0B,MAAMT,EAAEjB,KAAK4K,WAAWypB,UAAU3yB,MAAMT,GAAGjB,KAAK24B,wBAAwB,IAAI,IAAI74B,EAAE,EAAEC,EAAE,EAAEA,EAAEC,KAAKy4B,OAAOz3B,EAAEjB,IAAI,IAAI,IAAIuB,EAAE,EAAEA,EAAEtB,KAAKy4B,OAAOx3B,EAAEK,IAAItB,KAAK44B,iBAAiB94B,EAAEC,EAAEuB,GAAGxB,MAAMwB,EAAEjB,UAAUs4B,sBAAsB,WAAW,GAAG34B,KAAKsP,WAAWhL,SAAStE,KAAKy4B,OAAOz3B,EAAEhB,KAAKy4B,OAAOx3B,EAAE,CAACjB,KAAKsP,WAAW,GAAG,IAAI,IAAIxP,EAAE,EAAEA,EAAEE,KAAKy4B,OAAOz3B,EAAEhB,KAAKy4B,OAAOx3B,EAAEnB,IAAIE,KAAKsP,WAAWxP,GAAG,CAAC2O,KAAKlJ,EAAEwG,OAAOyC,SAASzL,EAAE8I,WAAWiE,MAAM,GAAGxN,SAAS,IAAIkvB,GAAGpY,MAAMpZ,KAAKs4B,OAAOlf,MAAMhX,MAAM,EAAEC,OAAO,KAAKf,EAAEjB,UAAUu4B,iBAAiB,SAAS94B,EAAEC,EAAEuB,GAAG,IAAIQ,EAAEgB,EAAEf,EAAE/B,KAAKsP,WAAWxP,GAAG0O,SAASxO,KAAK4K,WAAW6pB,GAAG1xB,EAAE+I,SAAS/I,EAAE8I,WAAW7L,KAAKsP,WAAWxP,GAAGgQ,MAAM,QAAQhO,EAAE9B,KAAK8P,aAAQ,IAAShO,EAAEA,EAAE9B,KAAK4K,WAAWkF,MAAM9P,KAAKsP,WAAWxP,GAAGsZ,MAAMpZ,KAAKs4B,OAAOlf,MAAMpZ,KAAKsP,WAAWxP,GAAGsC,OAAO,QAAQU,EAAE9C,KAAKoC,aAAQ,IAASU,EAAEA,EAAE9C,KAAKs4B,OAAOl2B,OAAO1B,KAAKoM,IAAI9M,KAAKq4B,WAAWr3B,GAAGhB,KAAKsP,WAAWxP,GAAGuC,QAAQ,QAAQN,EAAE/B,KAAKqC,cAAS,IAASN,EAAEA,EAAE/B,KAAKs4B,OAAOj2B,QAAQ3B,KAAKoM,IAAI9M,KAAKq4B,WAAWp3B,GAAGjB,KAAKsP,WAAWxP,GAAG0E,MAAMxE,KAAKs4B,OAAO9zB,MAAMxE,KAAKsP,WAAWxP,GAAGoZ,eAAelZ,KAAKkZ,iBAAiBlZ,KAAKq4B,WAAWr3B,EAAE,EAAEhB,KAAKsP,WAAWxP,GAAGqZ,aAAanZ,KAAKmZ,eAAenZ,KAAKq4B,WAAWp3B,EAAE,EAAEjB,KAAKsP,WAAWxP,GAAG+M,SAAS7M,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,QAAQrD,KAAK6M,SAASxJ,QAAQrD,KAAKsP,WAAWxP,GAAG0Z,OAAOxZ,KAAKs4B,OAAO9e,OAAOxZ,KAAKsP,WAAWxP,GAAGyY,MAAMvY,KAAKw4B,QAAQx4B,KAAKsP,WAAWxP,GAAG8Z,UAAU5Z,KAAK4Z,UAAU5Z,KAAKsP,WAAWxP,GAAG+Z,aAAa7Z,KAAK6Z,aAAa7Z,KAAKsP,WAAWxP,GAAG6Z,UAAU3Z,KAAK2Z,UAAU3Z,KAAK64B,wBAAwB/4B,EAAEC,EAAEuB,GAAGtB,KAAK0F,cAAc8J,cAAcxP,KAAKsP,WAAWxP,KAAKwB,EAAEjB,UAAUw4B,wBAAwB,SAAS/4B,EAAEC,EAAEuB,GAAGtB,KAAKq2B,aAAa91B,IAAIP,KAAKu4B,OAAOv3B,EAAEhB,KAAK4K,WAAWypB,UAAU3yB,MAAMV,EAAEhB,KAAKu4B,OAAOt3B,EAAEjB,KAAK4K,WAAWypB,UAAU3yB,MAAMT,GAAGuwB,GAAGnwB,IAAIrB,KAAKm4B,cAAcn4B,KAAK4K,WAAWypB,UAAU/xB,SAAStC,KAAKq2B,cAAcr2B,KAAKo4B,oBAAoB73B,IAAIP,KAAKsP,WAAWxP,GAAGsC,MAAM,GAAGpC,KAAKy4B,OAAOz3B,EAAE,GAAGhB,KAAKsP,WAAWxP,GAAGuC,OAAO,GAAGrC,KAAKy4B,OAAOx3B,EAAE,IAAIuwB,GAAGjwB,SAASvB,KAAKm4B,cAAcn4B,KAAKm4B,cAAcn4B,KAAKo4B,qBAAqBp4B,KAAKo4B,oBAAoB73B,IAAIR,EAAEC,KAAKsP,WAAWxP,GAAGsC,MAAMd,EAAEtB,KAAKsP,WAAWxP,GAAGuC,QAAQmvB,GAAGnwB,IAAIrB,KAAKsP,WAAWxP,GAAGwC,SAAStC,KAAKm4B,cAAcn4B,KAAKo4B,qBAAqB,IAAIp4B,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,SAASrD,KAAK84B,wBAAwBh5B,IAAIwB,EAAEjB,UAAUy4B,wBAAwB,SAASh5B,GAAG0xB,GAAGjwB,SAASvB,KAAKs0B,cAAct0B,KAAKsP,WAAWxP,GAAGwC,SAAStC,KAAK4K,WAAWypB,UAAU/xB,UAAU,IAAIvC,EAAEW,KAAK0yB,MAAMpzB,KAAKs0B,cAAcrzB,EAAEjB,KAAKs0B,cAActzB,GAAGhB,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,QAAQrD,KAAKsP,WAAWxP,GAAGwC,SAAS/B,IAAIP,KAAK4K,WAAWypB,UAAU/xB,SAAStB,EAAEhB,KAAKs0B,cAAc9yB,UAAUd,KAAK+C,IAAI1D,GAAGC,KAAK4K,WAAWypB,UAAU/xB,SAASrB,EAAEjB,KAAKs0B,cAAc9yB,UAAUd,KAAKgD,IAAI3D,KAAKuB,EAA36H,CAA86HL,GAAG83B,GAAG,SAASj5B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEi5B,cAAc,GAAGj5B,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEgB,EAAEf,EAAEgB,EAAEwC,EAAErC,EAAEqG,EAAEkB,EAAExH,EAAEoI,EAAEC,EAAE,GAAGtL,KAAKgN,KAAK,QAAQjN,EAAED,EAAEkN,YAAO,IAASjN,EAAEA,EAAE,GAAGC,KAAKiS,KAAK,QAAQ3Q,EAAExB,EAAEmS,YAAO,IAAS3Q,EAAEA,EAAE,OAAOtB,KAAKiN,SAAS,QAAQnL,EAAEhC,EAAEmN,gBAAW,IAASnL,EAAEA,EAAE,GAAG9B,KAAKoC,MAAM,QAAQU,EAAEhD,EAAEsC,aAAQ,IAASU,EAAEA,EAAE,IAAI9C,KAAKqC,OAAO,QAAQN,EAAEjC,EAAEuC,cAAS,IAASN,EAAEA,EAAE,IAAI/B,KAAKu4B,OAAO,QAAQx1B,EAAEjD,EAAEy4B,cAAS,IAASx1B,EAAEA,EAAE,IAAIyuB,GAAGxxB,KAAK4X,MAAM,QAAQrS,EAAEzF,EAAE8X,aAAQ,IAASrS,EAAEA,EAAE,UAAUvF,KAAKwa,WAAW,QAAQtX,EAAEpD,EAAE0a,kBAAa,IAAStX,EAAEA,EAAE,CAAC,GAAG,IAAI,IAAI,KAAKlD,KAAKkN,eAAe,QAAQ3D,EAAEzJ,EAAEoN,sBAAiB,IAAS3D,EAAEA,EAAE,EAAEvJ,KAAKmN,cAAc,QAAQ1C,EAAE3K,EAAEqN,qBAAgB,IAAS1C,EAAEA,EAAE,EAAEzK,KAAKwZ,OAAO,QAAQvW,EAAEnD,EAAE0Z,cAAS,IAASvW,GAAGA,EAAEjD,KAAK6M,SAAS,QAAQxB,EAAEvL,EAAE+M,gBAAW,IAASxB,EAAEA,EAAE,IAAIsmB,GAAG3xB,KAAKw4B,QAAQ,QAAQltB,EAAExL,EAAE04B,eAAU,IAASltB,EAAEA,EAAE,EAAEtL,KAAKkQ,YAAYpQ,EAAEoQ,YAAYlQ,KAAKi5B,aAAan5B,EAAEm5B,aAAaj5B,KAAKk5B,cAAcp5B,EAAEo5B,cAAcl5B,KAAKwa,WAAWlW,OAAO,GAAG,EAAE,MAAM,IAAI+pB,GAAG,qDAAqD,GAAGruB,KAAKkN,eAAe,GAAG,EAAE,MAAM,IAAImhB,GAAG,sDAAsD/sB,EAAEjB,UAAUiG,MAAM,WAAWtG,KAAKsP,WAAW,CAACb,KAAKlJ,EAAEyG,KAAKwC,SAASzL,EAAE8I,WAAWvJ,SAAS,IAAIkvB,GAAG1hB,MAAM9P,KAAK4K,WAAWkF,MAAM9C,KAAK,GAAGiF,KAAKjS,KAAKiS,KAAKhF,SAASjN,KAAKiN,SAASsN,OAAO,CAACC,WAAWxa,KAAKwa,WAAWI,OAAO5a,KAAKi5B,aAAape,QAAQ7a,KAAKk5B,eAAe1f,OAAOxZ,KAAKwZ,SAASlY,EAAEjB,UAAU4H,OAAO,WAAW,IAAInI,EAAEC,EAAEC,KAAKgN,OAAOhN,KAAKsP,WAAWQ,MAAM9P,KAAK4K,WAAWkF,MAAM9P,KAAKsP,WAAWd,SAASxO,KAAK4K,WAAW6pB,GAAG1xB,EAAE+I,SAAS/I,EAAE8I,WAAW7L,KAAKsP,WAAWtC,KAAKhN,KAAKgN,OAAOhN,KAAKg5B,cAAch5B,KAAKm5B,OAAOn5B,KAAKsP,WAAWtC,KAAKhN,KAAKsP,WAAWrC,SAASjN,KAAKiN,SAASjN,KAAKsP,WAAWsI,MAAM5X,KAAK4X,MAAM5X,KAAKsP,WAAWY,YAAYlQ,KAAKkQ,YAAYlQ,KAAKsP,WAAWpC,eAAelN,KAAKkN,eAAelN,KAAKsP,WAAWnC,cAAcnN,KAAKmN,cAAcnN,KAAKsP,WAAWzC,SAAS,QAAQ9M,EAAEC,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,SAAS,QAAQvD,EAAEE,KAAK6M,gBAAW,IAAS/M,OAAE,EAAOA,EAAEuD,gBAAW,IAAStD,EAAEA,EAAE,EAAEC,KAAKsP,WAAWiJ,MAAMvY,KAAKw4B,QAAQhH,GAAGnwB,IAAIrB,KAAKsP,WAAWhN,SAAStC,KAAK4K,WAAWypB,UAAU/xB,SAAStC,KAAKu4B,QAAQv4B,KAAK0F,cAAc8J,cAAcxP,KAAKsP,YAAYtP,KAAKg5B,cAAch5B,KAAKgN,OAAO1L,EAAEjB,UAAU84B,KAAK,WAAW,IAAIr5B,EAAEE,KAAK,GAAGA,KAAKiN,SAASjN,KAAKqC,OAAO,MAAM,GAAG,IAAI,IAAItC,EAAE,GAAGuB,EAAE,EAAEQ,EAAE,EAAEgB,EAAE9C,KAAKgN,KAAKI,MAAM,MAAMtL,EAAEgB,EAAEwB,OAAOxC,IAAI,IAAI,IAAIC,EAAEe,EAAEhB,GAAGsL,MAAM,KAAKC,iBAAiBtN,EAAEuB,GAAG,IAAIQ,EAAE/B,EAAEA,EAAEuE,OAAO,IAAIvE,EAAEA,EAAEuE,OAAO,GAAGA,OAAO,EAAE,IAAI,IAAIhD,EAAE,OAAOQ,EAAEwC,QAAQxE,EAAEmN,SAASnN,EAAEqN,eAAerN,EAAEsC,MAAMrC,EAAEiD,KAAK1B,GAAGvB,EAAEA,EAAEuE,OAAO,GAAGxC,EAAE/B,IAAI,CAAC,KAAKgD,EAAE,EAAEwC,EAAExD,EAAEgB,EAAEwC,EAAEjB,OAAOvB,IAAI,CAAC,IAAIG,EAAEqC,EAAExC,GAAG,IAAIzB,GAAGtB,KAAKiN,SAASjN,KAAKkN,gBAAgBlN,KAAKqC,OAAO,OAAOtC,EAAEgxB,KAAK,MAAMhxB,EAAEiD,KAAKE,GAAG,OAAOnD,EAAEgxB,KAAK,OAAOzvB,EAApqF,CAAuqFL,GAAGm4B,GAAG,SAASt5B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEw4B,OAAO,IAAI/G,GAAGzxB,EAAE8M,SAAS,IAAI8kB,GAAG5xB,EAAEy4B,QAAQ,EAAEz4B,EAAEu0B,cAAc,IAAI9C,GAAGzxB,EAAEs2B,aAAa,IAAI7E,GAAGzxB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEgB,EAAEf,EAAEmB,EAAEqG,EAAEvJ,KAAKwN,MAAM1N,EAAE0N,MAAMxN,KAAK4X,MAAM9X,EAAE8X,MAAM5X,KAAKoC,MAAM,QAAQrC,EAAED,EAAEsC,aAAQ,IAASrC,EAAEA,EAAE,EAAEC,KAAKqC,OAAO,QAAQf,EAAExB,EAAEuC,cAAS,IAASf,EAAEA,EAAE,EAAEtB,KAAKyN,OAAO,QAAQ3L,EAAEhC,EAAE2N,cAAS,IAAS3L,EAAEA,EAAE,EAAE9B,KAAKu4B,OAAO,QAAQz1B,EAAEhD,EAAEy4B,cAAS,IAASz1B,EAAEA,EAAE9C,KAAKu4B,OAAOv4B,KAAK6M,SAAS,QAAQ9K,EAAEjC,EAAE+M,gBAAW,IAAS9K,EAAEA,EAAE/B,KAAK6M,SAAS7M,KAAKw4B,QAAQ,QAAQt1B,EAAEpD,EAAE04B,eAAU,IAASt1B,EAAEA,EAAElD,KAAKw4B,QAAQx4B,KAAK8P,MAAMhQ,EAAEgQ,MAAM9P,KAAKsP,WAAW,CAACb,KAAKlJ,EAAE2G,KAAK4D,MAAM,QAAQvG,EAAEvJ,KAAK8P,aAAQ,IAASvG,EAAEA,EAAEvJ,KAAK4K,WAAWkF,MAAMtB,SAASxO,KAAK4K,WAAW6pB,GAAG1xB,EAAE+I,SAAS/I,EAAE8I,WAAWvJ,SAAS,IAAIkvB,GAAGpvB,MAAM,EAAEC,OAAO,EAAEoL,OAAO,EAAEmK,MAAM,GAAGpK,MAAMxN,KAAKwN,QAAQlM,EAAEjB,UAAU4H,OAAO,WAAW,IAAInI,EAAEE,KAAKsP,WAAWd,SAASxO,KAAK4K,WAAW6pB,GAAG1xB,EAAE+I,SAAS/I,EAAE8I,WAAW7L,KAAKsP,WAAWQ,MAAM,QAAQhQ,EAAEE,KAAK8P,aAAQ,IAAShQ,EAAEA,EAAEE,KAAK4K,WAAWkF,MAAM9P,KAAKsP,WAAW9B,MAAMxN,KAAKwN,MAAMxN,KAAKsP,WAAWlN,MAAMpC,KAAKoC,MAAM1B,KAAKoM,IAAI9M,KAAK4K,WAAWypB,UAAU3yB,MAAMV,GAAGhB,KAAKsP,WAAWjN,OAAOrC,KAAKqC,OAAO3B,KAAKoM,IAAI9M,KAAK4K,WAAWypB,UAAU3yB,MAAMT,GAAGjB,KAAKsP,WAAWsI,MAAM5X,KAAK4X,MAAM5X,KAAKsP,WAAWzC,SAAS7M,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,QAAQrD,KAAK6M,SAASxJ,QAAQrD,KAAKsP,WAAWiJ,MAAMvY,KAAKw4B,QAAQx4B,KAAKsP,WAAW7B,OAAOzN,KAAKyN,OAAO/M,KAAKoM,IAAIpM,KAAKkC,IAAI5C,KAAK4K,WAAWypB,UAAU3yB,MAAMV,EAAEhB,KAAK4K,WAAWypB,UAAU3yB,MAAMT,IAAIjB,KAAK64B,0BAA0B74B,KAAK0F,cAAc8J,cAAcxP,KAAKsP,aAAahO,EAAEjB,UAAUw4B,wBAAwB,WAAW74B,KAAKq2B,aAAa91B,IAAIP,KAAKu4B,OAAOv3B,EAAEhB,KAAK4K,WAAWypB,UAAU3yB,MAAMV,EAAEhB,KAAKu4B,OAAOt3B,EAAEjB,KAAK4K,WAAWypB,UAAU3yB,MAAMT,GAAGuwB,GAAGnwB,IAAIrB,KAAKsP,WAAWhN,SAAStC,KAAK4K,WAAWypB,UAAU/xB,SAAStC,KAAKq2B,cAAc,IAAIr2B,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,SAASrD,KAAK84B,2BAA2Bx3B,EAAEjB,UAAUy4B,wBAAwB,WAAWtH,GAAGjwB,SAASvB,KAAKs0B,cAAct0B,KAAKsP,WAAWhN,SAAStC,KAAK4K,WAAWypB,UAAU/xB,UAAU,IAAIxC,EAAEY,KAAK0yB,MAAMpzB,KAAKs0B,cAAcrzB,EAAEjB,KAAKs0B,cAActzB,GAAGhB,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,QAAQrD,KAAKsP,WAAWhN,SAAS/B,IAAIP,KAAK4K,WAAWypB,UAAU/xB,SAAStB,EAAEhB,KAAKs0B,cAAc9yB,UAAUd,KAAK+C,IAAI3D,GAAGE,KAAK4K,WAAWypB,UAAU/xB,SAASrB,EAAEjB,KAAKs0B,cAAc9yB,UAAUd,KAAKgD,IAAI5D,KAAKwB,EAAtxE,CAAyxEL,GAAGo4B,GAAG,CAAC,QAAQ,cAAc,WAAW,WAAW,YAAY,UAAU,YAAY,WAAW,UAAU,SAASC,GAAG,SAASx5B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEu0B,cAAc,IAAI9C,GAAGzxB,EAAEs2B,aAAa,IAAI7E,GAAGzxB,EAAEw5B,UAAS,EAAGx5B,EAAEy5B,SAAQ,EAAGz5B,EAAE05B,kBAAkB,SAAS35B,GAAG,UAAUA,EAAE2O,OAAO1O,EAAEw5B,UAAS,EAAGx5B,EAAE2b,MAAMge,oBAAoB,QAAQ35B,EAAE05B,qBAAqB15B,EAAE45B,sBAAsB,WAAWN,GAAGlwB,SAAO,SAAWrJ,GAAGkH,OAAO0yB,oBAAoB55B,EAAEC,EAAE45B,0BAA0B55B,EAAE2b,OAAO3b,EAAEw5B,UAAUx5B,EAAE2b,MAAMke,QAAQ75B,EAAE,OAAOA,EAAEuB,EAAExB,GAAGK,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAK65B,SAASt5B,IAAI,SAAST,GAAGE,KAAK65B,QAAQ/5B,EAAEE,KAAK0b,QAAQ1b,KAAK0b,MAAMoe,OAAOh6B,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,OAAO,CAACC,IAAI,WAAW,OAAON,KAAK+5B,OAAOx5B,IAAI,SAAST,GAAGE,KAAK+5B,MAAMj6B,EAAEE,KAAK0b,QAAQ1b,KAAK0b,MAAMse,KAAKl6B,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKu5B,UAAU/4B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKw5B,SAASh5B,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAEuB,EAAEQ,EAAEgB,EAAEf,EAAEmB,EAAEqG,EAAEkB,EAAExH,EAAEoI,EAAErL,KAAK0b,MAAM5b,EAAE4b,MAAM1b,KAAKoC,MAAM,QAAQrC,EAAED,EAAEsC,aAAQ,IAASrC,EAAEA,EAAEC,KAAK0b,MAAMC,WAAW3b,KAAKqC,OAAO,QAAQf,EAAExB,EAAEuC,cAAS,IAASf,EAAEA,EAAEtB,KAAK0b,MAAME,YAAY5b,KAAKu4B,OAAO,QAAQz2B,EAAEhC,EAAEy4B,cAAS,IAASz2B,EAAEA,EAAE,IAAI0vB,GAAGxxB,KAAK6M,SAAS,QAAQ/J,EAAEhD,EAAE+M,gBAAW,IAAS/J,EAAEA,EAAE,IAAI6uB,GAAG3xB,KAAKkZ,eAAe,QAAQnX,EAAEjC,EAAEoZ,sBAAiB,IAASnX,GAAGA,EAAE/B,KAAKmZ,aAAa,QAAQjW,EAAEpD,EAAEqZ,oBAAe,IAASjW,GAAGA,EAAElD,KAAKw4B,QAAQ,QAAQjvB,EAAEzJ,EAAE04B,eAAU,IAASjvB,EAAEA,EAAE,EAAEvJ,KAAK4Z,UAAU9Z,EAAE8Z,UAAU5Z,KAAK6Z,aAAa,QAAQpP,EAAE3K,EAAE+Z,oBAAe,IAASpP,EAAEA,EAAE,EAAEzK,KAAK2Z,UAAU7Z,EAAE6Z,UAAU3Z,KAAK8P,MAAMhQ,EAAEgQ,MAAM9P,KAAKwE,MAAM1E,EAAE0E,MAAMxE,KAAK65B,QAAQ,QAAQ52B,EAAEnD,EAAEg6B,cAAS,IAAS72B,EAAEA,EAAE,EAAEjD,KAAK+5B,MAAM,QAAQ1uB,EAAEvL,EAAEk6B,YAAO,IAAS3uB,GAAGA,EAAErL,KAAKsP,WAAW,CAACb,KAAKlJ,EAAE6G,MAAMoC,SAASzL,EAAE8I,WAAWiE,MAAM,GAAGxN,SAAS,IAAIkvB,GAAG9V,MAAM1b,KAAK0b,MAAMtZ,MAAMpC,KAAKoC,MAAMC,OAAOrC,KAAKqC,SAASf,EAAEjB,UAAUu5B,KAAK,WAAW,IAAI95B,EAAEE,KAAK,IAAIA,KAAK0b,QAAQ1b,KAAK0b,MAAM6N,aAAavpB,KAAKu5B,WAAU,IAAKv5B,KAAKw5B,SAAS,CAAC,GAAGx5B,KAAKw5B,QAAQ,OAAOx5B,KAAKw5B,SAAQ,OAAQx5B,KAAK0b,MAAMke,OAAO55B,KAAK0b,MAAMse,KAAKh6B,KAAK+5B,MAAM/5B,KAAK0b,MAAMoe,OAAO95B,KAAK65B,QAAQ75B,KAAK0b,MAAMU,iBAAiB,QAAQpc,KAAKy5B,mBAAmBz5B,KAAKu5B,UAAS,EAAG,IAAIx5B,EAAEC,KAAK0b,MAAMke,YAAO,IAAS75B,GAAGA,EAAE4pB,OAAK,WAAa0P,GAAGlwB,SAAS,SAASpJ,GAAG,OAAOiH,OAAOoV,iBAAiBrc,EAAED,EAAE65B,+BAA+Br4B,EAAEjB,UAAUqG,KAAK,WAAW1G,KAAKu5B,WAAWv5B,KAAK0b,MAAMlV,QAAQxG,KAAK0b,MAAMue,YAAY,EAAEj6B,KAAK0b,MAAMge,oBAAoB,QAAQ15B,KAAKy5B,mBAAmBz5B,KAAKu5B,UAAS,EAAGv5B,KAAKw5B,SAAQ,IAAKl4B,EAAEjB,UAAUmG,MAAM,WAAWxG,KAAKu5B,WAAU,IAAKv5B,KAAKw5B,UAAUx5B,KAAK0b,MAAMlV,QAAQxG,KAAKw5B,SAAQ,IAAKl4B,EAAEjB,UAAU4H,OAAO,WAAW,IAAInI,EAAEE,KAAK0b,OAAO1b,KAAK0b,MAAM6N,WAAWvpB,KAAKsP,WAAWd,SAASxO,KAAK4K,WAAW6pB,GAAG1xB,EAAE+I,SAAS/I,EAAE8I,WAAW7L,KAAKsP,WAAWQ,MAAM,QAAQhQ,EAAEE,KAAK8P,aAAQ,IAAShQ,EAAEA,EAAEE,KAAK4K,WAAWkF,MAAM9P,KAAKsP,WAAWoM,MAAM1b,KAAK0b,MAAM1b,KAAKsP,WAAWlN,MAAMpC,KAAKoC,MAAM1B,KAAKoM,IAAI9M,KAAK4K,WAAWypB,UAAU3yB,MAAMV,GAAGhB,KAAKsP,WAAWjN,OAAOrC,KAAKqC,OAAO3B,KAAKoM,IAAI9M,KAAK4K,WAAWypB,UAAU3yB,MAAMT,GAAGjB,KAAKsP,WAAW9K,MAAMxE,KAAKwE,MAAMxE,KAAKsP,WAAW4J,eAAelZ,KAAKkZ,iBAAiBlZ,KAAK4K,WAAWypB,UAAU3yB,MAAMV,EAAE,EAAEhB,KAAKsP,WAAW6J,aAAanZ,KAAKmZ,eAAenZ,KAAK4K,WAAWypB,UAAU3yB,MAAMT,EAAE,EAAEjB,KAAKsP,WAAWzC,SAAS7M,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,QAAQrD,KAAK6M,SAASxJ,QAAQrD,KAAKsP,WAAWiJ,MAAMvY,KAAKw4B,QAAQx4B,KAAKsP,WAAWsK,UAAU5Z,KAAK4Z,UAAU5Z,KAAKsP,WAAWuK,aAAa7Z,KAAK6Z,aAAa7Z,KAAKsP,WAAWqK,UAAU3Z,KAAK2Z,UAAU3Z,KAAK64B,0BAA0B74B,KAAK0F,cAAc8J,cAAcxP,KAAKsP,cAAchO,EAAEjB,UAAUw4B,wBAAwB,WAAW74B,KAAKq2B,aAAa91B,IAAIP,KAAKu4B,OAAOv3B,EAAEhB,KAAK4K,WAAWypB,UAAU3yB,MAAMV,EAAEhB,KAAKu4B,OAAOt3B,EAAEjB,KAAK4K,WAAWypB,UAAU3yB,MAAMT,GAAGuwB,GAAGnwB,IAAIrB,KAAKsP,WAAWhN,SAAStC,KAAK4K,WAAWypB,UAAU/xB,SAAStC,KAAKq2B,cAAc,IAAIr2B,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,SAASrD,KAAK84B,2BAA2Bx3B,EAAEjB,UAAUy4B,wBAAwB,WAAWtH,GAAGjwB,SAASvB,KAAKs0B,cAAct0B,KAAKsP,WAAWhN,SAAStC,KAAK4K,WAAWypB,UAAU/xB,UAAU,IAAIxC,EAAEY,KAAK0yB,MAAMpzB,KAAKs0B,cAAcrzB,EAAEjB,KAAKs0B,cAActzB,GAAGhB,KAAK4K,WAAWypB,UAAUxnB,SAASxJ,QAAQrD,KAAKsP,WAAWhN,SAAS/B,IAAIP,KAAK4K,WAAWypB,UAAU/xB,SAAStB,EAAEhB,KAAKs0B,cAAc9yB,UAAUd,KAAK+C,IAAI3D,GAAGE,KAAK4K,WAAWypB,UAAU/xB,SAASrB,EAAEjB,KAAKs0B,cAAc9yB,UAAUd,KAAKgD,IAAI5D,KAAKwB,EAAEjB,UAAUyK,eAAe,YAAW,IAAK9K,KAAKkJ,QAAQlJ,KAAK0G,QAAQpF,EAAEjB,UAAU6J,UAAU,WAAWlK,KAAK0G,QAAQpF,EAAv2I,CAA02IL,GAAGi5B,GAAG,SAASp6B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEiO,MAAM,GAAGjO,EAAEo6B,UAAS,EAAGp6B,EAAEq6B,eAAe,GAAGr6B,EAAEs6B,OAAO,GAAGt6B,EAAEs3B,gBAAgB,EAAEt3B,EAAEu3B,iBAAiB,EAAEv3B,EAAEuP,WAAW,GAAGvP,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAEC,KAAKsB,EAAExB,EAAEw6B,UAAUx4B,EAAEhC,EAAEy6B,aAAaz3B,EAAEhD,EAAEib,QAAQhZ,EAAEjC,EAAEoO,UAAUnL,EAAEjD,EAAEqO,WAAW5I,EAAEzF,EAAEgQ,MAAM5M,EAAEpD,EAAE0Z,OAAO,GAAGxZ,KAAKs6B,UAAUh5B,EAAEtB,KAAK+a,QAAQjY,EAAE9C,KAAKkO,UAAU,MAAMnM,EAAEA,EAAE/B,KAAK+a,QAAQ7M,UAAUlO,KAAK2J,WAAWmoB,mBAAmB9wB,EAAEhB,KAAKmO,WAAW,MAAMpL,EAAEA,EAAE/C,KAAK+a,QAAQ5M,WAAWnO,KAAK2J,WAAWmoB,mBAAmB7wB,EAAEjB,KAAK8P,MAAMvK,EAAEvF,KAAKwZ,OAAO,MAAMtW,GAAGA,EAAElD,KAAKw6B,WAAWx6B,KAAKs6B,UAAUzqB,OAAOsZ,eAAerpB,GAAG,OAAOA,EAAE+K,OAAO/I,MAAM9B,KAAKw6B,WAAW,MAAM,IAAInM,GAAG,yBAAyBruB,KAAKoC,MAAM,EAAEpC,KAAKqC,OAAO,EAAErC,KAAKs6B,UAAUzqB,OAAO1G,SAAS,SAASrJ,GAAGC,EAAEqC,MAAM1B,KAAKkC,IAAI7C,EAAEqC,MAAMtC,EAAEsC,OAAOrC,EAAEsC,OAAO3B,KAAKkC,IAAI7C,EAAEsC,OAAOvC,EAAEuC,WAAWrC,KAAKy6B,kBAAkBn5B,EAAEjB,UAAU4H,OAAO,WAAW,IAAInI,EAAEE,KAAKA,KAAK44B,mBAAmB54B,KAAKsP,WAAWnG,SAAS,SAASpJ,GAAG,OAAOD,EAAE4F,cAAc8J,cAAczP,OAAOuB,EAAEjB,UAAUo6B,eAAe,WAAW,IAAI36B,EAAEE,MAAK,IAAKA,KAAKw6B,WAAWE,UAAU16B,KAAKw4B,QAAQx4B,KAAKw6B,WAAWhC,QAAQx4B,KAAK2Z,UAAU3Z,KAAKw6B,WAAWG,UAAU36B,KAAKs6B,UAAUH,UAAUn6B,KAAKm6B,UAAS,EAAGn6B,KAAKw6B,WAAWH,OAAO3qB,MAAI,SAAW5P,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEiB,KAAK0O,MAAI,SAAW5P,EAAEC,GAAG,OAAOD,EAAEmB,EAAElB,EAAEkB,KAAKkI,SAAO,SAAWpJ,GAAG,OAAOD,EAAE86B,aAAa76B,OAAOC,KAAK66B,qBAAqB76B,KAAK44B,mBAAmB54B,KAAKo6B,eAAe,IAAI94B,EAAEjB,UAAUw6B,kBAAkB,WAAW,IAAI/6B,EAAEC,EAAEC,KAAKA,KAAKgO,MAAMhO,KAAKw6B,WAAWM,KAAKxsB,KAAK,SAASxO,GAAG,OAAOC,EAAEg7B,iBAAiBj7B,MAAME,KAAKsP,WAAWtM,KAAK,CAACyL,KAAKlJ,EAAE0G,QAAQ6D,MAAM,QAAQhQ,EAAEE,KAAK8P,aAAQ,IAAShQ,EAAEA,EAAEE,KAAK4K,WAAWkF,MAAMtB,SAASxO,KAAK4K,WAAW6pB,GAAG1xB,EAAE+I,SAAS/I,EAAE8I,WAAWvJ,SAAS,IAAIkvB,GAAGzW,QAAQ/a,KAAK+a,QAAQjN,QAAQ,CAAC1L,MAAMpC,KAAKoC,MAAM8L,UAAUlO,KAAKkO,UAAUC,WAAWnO,KAAKmO,YAAYH,MAAMhO,KAAKgO,MAAMkC,YAAYtB,EAAEE,OAAO0K,OAAOxZ,KAAKwZ,UAAUlY,EAAEjB,UAAUu6B,aAAa,SAAS96B,GAAG,IAAIC,EAAEuB,EAAEtB,KAAK8B,EAAE,CAAC2M,KAAKlJ,EAAE0G,QAAQ6D,MAAM,QAAQ/P,EAAEC,KAAK8P,aAAQ,IAAS/P,EAAEA,EAAEC,KAAK4K,WAAWkF,MAAMtB,SAASxO,KAAK4K,WAAW6pB,GAAG1xB,EAAE+I,SAAS/I,EAAE8I,WAAWvJ,SAAS,IAAIkvB,GAAGzW,QAAQ/a,KAAK+a,QAAQjN,QAAQ,CAAC1L,MAAMtC,EAAEsC,MAAM8L,UAAUlO,KAAKkO,UAAUC,WAAWnO,KAAKmO,YAAYH,MAAMlO,EAAEg7B,KAAKxsB,KAAG,SAAWxO,GAAG,OAAOwB,EAAEy5B,iBAAiBj7B,MAAMoQ,YAAYtB,EAAEE,OAAO0K,OAAOxZ,KAAKwZ,QAAQ1X,EAAEkM,MAAM7E,kBAAkBpJ,EAAE+B,GAAGR,EAAE0M,MAAM1M,EAAEc,OAAOtC,EAAEmB,EAAEP,KAAK8a,MAAM1Z,EAAEhC,EAAEsC,QAAQtC,EAAEkB,EAAEc,EAAEhC,EAAEsC,OAAOrC,KAAKC,KAAKsP,WAAWtM,KAAKlB,GAAG9B,KAAKq6B,OAAOr3B,KAAKlD,IAAIwB,EAAEjB,UAAU06B,iBAAiB,SAASj7B,GAAG,OAAOE,KAAKo6B,eAAet6B,KAAKE,KAAKo6B,eAAet6B,GAAGE,KAAKs6B,UAAUU,SAAS3tB,QAAM,SAAWtN,EAAEuB,GAAG,OAAOxB,GAAGwB,EAAE25B,SAASn7B,EAAEwB,EAAE25B,SAAS,EAAEl7B,IAAI,IAAIC,KAAKo6B,eAAet6B,IAAIwB,EAAEjB,UAAUu4B,iBAAiB,WAAW,IAAI94B,EAAEE,KAAKA,KAAKq3B,gBAAgBr3B,KAAKkO,UAAUlO,KAAK4K,WAAWypB,UAAU3yB,MAAMV,EAAEhB,KAAKs3B,iBAAiBt3B,KAAKmO,WAAWnO,KAAK4K,WAAWypB,UAAU3yB,MAAMT,EAAEjB,KAAKgQ,UAAUhQ,KAAKoC,MAAMpC,KAAKq3B,gBAAgBr3B,KAAKiQ,WAAWjQ,KAAKqC,OAAOrC,KAAKs3B,iBAAiBt3B,KAAKsP,WAAWnG,SAAO,SAAWpJ,EAAEuB,GAAG,IAAIQ,EAAE,GAAG/B,EAAE+P,MAAM,QAAQhO,EAAEhC,EAAEgQ,aAAQ,IAAShO,EAAEA,EAAEhC,EAAE8K,WAAWkF,MAAMhQ,EAAEq6B,SAAS,CAAC,IAAIr3B,EAAEhD,EAAEu6B,OAAO/4B,GAAGvB,EAAEuC,SAAS/B,IAAIT,EAAE8K,WAAWypB,UAAU/xB,SAAStB,EAAElB,EAAEkQ,UAAU,GAAGlN,EAAE9B,EAAE8B,EAAEV,MAAM,GAAGtC,EAAEu3B,gBAAgBv3B,EAAE8K,WAAWypB,UAAU/xB,SAASrB,EAAEnB,EAAEmQ,WAAW,GAAGnN,EAAE7B,EAAE6B,EAAET,OAAO,GAAGvC,EAAEw3B,uBAAuBv3B,EAAEuC,SAASvB,KAAKjB,EAAE8K,WAAWypB,UAAU/xB,UAAUvC,EAAE+N,QAAQI,UAAUpO,EAAEu3B,gBAAgBt3B,EAAE+N,QAAQK,WAAWrO,EAAEw3B,iBAAiBv3B,EAAE4Z,UAAU7Z,EAAE6Z,UAAU5Z,EAAEwY,MAAMzY,EAAE04B,YAAYl3B,EAA/3G,CAAk4GL,GAAGi6B,GAAG,SAASp7B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEiO,MAAM,GAAGjO,EAAEs3B,gBAAgB,EAAEt3B,EAAEu3B,iBAAiB,EAAEv3B,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAEuB,EAAEtB,KAAK8B,EAAEhC,EAAEkO,MAAMlL,EAAEhD,EAAEib,QAAQhZ,EAAEjC,EAAEoO,UAAUhL,EAAEpD,EAAEqO,WAAW5E,EAAEzJ,EAAEsC,MAAMqI,EAAE3K,EAAEgQ,MAAM7M,EAAEnD,EAAE04B,QAAQntB,EAAEvL,EAAE6Z,UAAUrO,EAAExL,EAAE0Z,OAAO1X,EAAEsL,MAAM,MAAMjE,SAAS,SAASrJ,GAAGA,EAAEsN,MAAM,KAAKjE,SAAS,SAASrJ,GAAG,OAAOA,EAAEq7B,OAAO72B,OAAO,EAAEhD,EAAE0M,MAAMhL,KAAK0K,OAAO5N,IAAI,WAAWE,KAAK+a,QAAQjY,EAAE9C,KAAKoC,MAAMmH,EAAEvJ,KAAKkO,UAAU,MAAMnM,EAAEA,EAAE/B,KAAK+a,QAAQ7M,UAAUlO,KAAK2J,WAAWmoB,mBAAmB9wB,EAAEhB,KAAKmO,WAAW,MAAMjL,EAAEA,EAAElD,KAAK+a,QAAQ5M,WAAWnO,KAAK2J,WAAWmoB,mBAAmB7wB,EAAEjB,KAAK8P,MAAMrF,EAAEzK,KAAKqC,OAAO3B,KAAKqN,KAAK/N,KAAKgO,MAAM1J,OAAOtE,KAAKoC,OAAOpC,KAAKw4B,QAAQv1B,EAAEjD,KAAK2Z,UAAUtO,EAAErL,KAAKsP,WAAW,CAACb,KAAKlJ,EAAE0G,QAAQ6D,MAAM,QAAQ/P,EAAEC,KAAK8P,aAAQ,IAAS/P,EAAEA,EAAEC,KAAK4K,WAAWkF,MAAMtB,SAASxO,KAAK4K,WAAW6pB,GAAG1xB,EAAE+I,SAAS/I,EAAE8I,WAAWvJ,SAAS,IAAIkvB,GAAGzW,QAAQ/a,KAAK+a,QAAQjN,QAAQ,CAAC1L,MAAMpC,KAAKoC,MAAM8L,UAAUlO,KAAKkO,UAAUC,WAAWnO,KAAKmO,YAAYH,MAAMhO,KAAKgO,MAAMkC,YAAYtB,EAAEE,OAAO0K,OAAOlO,GAAGtL,KAAK44B,oBAAoBt3B,EAAEjB,UAAU4H,OAAO,WAAWjI,KAAK44B,mBAAmB54B,KAAK0F,cAAc8J,cAAcxP,KAAKsP,aAAahO,EAAEjB,UAAUu4B,iBAAiB,WAAW,IAAI94B,EAAEE,KAAKq3B,gBAAgBr3B,KAAKkO,UAAUlO,KAAK4K,WAAWypB,UAAU3yB,MAAMV,EAAEhB,KAAKs3B,iBAAiBt3B,KAAKmO,WAAWnO,KAAK4K,WAAWypB,UAAU3yB,MAAMT,EAAEjB,KAAKgQ,UAAUhQ,KAAKoC,MAAMpC,KAAKq3B,gBAAgBr3B,KAAKiQ,WAAWjQ,KAAKqC,OAAOrC,KAAKs3B,iBAAiBt3B,KAAKsP,WAAWQ,MAAM,QAAQhQ,EAAEE,KAAK8P,aAAQ,IAAShQ,EAAEA,EAAEE,KAAK4K,WAAWkF,MAAM9P,KAAKsP,WAAWhN,SAASvB,KAAKf,KAAK4K,WAAWypB,UAAU/xB,UAAUtC,KAAKsP,WAAWqK,UAAU3Z,KAAK2Z,UAAU3Z,KAAKsP,WAAWiJ,MAAMvY,KAAKw4B,QAAQx4B,KAAKsP,WAAWxB,QAAQI,UAAUlO,KAAKq3B,gBAAgBr3B,KAAKsP,WAAWxB,QAAQK,WAAWnO,KAAKs3B,kBAAkBh2B,EAAxvD,CAA2vDL,GAAGm6B,GAAG,SAASt7B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAEs7B,eAAe,KAAKt7B,EAAEu7B,WAAW,IAAIvqB,IAAIhR,EAAEw7B,iBAAiB,KAAKx7B,EAAEy7B,QAAO,EAAGz7B,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAED,EAAEu7B,eAAer7B,KAAKq7B,eAAet7B,GAAGuB,EAAEjB,UAAU4H,OAAO,WAAW,OAAOjI,KAAKu7B,kBAAkBv7B,KAAKw7B,SAASx7B,KAAKu7B,iBAAiBE,UAAUz7B,KAAKwF,YAAYk2B,YAAW,IAAK17B,KAAKu7B,iBAAiBI,YAAW,IAAK37B,KAAKu7B,iBAAiBvB,KAAKh6B,KAAKu7B,iBAAiB,KAAKv7B,KAAKq7B,eAAe/C,OAAOt4B,KAAKu7B,iBAAiBjD,SAASh3B,EAAEjB,UAAUu7B,aAAa,SAAS97B,EAAEC,EAAEuB,GAAG,YAAO,IAASvB,IAAIA,EAAE,WAAWD,EAAE+7B,UAAU,MAAMv6B,EAAEA,EAAExB,EAAE+7B,UAAU77B,KAAKs7B,WAAW/6B,IAAIR,EAAE,IAAI+7B,GAAGh8B,IAAIE,MAAMsB,EAAEjB,UAAU07B,cAAc,SAASj8B,GAAG,QAAG,IAASA,IAAIA,EAAE,YAAW,IAAKE,KAAKkJ,OAAO,CAAC,IAAG,IAAKlJ,KAAKs7B,WAAWrqB,IAAInR,GAAG,MAAM,IAAIuuB,GAAG,uBAAuB5pB,OAAO3E,EAAE,qBAAqBE,KAAKg8B,gBAAgBh8B,KAAKu7B,iBAAiBv7B,KAAKs7B,WAAWh7B,IAAIR,KAAKwB,EAAEjB,UAAUmG,MAAM,WAAWxG,KAAKw7B,QAAO,GAAIl6B,EAAEjB,UAAUoG,OAAO,WAAWzG,KAAKw7B,QAAO,GAAIl6B,EAAEjB,UAAU27B,cAAc,WAAW,OAAOh8B,KAAKu7B,mBAAmBv7B,KAAKu7B,iBAAiBU,QAAQj8B,KAAKu7B,iBAAiB,KAAKv7B,KAAKw7B,QAAO,IAAKl6B,EAAEjB,UAAU67B,mBAAmB,SAASp8B,GAAG,YAAO,IAASA,IAAIA,EAAE,WAAW,OAAOE,KAAKu7B,kBAAkBv7B,KAAKs7B,WAAWh7B,IAAIR,IAAIE,KAAKs7B,WAAWh7B,IAAIR,KAAKE,KAAKu7B,kBAAkBj6B,EAAEjB,UAAU87B,SAAS,WAAW,OAAOn8B,KAAKw7B,QAAQl6B,EAAr3C,CAAw3C2B,GAAG64B,GAAG,WAAW,SAASh8B,EAAEA,GAAGE,KAAKo8B,QAAQ,KAAKp8B,KAAKq8B,YAAW,EAAGr8B,KAAKs8B,aAAa,EAAEt8B,KAAKu8B,UAAU,EAAEv8B,KAAKw8B,WAAW18B,EAAE,OAAOK,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKo8B,SAAS57B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKq8B,YAAY77B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,OAAO,CAACC,IAAI,WAAW,OAAON,KAAKw8B,WAAWxC,MAAMx5B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKw8B,YAAYh8B,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAU47B,MAAM,WAAWj8B,KAAKs8B,aAAa,EAAEt8B,KAAKu8B,UAAU,EAAEv8B,KAAKq8B,YAAW,GAAIv8B,EAAEO,UAAUo7B,UAAU,SAAS37B,GAAGE,KAAKq8B,YAAW,EAAGr8B,KAAKu8B,WAAW,EAAEv8B,KAAKw8B,WAAWX,YAAY77B,KAAKu8B,UAAU,EAAEv8B,KAAKs8B,aAAat8B,KAAKs8B,aAAa,IAAIt8B,KAAKw8B,WAAWC,QAAQn4B,OAAO,EAAEtE,KAAKs8B,aAAa,EAAEt8B,KAAKq8B,WAAW,IAAIr8B,KAAKs8B,cAAct8B,KAAKo8B,QAAQp8B,KAAKw8B,WAAWC,QAAQz8B,KAAKs8B,cAAct8B,KAAKu8B,WAAWz8B,GAAGA,EAAv+B,GAA4+B48B,GAAG,CAAC,QAAQ,cAAc,WAAW,WAAW,YAAY,UAAU,YAAY,WAAW,UAAU,SAASC,GAAG,SAAS78B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAE2K,eAAc,EAAG3K,EAAE68B,OAAO,GAAG78B,EAAE88B,iBAAiB,IAAI9rB,IAAIhR,EAAEw5B,UAAS,EAAGx5B,EAAEy5B,SAAQ,EAAGz5B,EAAE+8B,kBAAkB,SAASh9B,GAAG,UAAUA,EAAE2O,OAAO1O,EAAEw5B,UAAS,EAAGx5B,EAAEg9B,aAAarD,oBAAoB,QAAQ35B,EAAE+8B,qBAAqB/8B,EAAE45B,sBAAsB,WAAW+C,GAAGvzB,SAAO,SAAWrJ,GAAGkH,OAAO0yB,oBAAoB55B,EAAEC,EAAE45B,0BAA0B55B,EAAEi9B,aAAav2B,SAAS1G,EAAEg9B,cAAch9B,EAAEw5B,UAAUx5B,EAAEg9B,aAAanD,QAAQ75B,EAAE,OAAOA,EAAEuB,EAAExB,GAAGK,OAAOC,eAAekB,EAAEjB,UAAU,cAAc,CAACC,IAAI,WAAW,OAAON,KAAK+8B,cAAcv8B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAK65B,SAASt5B,IAAI,SAAST,GAAGE,KAAK65B,QAAQ/5B,EAAEE,KAAK+8B,eAAe/8B,KAAK+8B,aAAajD,OAAOh6B,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,OAAO,CAACC,IAAI,WAAW,OAAON,KAAK+5B,OAAOx5B,IAAI,SAAST,GAAGE,KAAK+5B,MAAMj6B,EAAEE,KAAK+8B,eAAe/8B,KAAK+8B,aAAa/C,KAAKl6B,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKu5B,UAAU/4B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKw5B,SAASh5B,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAEC,KAAKsB,OAAE,IAASxB,EAAE,GAAGA,EAAEgC,EAAER,EAAE04B,KAAKl3B,EAAExB,EAAEw4B,OAAO95B,KAAKg9B,aAAa,IAAIC,aAAa,YAAYj9B,KAAKg9B,aAAaE,OAAOR,GAAGvzB,SAAO,SAAWrJ,GAAG,OAAOkH,OAAOoV,iBAAiBtc,EAAEC,EAAE45B,0BAA0B35B,KAAK65B,QAAQ,MAAM/2B,EAAEA,EAAE,EAAE9C,KAAK+5B,MAAM,MAAMj4B,GAAGA,GAAGR,EAAEjB,UAAU88B,SAAS,SAASr9B,EAAEC,GAAGD,EAAEm6B,YAAY,IAAIn6B,EAAEm6B,YAAY,GAAGn6B,EAAEg6B,OAAO,MAAM/5B,EAAEA,EAAEC,KAAK65B,QAAQ/5B,EAAE85B,QAAQt4B,EAAEjB,UAAU+8B,eAAe,SAASt9B,EAAEC,QAAG,IAASA,IAAIA,EAAE,WAAW,IAAIuB,EAAExB,EAAEu9B,YAAYr9B,KAAK68B,iBAAiBt8B,IAAIR,EAAEuB,GAAG,IAAIQ,EAAE9B,KAAKg9B,aAAaM,yBAAyBh8B,GAAGQ,EAAEy7B,QAAQv9B,KAAKg9B,aAAaQ,aAAax9B,KAAK48B,OAAO55B,KAAKlB,IAAIR,EAAEjB,UAAUo9B,gBAAgB,SAAS39B,EAAEC,EAAEuB,GAAGtB,KAAK0G,OAAO1G,KAAK+8B,aAAa/8B,KAAK68B,iBAAiBv8B,IAAIR,GAAGE,KAAK+5B,MAAM,MAAMh6B,EAAEA,EAAEC,KAAK+5B,MAAM/5B,KAAK65B,QAAQ,MAAMv4B,EAAEA,EAAEtB,KAAK65B,SAASv4B,EAAEjB,UAAUu5B,KAAK,WAAW,GAAG55B,KAAK+8B,gBAAgB/8B,KAAKu5B,WAAU,IAAKv5B,KAAKw5B,SAAS,CAAC,GAAGx5B,KAAKw5B,QAAQ,OAAOx5B,KAAKw5B,SAAQ,OAAQx5B,KAAK+8B,aAAanD,OAAO55B,KAAK+8B,aAAajD,OAAO95B,KAAK65B,QAAQ75B,KAAK+8B,aAAa/C,KAAKh6B,KAAK+5B,MAAM/5B,KAAK+8B,aAAa3gB,iBAAiB,QAAQpc,KAAK88B,mBAAmB98B,KAAKu5B,UAAS,EAAG,YAAYv5B,KAAKg9B,aAAaE,OAAOl9B,KAAK+8B,aAAanD,SAASt4B,EAAEjB,UAAUqG,KAAK,WAAW1G,KAAKu5B,WAAWv5B,KAAK+8B,aAAav2B,QAAQxG,KAAK+8B,aAAa9C,YAAY,EAAEj6B,KAAK+8B,aAAarD,oBAAoB,QAAQ15B,KAAK88B,mBAAmB98B,KAAKu5B,UAAS,EAAGv5B,KAAKw5B,SAAQ,IAAKl4B,EAAEjB,UAAUmG,MAAM,WAAWxG,KAAKu5B,WAAU,IAAKv5B,KAAKw5B,UAAUx5B,KAAK+8B,aAAav2B,QAAQxG,KAAKw5B,SAAQ,IAAKl4B,EAAEjB,UAAUyK,eAAe,YAAW,IAAK9K,KAAKkJ,QAAQlJ,KAAK0G,QAAQpF,EAAEjB,UAAU6J,UAAU,WAAWlK,KAAK0G,OAAO1G,KAAKg9B,aAAaU,SAASp8B,EAAxyF,CAA2yF2B,GAAG06B,GAAG,WAAW,SAAS79B,EAAEA,GAAG,IAAIC,EAAEuB,EAAEtB,KAAKA,KAAKkC,OAAO,KAAKlC,KAAKmC,QAAQ,KAAKnC,KAAK49B,SAAQ,EAAG59B,KAAKoZ,MAAMtZ,EAAEsZ,MAAMpZ,KAAKwZ,OAAO,QAAQzZ,EAAED,EAAE0Z,cAAS,IAASzZ,GAAGA,EAAEC,KAAKwE,MAAM1E,EAAE0E,MAAMxE,KAAKwE,QAAQxE,KAAKkC,OAAOlC,KAAKwE,MAAMpC,MAAMpC,KAAKmC,QAAQnC,KAAKwE,MAAMnC,QAAQ,IAAIP,EAAE,WAAW,IAAIhC,EAAEC,EAAEuB,EAAEY,OAAO,QAAQpC,EAAEwB,EAAEY,cAAS,IAASpC,EAAEA,EAAEwB,EAAE8X,MAAMC,aAAa/X,EAAEa,QAAQ,QAAQpC,EAAEuB,EAAEa,eAAU,IAASpC,EAAEA,EAAEuB,EAAE8X,MAAME,cAAchY,EAAEs8B,SAAQ,GAAI59B,KAAKoZ,MAAMC,aAAavX,IAAI9B,KAAKoZ,MAAMgD,iBAAiB,QAAQ,WAAW,OAAOta,OAAO,OAAO3B,OAAOC,eAAeN,EAAEO,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKkC,QAAQ1B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKmC,SAAS3B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAK49B,SAASp9B,YAAW,EAAGC,cAAa,IAAKX,EAAh1B,IAAs1B,SAASA,GAAGA,EAAEA,EAAEmY,UAAU,GAAG,YAAYnY,EAAEA,EAAE6L,cAAc,GAAG,gBAA9D,CAA+EshB,KAAKA,GAAG,KAAQ,IAAC4Q,GAAG,SAAS/9B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAE2K,eAAc,EAAG3K,EAAEqC,MAAM,IAAIrC,EAAEsC,OAAO,IAAItC,EAAE0N,OAAO,GAAG1N,EAAE+9B,cAAa,EAAG/9B,EAAEw4B,OAAO,IAAI/G,GAAGzxB,EAAEwoB,SAAQ,EAAGxoB,EAAE+pB,MAAM/pB,EAAE4F,aAAamkB,MAAM/pB,EAAEiqB,MAAMjqB,EAAE4F,aAAaqkB,MAAMjqB,EAAEuC,SAAS,IAAIkvB,GAAGzxB,EAAEqB,SAAS,IAAIowB,GAAGzxB,EAAEg+B,kBAAiB,EAAGh+B,EAAEi+B,OAAO,CAAC57B,MAAM,EAAEC,OAAO,EAAEoL,OAAO,EAAE8qB,OAAO,IAAI/G,IAAIzxB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAU4J,KAAK,SAASnK,GAAG,IAAIC,EAAED,EAAE2O,KAAKnN,EAAExB,EAAEuC,OAAOP,EAAEhC,EAAE2N,OAAO3K,EAAEhD,EAAEg+B,aAAa/7B,EAAEjC,EAAEsC,MAAMW,EAAEjD,EAAEy4B,OAAOv4B,KAAKyO,KAAK1O,EAAEC,KAAKoC,MAAM,MAAML,EAAEA,EAAE/B,KAAKoC,MAAMpC,KAAKqC,OAAO,MAAMf,EAAEA,EAAEtB,KAAKqC,OAAOrC,KAAKyN,OAAO,MAAM3L,EAAEA,EAAE9B,KAAKyN,OAAOzN,KAAK89B,aAAa,MAAMh7B,EAAEA,EAAE9C,KAAK89B,aAAa99B,KAAKu4B,OAAO,MAAMx1B,EAAEA,EAAE/C,KAAKu4B,QAAQj3B,EAAEjB,UAAU4H,OAAO,WAAWjI,KAAK0B,QAAQ8vB,GAAGnwB,IAAIrB,KAAKsC,SAAStC,KAAK4K,WAAWypB,UAAU/xB,SAAStC,KAAKg+B,OAAOzF,QAAQv4B,KAAK+9B,iBAAiB/9B,KAAKuoB,QAAQvoB,KAAKuoB,SAAQ,EAAGvoB,KAAK8pB,MAAMmU,oBAAoBj+B,KAAKk+B,2BAA2Bl+B,KAAKm+B,gCAAgCn+B,KAAK89B,cAAc99B,KAAKgqB,MAAMoU,WAAWp+B,KAAKq+B,2BAA2Br+B,KAAKs+B,gCAAgCt+B,KAAKu+B,UAAUv+B,KAAK+9B,kBAAkB/9B,KAAKuoB,SAASvoB,KAAKu+B,UAAUv+B,KAAKw+B,WAAWx+B,KAAKuoB,SAASvoB,KAAKw+B,aAAal9B,EAAEjB,UAAUqB,MAAM,WAAW1B,KAAKg+B,OAAO57B,MAAMpC,KAAKoC,MAAMpC,KAAK4K,WAAWypB,UAAU3yB,MAAMV,EAAEhB,KAAKg+B,OAAO37B,OAAOrC,KAAKoC,MAAMpC,KAAK4K,WAAWypB,UAAU3yB,MAAMT,EAAEjB,KAAKg+B,OAAOzF,OAAOv3B,EAAEhB,KAAKu4B,OAAOv3B,EAAEhB,KAAK4K,WAAWypB,UAAU3yB,MAAMV,EAAEhB,KAAKg+B,OAAOzF,OAAOt3B,EAAEjB,KAAKu4B,OAAOt3B,EAAEjB,KAAK4K,WAAWypB,UAAU3yB,MAAMT,EAAEjB,KAAKg+B,OAAOvwB,OAAOzN,KAAKyN,OAAO/M,KAAKkC,IAAIlC,KAAKoM,IAAI9M,KAAK4K,WAAWypB,UAAU3yB,MAAMV,GAAGN,KAAKoM,IAAI9M,KAAK4K,WAAWypB,UAAU3yB,MAAMT,KAAKK,EAAEjB,UAAU69B,yBAAyB,WAAWl+B,KAAKyO,OAAOwe,GAAGhV,YAAYjY,KAAKuoB,QAAQmJ,GAAG1xB,KAAK8pB,MAAMyC,mBAAmBvrB,EAAEhB,KAAKsC,SAAStB,EAAEhB,KAAKg+B,OAAO57B,MAAM,EAAEpC,KAAKsC,SAAStB,EAAEhB,KAAKg+B,OAAO57B,MAAM,IAAIsvB,GAAG1xB,KAAK8pB,MAAMyC,mBAAmBtrB,EAAEjB,KAAKsC,SAASrB,EAAEjB,KAAKg+B,OAAO37B,OAAO,EAAErC,KAAKsC,SAASrB,EAAEjB,KAAKg+B,OAAO37B,OAAO,KAAKf,EAAEjB,UAAU89B,6BAA6B,WAAWn+B,KAAKyO,OAAOwe,GAAGthB,gBAAgB6lB,GAAGjwB,SAASvB,KAAKoB,SAASpB,KAAKsC,SAAStC,KAAK8pB,MAAMyC,oBAAoBvsB,KAAKuoB,QAAQvoB,KAAKoB,SAASI,WAAWxB,KAAKg+B,OAAOvwB,SAASnM,EAAEjB,UAAUg+B,yBAAyB,WAAW,GAAGr+B,KAAKyO,OAAOwe,GAAGhV,UAAU,IAAI,IAAInY,EAAE,EAAEC,EAAEC,KAAKgqB,MAAMyU,aAAa3+B,EAAEC,EAAEuE,OAAOxE,IAAI,CAAC,IAAIwB,EAAEvB,EAAED,GAAGgC,EAAER,EAAEirB,mBAAmBzpB,EAAExB,EAAEmM,OAAO,GAAGzN,KAAKuoB,QAAQ,OAAOvoB,KAAKuoB,QAAQvoB,KAAKsC,SAAStB,EAAEhB,KAAKg+B,OAAO57B,MAAM,GAAGN,EAAEd,EAAE8B,EAAE9B,GAAGhB,KAAKsC,SAAStB,EAAEhB,KAAKg+B,OAAO57B,MAAM,GAAGN,EAAEd,EAAE8B,EAAE9B,GAAGhB,KAAKsC,SAASrB,EAAEjB,KAAKg+B,OAAO37B,OAAO,GAAGP,EAAEb,EAAE6B,EAAE7B,GAAGjB,KAAKsC,SAASrB,EAAEjB,KAAKg+B,OAAO37B,OAAO,GAAGP,EAAEb,EAAE6B,EAAE7B,IAAIK,EAAEjB,UAAUi+B,6BAA6B,WAAW,GAAGt+B,KAAKyO,OAAOwe,GAAGthB,cAAc,IAAI,IAAI7L,EAAE,EAAEC,EAAEC,KAAKgqB,MAAMyU,aAAa3+B,EAAEC,EAAEuE,OAAOxE,IAAI,CAAC,IAAIwB,EAAEvB,EAAED,GAAGgC,EAAER,EAAEirB,mBAAmBzpB,EAAExB,EAAEmM,OAAO,GAAGzN,KAAKuoB,QAAQ,OAAOiJ,GAAGjwB,SAASvB,KAAKoB,SAASpB,KAAKsC,SAASR,GAAG9B,KAAKuoB,QAAQvoB,KAAKoB,SAASI,WAAWxB,KAAKg+B,OAAOvwB,OAAO/M,KAAKkC,IAAIE,EAAE9B,EAAE8B,EAAE7B,KAAKK,EAAxwF,CAA2wF2B,GAAGy7B,GAAG,SAAS5+B,GAAG,SAASwB,IAAI,IAAIvB,EAAE,OAAOD,GAAGA,EAAEyE,MAAMvE,KAAKqE,YAAYrE,KAAK,OAAOD,EAAE4+B,cAAa,EAAG5+B,EAAEuC,SAAS,IAAIkvB,GAAGzxB,EAAE,OAAOA,EAAEuB,EAAExB,GAAGwB,EAAEjB,UAAUiG,MAAM,WAAWtG,KAAK81B,OAAO91B,KAAK+K,kBAAkB6zB,YAAYt9B,EAAEjB,UAAU4H,OAAO,WAAWjI,KAAK2F,aAAamkB,MAAMmU,oBAAmB,IAAKj+B,KAAK2+B,eAAenN,GAAG3vB,MAAM7B,KAAKsC,SAASkvB,GAAGnwB,IAAIrB,KAAKsC,SAAStC,KAAK81B,OAAOzB,UAAU/xB,SAASkvB,GAAG9vB,MAAM1B,KAAKsC,SAAStC,KAAK2F,aAAamkB,MAAMyC,mBAAmB,EAAEvsB,KAAK81B,OAAOppB,QAAQmyB,QAAQC,IAAI,uBAAuBr6B,OAAOzE,KAAKsC,SAAStB,EAAE,SAASyD,OAAOzE,KAAKsC,SAASrB,EAAE,OAAOjB,KAAK2+B,aAAa3+B,KAAK2F,aAAamkB,MAAMmU,mBAAmB38B,EAAjnB,CAAonBkzB,ICAt/oK10B,GAAE,WAAW,SAASA,EAAEA,EAAEC,QAAG,IAASD,IAAIA,EAAE,QAAG,IAASC,IAAIA,EAAE,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,EAAE,OAAOI,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKC,IAAIM,IAAI,SAAST,GAAGE,KAAKC,GAAGH,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKE,IAAIK,IAAI,SAAST,GAAGE,KAAKE,GAAGJ,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAOI,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAG,GAAGS,KAAKE,IAAIZ,KAAKE,GAAG,KAAKM,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,aAAab,KAAKa,WAAW,IAAIf,GAAGA,EAAEgB,KAAKd,KAAKa,WAAWb,OAAOQ,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEC,GAAGC,KAAKC,GAAGH,EAAEE,KAAKE,GAAGH,GAAGD,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAInB,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKC,KAAKH,EAAEkB,GAAGhB,KAAKE,KAAKJ,EAAEmB,GAAGnB,EAAEO,UAAUc,MAAM,WAAW,OAAO,IAAIrB,EAAEE,KAAKC,GAAGD,KAAKE,KAAKJ,EAAEO,UAAUe,SAAS,SAAStB,GAAG,OAAOY,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAGH,EAAEkB,EAAE,GAAGN,KAAKE,IAAIZ,KAAKE,GAAGJ,EAAEmB,EAAE,KAAKnB,EAAEuB,IAAI,SAASvB,EAAEC,EAAE+B,GAAG,OAAOhC,EAAES,IAAIR,EAAEiB,EAAEc,EAAEd,EAAEjB,EAAEkB,EAAEa,EAAEb,GAAGnB,GAAGA,EAAEyB,SAAS,SAASzB,EAAEC,EAAE+B,GAAG,OAAOhC,EAAES,IAAIR,EAAEiB,EAAEc,EAAEd,EAAEjB,EAAEkB,EAAEa,EAAEb,GAAGnB,GAAGA,EAAEgB,KAAK,SAAShB,EAAEC,GAAG,OAAO,IAAIA,EAAEyB,UAAU1B,EAAES,IAAI,EAAE,GAAGT,EAAES,IAAIR,EAAEiB,EAAEjB,EAAEyB,UAAUzB,EAAEkB,EAAElB,EAAEyB,WAAW1B,GAAGA,EAAE2B,OAAO,SAAS3B,EAAEC,GAAG,OAAOD,EAAES,KAAKR,EAAEkB,EAAElB,EAAEiB,GAAGhB,KAAKc,KAAKhB,EAAEA,IAAIA,EAAE4B,MAAM,SAAS5B,EAAEC,EAAE+B,GAAG,OAAOhC,EAAES,IAAIR,EAAEiB,EAAEc,EAAE/B,EAAEkB,EAAEa,GAAGhC,GAAGA,EAAE6B,IAAI,SAAS7B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEiB,EAAElB,EAAEmB,EAAElB,EAAEkB,GAAGnB,EAAE8B,MAAM,SAAS9B,EAAEC,GAAG,OAAOD,EAAEkB,EAAEjB,EAAEkB,EAAEnB,EAAEmB,EAAElB,EAAEiB,GAAGlB,EAAE+B,MAAM,SAAS/B,EAAEC,GAAG,OAAOD,EAAES,IAAIG,KAAKmB,MAAM9B,EAAEiB,GAAGN,KAAKmB,MAAM9B,EAAEkB,IAAInB,GAAGA,EAAh9C,IAAs9C,WAAW,SAASC,EAAEA,EAAE+B,EAAER,EAAEwB,GAAG9C,KAAKgC,UAAU,IAAIlC,GAAEE,KAAKiC,QAAQ,IAAInC,GAAEE,KAAKkC,OAAO,EAAElC,KAAKmC,QAAQ,EAAEnC,KAAKO,IAAIR,EAAE+B,EAAER,EAAEwB,GAAG3C,OAAOC,eAAeL,EAAEM,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,GAAGT,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEE,KAAKgC,UAAUf,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,GAAGV,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIP,KAAKgC,UAAUhB,EAAElB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,EAAEhB,KAAKkC,QAAQ1B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,EAAEjB,KAAKmC,SAAS3B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKkC,QAAQ3B,IAAI,SAAST,GAAGE,KAAKkC,OAAOpC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKmC,SAAS5B,IAAI,SAAST,GAAGE,KAAKmC,QAAQrC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKiC,QAAQ1B,IAAIP,KAAKgB,EAAEhB,KAAKoC,MAAM,EAAEpC,KAAKiB,EAAEjB,KAAKqC,OAAO,GAAGrC,KAAKiC,SAASzB,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAUE,IAAI,SAAST,EAAEC,EAAE+B,EAAER,GAAGtB,KAAKgC,UAAUzB,IAAIT,EAAEC,GAAGC,KAAKkC,OAAOJ,EAAE9B,KAAKmC,QAAQb,GAAGvB,EAAEM,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKsC,SAASpB,OAAOpB,EAAEwC,WAAWtC,KAAKoC,QAAQtC,EAAEsC,OAAOpC,KAAKqC,SAASvC,EAAEuC,QAAQtC,EAAEM,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,EAAEnB,EAAEsC,MAAMtC,EAAEuC,SAAStC,EAAEM,UAAUkC,SAAS,SAASzC,GAAG,OAAOE,KAAKwC,IAAI1C,EAAEkB,GAAGhB,KAAKgB,EAAElB,EAAE0C,IAAIxC,KAAKyC,IAAI3C,EAAEmB,GAAGjB,KAAKiB,EAAEnB,EAAE2C,IAAI1C,EAAEM,UAAUqC,SAAS,SAASZ,GAAG,OAAOA,aAAa/B,EAAE+B,EAAEU,IAAIxC,KAAKwC,IAAIV,EAAEd,GAAGhB,KAAKgB,GAAGc,EAAEW,IAAIzC,KAAKyC,IAAIX,EAAEb,GAAGjB,KAAKiB,EAAEa,aAAahC,MAAKgC,EAAEd,EAAEhB,KAAKgB,GAAGc,EAAEb,EAAEjB,KAAKiB,GAAGa,EAAEd,GAAGhB,KAAKwC,IAAIV,EAAEb,GAAGjB,KAAKyC,KAAn0D,GAA20D,WAAW,SAAS1C,EAAEA,EAAE+B,QAAG,IAAS/B,IAAIA,EAAE,WAAM,IAAS+B,IAAIA,EAAE,MAAM9B,KAAKmD,SAAS,EAAEnD,KAAKoD,SAAS,EAAEpD,KAAKa,WAAW,IAAIf,GAAEC,EAAEC,KAAKqD,QAAQtD,EAAE+B,IAAI9B,KAAKsD,QAAQxB,GAAG3B,OAAOC,eAAeL,EAAEM,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKmD,UAAU5C,IAAI,SAAST,GAAGE,KAAKmD,SAASrD,EAAEE,KAAKoD,SAAStD,EAAEY,KAAK6C,GAAG,IAAIvD,KAAKwD,mBAAmBhD,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKoD,UAAU7C,IAAI,SAAST,GAAGE,KAAKoD,SAAStD,EAAEE,KAAKmD,SAAS,IAAIrD,EAAEY,KAAK6C,GAAGvD,KAAKwD,mBAAmBhD,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,YAAYL,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAUmD,gBAAgB,WAAWxD,KAAKa,WAAWN,IAAIG,KAAK+C,IAAIzD,KAAKoD,UAAU1C,KAAKgD,IAAI1D,KAAKoD,YAAnwB,GAAqxB,IAACrD,GAAE,WAAW,SAASD,IAAI,IAAIA,EAAEE,KAAKA,KAAKinB,SAAS,IAAIlW,IAAI/Q,KAAKknB,aAAa,SAASnnB,GAAG,qBAAqBA,EAAE0O,KAAK3O,EAAEqnB,iBAAiBpnB,EAAEqnB,SAAS,wBAAwBrnB,EAAE0O,MAAM3O,EAAEunB,mBAAmBtnB,EAAEqnB,UAAUpgB,OAAOoV,iBAAiB,mBAAmBpc,KAAKknB,cAAclgB,OAAOoV,iBAAiB,sBAAsBpc,KAAKknB,cAAc,OAAOpnB,EAAEO,UAAUinB,WAAW,SAASxnB,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKinB,SAAS3mB,IAAIR,UAAK,IAASC,EAAEA,EAAE,MAAMD,EAAEO,UAAUknB,YAAY,WAAW,OAAO1jB,MAAM2jB,KAAKxnB,KAAKinB,SAASQ,WAAW3nB,EAAEO,UAAU8mB,iBAAiB,SAASrnB,GAAGE,KAAKinB,SAAS1mB,IAAIT,EAAE4nB,MAAM,IAAI5lB,IAAG9B,KAAKinB,SAAS3mB,IAAIR,EAAE4nB,OAAOE,kBAAkB9nB,IAAIA,EAAEO,UAAUgnB,mBAAmB,SAASvnB,GAAGE,KAAKinB,SAASY,OAAO/nB,EAAE4nB,QAAQ5nB,EAAEO,UAAU4H,OAAO,WAAW,IAAI,IAAInI,EAAE,EAAEC,EAAEC,KAAK8nB,yBAAyBhoB,EAAEC,EAAEuE,OAAOxE,IAAI,CAAC,IAAIgC,EAAE/B,EAAED,GAAG,OAAOgC,KAAI,IAAK9B,KAAKinB,SAAShW,IAAInP,EAAE4lB,OAAO1nB,KAAKmnB,iBAAiBrlB,GAAG9B,KAAKinB,SAAS3mB,IAAIwB,EAAE4lB,OAAOE,kBAAkB9lB,MAAMhC,EAAEO,UAAUynB,uBAAuB,WAAW,OAAOC,UAAUR,YAAYQ,UAAUR,cAAcQ,UAAUC,kBAAkBD,UAAUC,kBAAkB,IAAIloB,EAA1kC,GAA+kCgC,GAAE,WAAW,SAAS/B,IAAIC,KAAKioB,QAAQ,IAAIlX,IAAI/Q,KAAK8jB,KAAK,IAAI/S,IAAI/Q,KAAKkoB,UAAU,IAAIpoB,GAAEE,KAAKmoB,eAAe,IAAIroB,GAAEE,KAAKooB,gBAAgB,IAAItoB,GAAEE,KAAKqoB,YAAW,EAAG,OAAOtoB,EAAEM,UAAUunB,kBAAkB,SAAS9nB,GAAG,IAAIC,EAAEC,KAAKA,KAAKsoB,SAASxoB,EAAEA,EAAEmoB,QAAQ9e,SAAS,SAASrJ,EAAEgC,GAAG,OAAO/B,EAAEkoB,QAAQ1nB,IAAIuB,EAAEhC,EAAEyoB,YAAYzoB,EAAEgkB,KAAK3a,SAAS,SAASrJ,EAAEgC,GAAG,OAAO/B,EAAE+jB,KAAKvjB,IAAIuB,EAAEhC,OAAOK,OAAOC,eAAeL,EAAEM,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKsoB,SAASlW,IAAI5R,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKsoB,SAASE,WAAWhoB,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAUooB,iBAAiB,SAAS3oB,GAAG,OAAOE,KAAKioB,QAAQ3nB,IAAIR,IAAIC,EAAEM,UAAUqoB,QAAQ,SAAS5oB,GAAG,OAAOE,KAAK8jB,KAAKxjB,IAAIR,IAAIK,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKkoB,UAAU3nB,IAAIP,KAAK2oB,UAAU,EAAE3oB,KAAK4oB,UAAU,EAAE,EAAE5oB,KAAK6oB,OAAO,EAAE7oB,KAAK8oB,UAAU,EAAE,GAAG9oB,KAAKkoB,WAAW1nB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,gBAAgB,CAACC,IAAI,WAAW,OAAON,KAAKmoB,eAAe5nB,IAAIP,KAAK+oB,oBAAoB/oB,KAAKgpB,mBAAmBhpB,KAAKmoB,gBAAgB3nB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,iBAAiB,CAACC,IAAI,WAAW,OAAON,KAAKooB,gBAAgB7nB,IAAIP,KAAKipB,qBAAqBjpB,KAAKkpB,oBAAoBlpB,KAAKooB,iBAAiB5nB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,SAAS,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,YAAY,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,aAAa,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,YAAY,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,UAAU,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,eAAe,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,gBAAgB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,cAAc,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,eAAe,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,OAAO,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,QAAQ,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,UAAK,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,kBAAkB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,mBAAmB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAKioB,QAAQ3nB,IAAI,WAAM,IAASR,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,sBAAsB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAK8jB,KAAKxjB,IAAI,UAAK,IAASR,EAAEA,EAAE,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,oBAAoB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,GAAGE,KAAK8jB,KAAKxjB,IAAI,UAAK,IAASR,EAAEA,EAAE,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,uBAAuB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAEE,KAAK8jB,KAAKxjB,IAAI,UAAK,IAASR,EAAEA,EAAE,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,qBAAqB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,GAAGE,KAAK8jB,KAAKxjB,IAAI,UAAK,IAASR,EAAEA,EAAE,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,mBAAmB,CAACC,IAAI,WAAW,IAAIR,EAAE,OAAO,QAAQA,EAAE+D,MAAM2jB,KAAKxnB,KAAKioB,QAAQR,UAAU0B,eAAerpB,GAAG,OAAOA,YAAO,IAASA,GAAGA,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKqoB,YAAY7nB,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAU+oB,QAAQ,SAAStpB,EAAEC,EAAE+B,EAAER,GAAG,IAAIwB,EAAE9C,UAAK,IAASF,IAAIA,EAAE,UAAK,IAASC,IAAIA,EAAE,SAAI,IAAS+B,IAAIA,EAAE,SAAI,IAASR,IAAIA,EAAE,GAAGtB,KAAKsoB,SAASe,oBAAoBrpB,KAAKqoB,YAAW,EAAGroB,KAAKsoB,SAASe,kBAAkBC,WAAWtpB,KAAKsoB,SAASe,kBAAkB5a,KAAK,CAAC8a,SAASzpB,EAAE0pB,cAAczpB,EAAE0pB,gBAAgB3nB,EAAE4nB,WAAWpoB,IAAIqoB,OAAO,WAAW,OAAO7mB,EAAEulB,YAAW,KAAMuB,oBAAoB,OAAO9mB,EAAEulB,YAAW,OAAQtoB,EAAxkK,GAA4vK+C,GAAE,WAAW,SAAShD,EAAEA,GAAG,IAAIC,EAAEC,KAAKA,KAAKkqB,YAAY,GAAGlqB,KAAKmqB,OAAO,IAAIpZ,IAAI/Q,KAAKknB,aAAa,SAASpnB,GAAG,GAAG,YAAYA,EAAE2O,OAAO1O,EAAEoqB,OAAO5pB,IAAIT,EAAEsqB,MAAK,GAAIrqB,EAAEmqB,YAAY7gB,SAASvJ,EAAEsqB,OAAOrqB,EAAEmqB,YAAYlnB,KAAKlD,EAAEsqB,OAAO,UAAUtqB,EAAE2O,KAAK,CAAC1O,EAAEoqB,OAAO5pB,IAAIT,EAAEsqB,MAAK,GAAI,IAAItoB,EAAE/B,EAAEmqB,YAAYna,QAAQjQ,EAAEsqB,OAAO,IAAItoB,GAAG/B,EAAEmqB,YAAYrJ,OAAO/e,EAAE,KAAKhC,EAAEsc,iBAAiB,UAAUpc,KAAKknB,cAAcpnB,EAAEsc,iBAAiB,QAAQpc,KAAKknB,cAAc,OAAOpnB,EAAEO,UAAUgqB,UAAU,SAASvqB,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAEC,KAAKmqB,OAAO7pB,IAAIR,UAAK,IAASC,GAAGA,GAAGD,EAAEO,UAAUiqB,UAAU,SAASxqB,GAAG,IAAIC,EAAEC,KAAK,OAAOF,EAAEuN,QAAM,SAAWvN,EAAEgC,GAAG,IAAIR,EAAE,OAAOxB,GAAG,QAAQwB,EAAEvB,EAAEoqB,OAAO7pB,IAAIwB,UAAK,IAASR,GAAGA,KAAI,IAAKxB,EAAEO,UAAUkqB,WAAW,SAASzqB,GAAG,IAAIC,EAAEC,KAAK,OAAOF,EAAEuN,QAAM,SAAWvN,EAAEgC,GAAG,IAAIR,EAAE,OAAOxB,GAAG,QAAQwB,EAAEvB,EAAEoqB,OAAO7pB,IAAIwB,UAAK,IAASR,GAAGA,KAAI,IAAKxB,EAAEO,UAAUmqB,gBAAgB,SAAS1qB,EAAEC,EAAE+B,GAAG,OAAO9B,KAAKmqB,OAAO7pB,IAAIR,GAAGC,EAAE+B,GAAGhC,EAAEO,UAAUoqB,gBAAgB,SAAS3qB,EAAEC,EAAE+B,GAAG,IAAIR,EAAEtB,KAAK,OAAOF,EAAEuN,iBAAiBvN,EAAEC,GAAG,IAAI+B,EAAE,OAAOhC,GAAG,QAAQgC,EAAER,EAAE6oB,OAAO7pB,IAAIP,UAAK,IAAS+B,GAAGA,KAAI,GAAI/B,EAAE+B,GAAGhC,EAAEO,UAAUqqB,iBAAiB,SAAS5qB,EAAEC,EAAE+B,GAAG,IAAIR,EAAEtB,KAAK,OAAOF,EAAEuN,QAAQ,SAASvN,EAAEC,GAAG,IAAI+B,EAAE,OAAOhC,GAAG,QAAQgC,EAAER,EAAE6oB,OAAO7pB,IAAIP,UAAK,IAAS+B,GAAGA,KAAI,GAAI/B,EAAE+B,GAAGhC,EAAvqC,GAA4qCiC,GAAE,WAAW,SAAShC,EAAEA,GAAGC,KAAK4qB,oBAAmB,EAAG5qB,KAAK6qB,sBAAqB,EAAG7qB,KAAK8qB,qBAAoB,EAAG9qB,KAAK+qB,oBAAoB,IAAIjrB,GAAEE,KAAKgrB,WAAU,EAAGhrB,KAAKirB,aAAa,IAAInrB,GAAEE,KAAKkrB,uBAAuB,IAAIprB,GAAEE,KAAK2M,OAAO5M,EAAEC,KAAKmrB,QAAQ,OAAOhrB,OAAOC,eAAeL,EAAEM,UAAU,oBAAoB,CAACC,IAAI,WAAW,OAAON,KAAK4qB,oBAAoBpqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,sBAAsB,CAACC,IAAI,WAAW,OAAON,KAAK6qB,sBAAsBrqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,qBAAqB,CAACC,IAAI,WAAW,OAAON,KAAK8qB,qBAAqBtqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,qBAAqB,CAACC,IAAI,WAAW,OAAON,KAAK+qB,qBAAqBvqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgrB,WAAWxqB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,cAAc,CAACC,IAAI,WAAW,OAAON,KAAKirB,cAAczqB,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAU4H,OAAO,YAAW,IAAKjI,KAAK+qB,oBAAoB7pB,OAAOlB,KAAKkrB,yBAAyBlrB,KAAKgrB,WAAU,EAAGhrB,KAAKkrB,uBAAuBnqB,KAAKf,KAAK+qB,sBAAsB/qB,KAAKgrB,WAAU,EAAGhrB,KAAKorB,YAAYprB,KAAKirB,aAAa1qB,IAAIP,KAAKorB,WAAWC,OAAOrrB,KAAKorB,WAAWE,QAAQtrB,KAAKorB,gBAAW,GAAQprB,KAAKirB,aAAa1qB,IAAI,EAAE,IAAIR,EAAEM,UAAU8qB,MAAM,WAAW,IAAIrrB,EAAEE,KAAKA,KAAK2M,OAAOyP,iBAAiB,aAAW,SAAWrc,GAAG,OAAOD,EAAEyrB,eAAexrB,MAAMC,KAAK2M,OAAOyP,iBAAiB,aAAa,SAASrc,GAAG,OAAOD,EAAE0rB,iBAAiBzrB,MAAMC,KAAK2M,OAAOyP,iBAAiB,WAAS,SAAWrc,GAAG,OAAOD,EAAE2rB,eAAe1rB,MAAMC,KAAK2M,OAAOyP,iBAAiB,SAAO,SAAWrc,GAAG,OAAOD,EAAE4rB,iBAAiB3rB,OAAOA,EAAEM,UAAUmrB,iBAAiB,SAAS1rB,GAAGE,KAAK2M,OAAOgf,QAAQ7rB,EAAE8rB,iBAAiB9rB,EAAE+rB,kBAAkB7rB,KAAK4qB,mBAAmB,IAAI9qB,EAAEgsB,OAAO9rB,KAAK6qB,qBAAqB,IAAI/qB,EAAEgsB,OAAO9rB,KAAK8qB,oBAAoB,IAAIhrB,EAAEgsB,QAAQ/rB,EAAEM,UAAUorB,eAAe,SAAS3rB,GAAGA,EAAE8rB,iBAAiB9rB,EAAE+rB,kBAAkB7rB,KAAK4qB,mBAAmB,IAAI9qB,EAAEgsB,QAAQ9rB,KAAK4qB,mBAAmB5qB,KAAK6qB,qBAAqB,IAAI/qB,EAAEgsB,QAAQ9rB,KAAK6qB,qBAAqB7qB,KAAK8qB,oBAAoB,IAAIhrB,EAAEgsB,QAAQ9rB,KAAK8qB,qBAAqB/qB,EAAEM,UAAUkrB,eAAe,SAASzrB,GAAGA,EAAE8rB,iBAAiB9rB,EAAE+rB,kBAAkB7rB,KAAK+qB,oBAAoBxqB,IAAIT,EAAEisB,SAAS/rB,KAAK2M,OAAOqf,YAAYhsB,KAAK2M,OAAOvK,OAAOpC,KAAK2M,OAAOvK,MAAM,GAAGtC,EAAEmsB,SAASjsB,KAAK2M,OAAOuf,aAAalsB,KAAK2M,OAAOtK,QAAQrC,KAAK2M,OAAOtK,OAAO,IAAItC,EAAEM,UAAUqrB,iBAAiB,SAAS5rB,GAAGA,EAAE8rB,iBAAiB9rB,EAAE+rB,kBAAkB7rB,KAAKorB,WAAWtrB,GAAGC,EAAxhF,GAA6hFgD,GAAE,WAAW,SAAShD,EAAED,GAAG,IAAIC,EAAEC,KAAKA,KAAKosB,WAAU,EAAGpsB,KAAKqsB,cAAc,GAAGrsB,KAAKknB,aAAa,SAASpnB,GAAG,eAAeA,EAAE2O,OAAO1O,EAAEqsB,WAAU,EAAGrsB,EAAEwrB,eAAezrB,IAAI,cAAcA,EAAE2O,MAAM1O,EAAEwrB,eAAezrB,GAAG,aAAaA,EAAE2O,MAAM,gBAAgB3O,EAAE2O,OAAO1O,EAAEqsB,WAAU,IAAKpsB,KAAK2M,OAAO7M,EAAEE,KAAK2M,OAAOyP,iBAAiB,aAAapc,KAAKknB,cAAclnB,KAAK2M,OAAOyP,iBAAiB,WAAWpc,KAAKknB,cAAclnB,KAAK2M,OAAOyP,iBAAiB,cAAcpc,KAAKknB,cAAclnB,KAAK2M,OAAOyP,iBAAiB,YAAYpc,KAAKknB,cAAc,OAAO/mB,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKosB,WAAW5rB,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,eAAe,CAACC,IAAI,WAAW,OAAON,KAAKqsB,eAAe7rB,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAUkrB,eAAe,SAASxrB,GAAG,GAAGA,EAAE6rB,iBAAiB7rB,EAAE8rB,kBAAkB7rB,KAAKqsB,cAAc,GAAG,IAAItsB,EAAEusB,cAAchoB,OAAO,IAAI,IAAIxC,EAAE,EAAEA,EAAE/B,EAAEusB,cAAchoB,OAAOxC,IAAI9B,KAAKqsB,cAAcvqB,GAAG,CAACyqB,mBAAmB,IAAIzsB,IAAGC,EAAEusB,cAAcxqB,GAAG0qB,QAAQxsB,KAAK2M,OAAO8f,aAAazsB,KAAK2M,OAAOqf,YAAYhsB,KAAK2M,OAAOvK,OAAOpC,KAAK2M,OAAOvK,MAAM,IAAIrC,EAAEusB,cAAcxqB,GAAG4qB,QAAQ1sB,KAAK2M,OAAOggB,YAAY3sB,KAAK2M,OAAOuf,aAAalsB,KAAK2M,OAAOtK,QAAQrC,KAAK2M,OAAOtK,OAAO,GAAGoL,OAAO,IAAI3N,GAAEC,EAAEusB,cAAcxqB,GAAG8qB,QAAQ7sB,EAAEusB,cAAcxqB,GAAG+qB,WAAW9sB,EAAnxC,GCAvlcD,GAAE,WAAW,SAASA,EAAEA,EAAEwB,QAAG,IAASxB,IAAIA,EAAE,QAAG,IAASwB,IAAIA,EAAE,GAAGtB,KAAKC,GAAGH,EAAEE,KAAKE,GAAGoB,EAAE,OAAOnB,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKC,IAAIM,IAAI,SAAST,GAAGE,KAAKC,GAAGH,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKE,IAAIK,IAAI,SAAST,GAAGE,KAAKE,GAAGJ,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAOI,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAG,GAAGS,KAAKE,IAAIZ,KAAKE,GAAG,KAAKM,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeN,EAAEO,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,aAAab,KAAKa,WAAW,IAAIf,GAAGA,EAAEgB,KAAKd,KAAKa,WAAWb,OAAOQ,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUE,IAAI,SAAST,EAAEwB,GAAGtB,KAAKC,GAAGH,EAAEE,KAAKE,GAAGoB,GAAGxB,EAAEO,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAInB,EAAEO,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKC,KAAKH,EAAEkB,GAAGhB,KAAKE,KAAKJ,EAAEmB,GAAGnB,EAAEO,UAAUc,MAAM,WAAW,OAAO,IAAIrB,EAAEE,KAAKC,GAAGD,KAAKE,KAAKJ,EAAEO,UAAUe,SAAS,SAAStB,GAAG,OAAOY,KAAKC,KAAKD,KAAKE,IAAIZ,KAAKC,GAAGH,EAAEkB,EAAE,GAAGN,KAAKE,IAAIZ,KAAKE,GAAGJ,EAAEmB,EAAE,KAAKnB,EAAEuB,IAAI,SAASvB,EAAEwB,EAAEvB,GAAG,OAAOD,EAAES,IAAIe,EAAEN,EAAEjB,EAAEiB,EAAEM,EAAEL,EAAElB,EAAEkB,GAAGnB,GAAGA,EAAEyB,SAAS,SAASzB,EAAEwB,EAAEvB,GAAG,OAAOD,EAAES,IAAIe,EAAEN,EAAEjB,EAAEiB,EAAEM,EAAEL,EAAElB,EAAEkB,GAAGnB,GAAGA,EAAEgB,KAAK,SAAShB,EAAEwB,GAAG,OAAO,IAAIA,EAAEE,UAAU1B,EAAES,IAAI,EAAE,GAAGT,EAAES,IAAIe,EAAEN,EAAEM,EAAEE,UAAUF,EAAEL,EAAEK,EAAEE,WAAW1B,GAAGA,EAAE2B,OAAO,SAAS3B,EAAEwB,GAAG,OAAOxB,EAAES,KAAKe,EAAEL,EAAEK,EAAEN,GAAGhB,KAAKc,KAAKhB,EAAEA,IAAIA,EAAE4B,MAAM,SAAS5B,EAAEwB,EAAEvB,GAAG,OAAOD,EAAES,IAAIe,EAAEN,EAAEjB,EAAEuB,EAAEL,EAAElB,GAAGD,GAAGA,EAAE6B,IAAI,SAAS7B,EAAEwB,GAAG,OAAOxB,EAAEkB,EAAEM,EAAEN,EAAElB,EAAEmB,EAAEK,EAAEL,GAAGnB,EAAE8B,MAAM,SAAS9B,EAAEwB,GAAG,OAAOxB,EAAEkB,EAAEM,EAAEL,EAAEnB,EAAEmB,EAAEK,EAAEN,GAAGlB,EAAE+B,MAAM,SAAS/B,EAAEwB,GAAG,OAAOxB,EAAES,IAAIG,KAAKmB,MAAMP,EAAEN,GAAGN,KAAKmB,MAAMP,EAAEL,IAAInB,GAAGA,EAAh9C,GAAq9CwB,GAAE,WAAW,SAASA,EAAEA,EAAEvB,EAAEgC,EAAED,GAAG9B,KAAKgC,UAAU,IAAIlC,GAAEE,KAAKiC,QAAQ,IAAInC,GAAEE,KAAKkC,OAAO,EAAElC,KAAKmC,QAAQ,EAAEnC,KAAKO,IAAIe,EAAEvB,EAAEgC,EAAED,GAAG,OAAO3B,OAAOC,eAAekB,EAAEjB,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,GAAGT,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEE,KAAKgC,UAAUf,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,IAAI,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,GAAGV,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIP,KAAKgC,UAAUhB,EAAElB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUhB,EAAEhB,KAAKkC,QAAQ1B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,KAAK,CAACC,IAAI,WAAW,OAAON,KAAKgC,UAAUf,EAAEjB,KAAKmC,SAAS3B,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUzB,IAAIT,EAAEkB,EAAElB,EAAEmB,IAAIT,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,QAAQ,CAACC,IAAI,WAAW,OAAON,KAAKkC,QAAQ3B,IAAI,SAAST,GAAGE,KAAKkC,OAAOpC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKmC,SAAS5B,IAAI,SAAST,GAAGE,KAAKmC,QAAQrC,GAAGU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,SAAS,CAACC,IAAI,WAAW,OAAON,KAAKiC,QAAQ1B,IAAIP,KAAKgB,EAAEhB,KAAKoC,MAAM,EAAEpC,KAAKiB,EAAEjB,KAAKqC,OAAO,GAAGrC,KAAKiC,SAASzB,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAUE,IAAI,SAAST,EAAEwB,EAAEvB,EAAEgC,GAAG/B,KAAKgC,UAAUzB,IAAIT,EAAEwB,GAAGtB,KAAKkC,OAAOnC,EAAEC,KAAKmC,QAAQJ,GAAGT,EAAEjB,UAAUa,OAAO,SAASpB,GAAG,OAAOE,KAAKsC,SAASpB,OAAOpB,EAAEwC,WAAWtC,KAAKoC,QAAQtC,EAAEsC,OAAOpC,KAAKqC,SAASvC,EAAEuC,QAAQf,EAAEjB,UAAUU,KAAK,SAASjB,GAAGE,KAAKO,IAAIT,EAAEkB,EAAElB,EAAEmB,EAAEnB,EAAEsC,MAAMtC,EAAEuC,SAASf,EAAEjB,UAAUkC,SAAS,SAASzC,GAAG,OAAOE,KAAKwC,IAAI1C,EAAEkB,GAAGhB,KAAKgB,EAAElB,EAAE0C,IAAIxC,KAAKyC,IAAI3C,EAAEmB,GAAGjB,KAAKiB,EAAEnB,EAAE2C,IAAInB,EAAEjB,UAAUqC,SAAS,SAAS3C,GAAG,OAAOA,aAAauB,EAAEvB,EAAEyC,IAAIxC,KAAKwC,IAAIzC,EAAEiB,GAAGhB,KAAKgB,GAAGjB,EAAE0C,IAAIzC,KAAKyC,IAAI1C,EAAEkB,GAAGjB,KAAKiB,EAAElB,aAAaD,MAAKC,EAAEiB,EAAEhB,KAAKgB,GAAGjB,EAAEkB,EAAEjB,KAAKiB,GAAGlB,EAAEiB,GAAGhB,KAAKwC,IAAIzC,EAAEkB,GAAGjB,KAAKyC,KAAKnB,EAA/0D,IAAy4D,WAAW,SAASA,EAAEA,EAAEvB,QAAG,IAASuB,IAAIA,EAAE,WAAM,IAASvB,IAAIA,EAAE,MAAMC,KAAKmD,SAAS,EAAEnD,KAAKoD,SAAS,EAAEpD,KAAKa,WAAW,IAAIf,GAAEwB,EAAEtB,KAAKqD,QAAQ/B,EAAEvB,IAAIC,KAAKsD,QAAQvD,GAAGI,OAAOC,eAAekB,EAAEjB,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKmD,UAAU5C,IAAI,SAAST,GAAGE,KAAKmD,SAASrD,EAAEE,KAAKoD,SAAStD,EAAEY,KAAK6C,GAAG,IAAIvD,KAAKwD,mBAAmBhD,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,UAAU,CAACC,IAAI,WAAW,OAAON,KAAKoD,UAAU7C,IAAI,SAAST,GAAGE,KAAKoD,SAAStD,EAAEE,KAAKmD,SAAS,IAAIrD,EAAEY,KAAK6C,GAAGvD,KAAKwD,mBAAmBhD,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAekB,EAAEjB,UAAU,YAAY,CAACC,IAAI,WAAW,OAAON,KAAKa,YAAYL,YAAW,EAAGC,cAAa,IAAKa,EAAEjB,UAAUmD,gBAAgB,WAAWxD,KAAKa,WAAWN,IAAIG,KAAK+C,IAAIzD,KAAKoD,UAAU1C,KAAKgD,IAAI1D,KAAKoD,YAAnwB,GAAqxB,IAACrB,GAA0hHwD,GAAutIkF,GAAt2L3H,GAAE,SAAShD,EAAEwB,EAAEvB,EAAEgC,GAAG,OAAOrB,KAAKiC,KAAK7C,EAAEwB,GAAGvB,EAAE,EAAEgC,EAAE,KAAM,WAAW,SAASjC,EAAEA,GAAGE,KAAKif,YAAY,CAACC,GAAG,EAAE1c,GAAG,EAAE2c,GAAG,EAAE1c,GAAG,GAAGzC,KAAKof,cAAc,EAAEpf,KAAKye,OAAO3e,GAAUK,OAAOC,eAAeN,EAAEO,UAAU,eAAe,CAACC,IAAI,WAAW,OAAON,KAAKof,eAAe7e,IAAI,SAAST,GAAGE,KAAKof,cAAt+F,SAAStf,EAAEwB,EAAEvB,GAAG,OAAOW,KAAKiC,IAAI5C,EAAEW,KAAKkC,IAAItB,EAAExB,IAAu8FC,CAAED,EAAE,EAAE,KAAKU,YAAW,EAAGC,cAAa,IAAKX,EAAEO,UAAUoe,OAAO,SAAS3e,GAAGE,KAAKse,KAAKxe,EAAEE,KAAKqf,UAAU3e,KAAKqN,KAAKjO,EAAEsC,MAAMpC,KAAKof,eAAepf,KAAKsf,WAAW5e,KAAKqN,KAAKjO,EAAEuC,OAAOrC,KAAKof,eAAepf,KAAKuf,aAAa,GAAG,IAAI,IAAIje,EAAE,EAAEA,EAAEtB,KAAKof,cAAc9d,IAAI,CAACtB,KAAKuf,aAAaje,GAAG,GAAG,IAAI,IAAIvB,EAAE,EAAEA,EAAEC,KAAKof,cAAcrf,IAAIC,KAAKuf,aAAaje,GAAGvB,GAAG,KAAKD,EAAEO,UAAUuG,MAAM,WAAW,IAAI,IAAI9G,EAAE,EAAEA,EAAEE,KAAKof,cAActf,IAAI,IAAI,IAAIwB,EAAE,EAAEA,EAAEtB,KAAKof,cAAc9d,IAAItB,KAAKuf,aAAazf,GAAGwB,GAAG,IAAIxB,EAAEO,UAAUqe,OAAO,SAAS5e,EAAEwB,GAAGtB,KAAKwf,kBAAkBle,GAAG,IAAI,IAAIvB,EAAEC,KAAKif,YAAYC,GAAGnf,GAAGC,KAAKif,YAAYzc,GAAGzC,IAAI,IAAI,IAAIgC,EAAE/B,KAAKif,YAAYE,GAAGpd,GAAG/B,KAAKif,YAAYxc,GAAGV,IAAI/B,KAAKuf,aAAaxf,GAAGgC,GAAGiB,KAAKlD,IAAIA,EAAEO,UAAUwe,SAAS,SAAS/e,GAAG,IAAIwB,EAAE,GAAGtB,KAAKwf,kBAAkB1f,GAAG,IAAI,IAAIC,EAAEC,KAAKif,YAAYC,GAAGnf,GAAGC,KAAKif,YAAYzc,GAAGzC,IAAI,IAAI,IAAIgC,EAAE/B,KAAKif,YAAYE,GAAGpd,GAAG/B,KAAKif,YAAYxc,GAAGV,IAAI/B,KAAKuf,aAAaxf,GAAGgC,GAAGoH,SAAO,SAAWrJ,GAAG,OAAOwB,EAAE+H,SAASvJ,GAAG,KAAKwB,EAAE0B,KAAKlD,MAAM,OAAOwB,GAAGxB,EAAEO,UAAUmf,kBAAkB,SAAS1f,GAAGE,KAAKif,YAAYC,GAAGpc,GAAEhD,EAAEkB,EAAEhB,KAAKse,KAAKtd,EAAEhB,KAAKqf,UAAUrf,KAAKof,eAAepf,KAAKif,YAAYzc,GAAGM,GAAEhD,EAAE0C,GAAGxC,KAAKse,KAAKtd,EAAEhB,KAAKqf,UAAUrf,KAAKof,eAAepf,KAAKif,YAAYE,GAAGrc,GAAEhD,EAAEmB,EAAEjB,KAAKse,KAAKrd,EAAEjB,KAAKsf,WAAWtf,KAAKof,eAAepf,KAAKif,YAAYxc,GAAGK,GAAEhD,EAAE2C,GAAGzC,KAAKse,KAAKrd,EAAEjB,KAAKsf,WAAWtf,KAAKof,gBAAz+C,GAA+/C,SAAStf,GAAGA,EAAEA,EAAE2f,SAAS,GAAG,WAAW3f,EAAEA,EAAE4f,aAAa,GAAG,eAA3D,CAA2E3d,KAAIA,GAAE,KAAmnI,SAASjC,GAAGA,EAAEA,EAAE4L,QAAQ,GAAG,UAAU5L,EAAEA,EAAE6L,cAAc,GAAG,gBAAgB7L,EAAEA,EAAE8L,KAAK,GAAG,OAAtF,CAA8FrG,KAAIA,GAAE,KAA6hB,SAASzF,GAAGA,EAAEA,EAAEyiB,KAAK,GAAG,OAAOziB,EAAEA,EAAE0iB,IAAI,GAAG,MAA1C,CAAiD/X,KAAIA,GAAE,KAAQ,IAA8oGgB,GAApczK,GAAE,SAASlB,EAAEwB,GAAG,OAAON,GAAEb,OAAOwD,gBAAgB,CAACC,UAAU,cAAcC,OAAO,SAAS/D,EAAEwB,GAAGxB,EAAE8D,UAAUtC,IAAI,SAASxB,EAAEwB,GAAG,IAAI,IAAIvB,KAAKuB,EAAEnB,OAAOE,UAAUyD,eAAeC,KAAKzC,EAAEvB,KAAKD,EAAEC,GAAGuB,EAAEvB,KAAKiB,GAAElB,EAAEwB,IAAqM,mBAAmBoD,iBAAiBA,gBAAihH,SAAS5E,GAAGA,EAAEA,EAAEmlB,OAAO,GAAG,SAASnlB,EAAEA,EAAEolB,QAAQ,GAAG,UAAUplB,EAAEA,EAAEqlB,UAAU,GAAG,YAA7E,CAA0F1Z,KAAIA,GAAE,gBAAkwF,SAAS1L,EAAEA,GAAGC,KAAKyN,OAAO1N,EAAEC,KAAKyO,KAAKlJ,GAAEoG,cAAc3L,KAAKyhB,YAAY,IAAIngB,GAAE,EAAE,EAAE,EAAE,GAAGtB,KAAK4W,SAAS,CAAC,IAAI9W,GAAE,IAAIA,IAAGE,KAAK+jB,eAAe,CAAC,IAAIjkB,IAAGE,KAAKgC,UAAU,IAAIlC,GAASK,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUjB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAU4H,OAAO,WAAWjI,KAAKkmB,qBAAqBnmB,EAAEM,UAAU6lB,kBAAkB,WAAWlmB,KAAKyhB,YAAYlhB,IAAIP,KAAKsC,SAAStB,EAAEhB,KAAKyN,OAAOzN,KAAKsC,SAASrB,EAAEjB,KAAKyN,OAAO,EAAEzN,KAAKyN,OAAO,EAAEzN,KAAKyN,YAAa,WAAc,SAAS1N,EAAEA,GAAGC,KAAKuN,YAAYxN,EAAEC,KAAKyO,KAAKlJ,GAAEmG,QAAQ1L,KAAK4W,SAAS,CAAC,IAAI9W,GAAE,IAAIA,IAAGE,KAAK+jB,eAAe,CAAC,IAAIjkB,IAAGE,KAAKyhB,YAAY,IAAIngB,GAAE,EAAE,EAAE,EAAE,GAAGtB,KAAK6M,SAAS,EAAE7M,KAAKgC,UAAU,IAAIlC,GAASC,EAAEM,UAAU4H,OAAO,WAAWjI,KAAKomB,iBAAiBpmB,KAAKkmB,oBAAoBlmB,KAAKqmB,wBAAwBlmB,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUjB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAU+lB,eAAe,WAAW,IAAI,IAAItmB,EAAE,EAAEA,EAAEE,KAAKuN,YAAYjJ,OAAOxE,IAAIE,KAAK4W,SAAS9W,GAAGS,IAAIP,KAAKuN,YAAYzN,GAAGkB,EAAEN,KAAK+C,IAAIzD,KAAK6M,UAAU7M,KAAKuN,YAAYzN,GAAGmB,EAAEP,KAAKgD,IAAI1D,KAAK6M,UAAU7M,KAAKgC,UAAUhB,EAAEhB,KAAKuN,YAAYzN,GAAGkB,EAAEN,KAAKgD,IAAI1D,KAAK6M,UAAU7M,KAAKuN,YAAYzN,GAAGmB,EAAEP,KAAK+C,IAAIzD,KAAK6M,UAAU7M,KAAKgC,UAAUf,IAAIlB,EAAEM,UAAU6lB,kBAAkB,WAAWlmB,KAAKyhB,YAAYzgB,EAAEN,KAAKiC,IAAI3C,KAAK4W,SAAS,GAAG5V,EAAEhB,KAAK4W,SAAS,GAAG5V,GAAGhB,KAAKyhB,YAAYxgB,EAAEP,KAAKiC,IAAI3C,KAAK4W,SAAS,GAAG3V,EAAEjB,KAAK4W,SAAS,GAAG3V,GAAGjB,KAAKyhB,YAAYrf,MAAM1B,KAAKkC,IAAI5C,KAAK4W,SAAS,GAAG5V,EAAEhB,KAAK4W,SAAS,GAAG5V,GAAGhB,KAAKyhB,YAAYzgB,EAAEhB,KAAKyhB,YAAYpf,OAAO3B,KAAKkC,IAAI5C,KAAK4W,SAAS,GAAG3V,EAAEjB,KAAK4W,SAAS,GAAG3V,GAAGjB,KAAKyhB,YAAYxgB,GAAGlB,EAAEM,UAAUgmB,qBAAqB,WAAWvmB,GAAE2B,OAAOzB,KAAK+jB,eAAe,GAAGjkB,GAAEyB,SAASvB,KAAK+jB,eAAe,GAAG/jB,KAAK4W,SAAS,GAAG5W,KAAK4W,SAAS,MAAhwC,GAA2wC,IAAAV,GAAE,WAAW,SAASnW,EAAEA,GAAGC,KAAKuN,YAAYxN,EAAEC,KAAKyO,KAAKlJ,GAAEmG,QAAQ1L,KAAK4W,SAAS,GAAG5W,KAAKyhB,YAAY,IAAIngB,GAAE,EAAE,EAAE,EAAE,GAAGtB,KAAK6M,SAAS,EAAE7M,KAAKumB,gBAAgB,GAAGvmB,KAAKgC,UAAU,IAAIlC,GAAEE,KAAKwmB,QAAQ9Y,OAAOC,iBAAiB3N,KAAKymB,QAAQ/Y,OAAOC,iBAAiB3N,KAAK0mB,SAAShZ,OAAOC,iBAAiB3N,KAAK2mB,SAASjZ,OAAOC,iBAAiB,IAAI,IAAI5L,EAAE,EAAEA,EAAE/B,KAAKuN,YAAYjJ,OAAOvC,IAAI/B,KAAK4W,SAAS5T,KAAK,IAAIlD,IAAGE,KAAKumB,gBAAgBvjB,KAAK,IAAIlD,IAAG,OAAOK,OAAOC,eAAeL,EAAEM,UAAU,WAAW,CAACC,IAAI,WAAW,OAAON,KAAKgC,WAAWzB,IAAI,SAAST,GAAGE,KAAKgC,UAAUjB,KAAKjB,IAAIU,YAAW,EAAGC,cAAa,IAAKN,OAAOC,eAAeL,EAAEM,UAAU,iBAAiB,CAACC,IAAI,WAAW,OAAON,KAAKumB,iBAAiB/lB,YAAW,EAAGC,cAAa,IAAKV,EAAEM,UAAU4H,OAAO,WAAWjI,KAAKomB,iBAAiBpmB,KAAKkmB,oBAAoBlmB,KAAKqmB,wBAAwBtmB,EAAEM,UAAU+lB,eAAe,WAAW,IAAI,IAAItmB,EAAE,EAAEA,EAAEE,KAAKuN,YAAYjJ,OAAOxE,IAAIE,KAAK4W,SAAS9W,GAAGS,IAAIP,KAAKuN,YAAYzN,GAAGkB,EAAEN,KAAK+C,IAAIzD,KAAK6M,UAAU7M,KAAKuN,YAAYzN,GAAGmB,EAAEP,KAAKgD,IAAI1D,KAAK6M,UAAU7M,KAAKgC,UAAUhB,EAAEhB,KAAKuN,YAAYzN,GAAGkB,EAAEN,KAAKgD,IAAI1D,KAAK6M,UAAU7M,KAAKuN,YAAYzN,GAAGmB,EAAEP,KAAK+C,IAAIzD,KAAK6M,UAAU7M,KAAKgC,UAAUf,IAAIlB,EAAEM,UAAU6lB,kBAAkB,WAAW,IAAIpmB,EAAEE,KAAKA,KAAKwmB,QAAQxmB,KAAK4W,SAAS,GAAG5V,EAAEhB,KAAKymB,QAAQzmB,KAAK4W,SAAS,GAAG3V,EAAEjB,KAAK0mB,QAAQ1mB,KAAK4W,SAAS,GAAG5V,EAAEhB,KAAK2mB,QAAQ3mB,KAAK4W,SAAS,GAAG3V,EAAEjB,KAAK4W,SAASzN,SAAS,SAAS7H,GAAGxB,EAAE0mB,QAAQ9lB,KAAKiC,IAAIrB,EAAEN,EAAElB,EAAE0mB,SAAS1mB,EAAE2mB,QAAQ/lB,KAAKiC,IAAIrB,EAAEL,EAAEnB,EAAE2mB,SAAS3mB,EAAE4mB,QAAQhmB,KAAKkC,IAAItB,EAAEN,EAAElB,EAAE4mB,SAAS5mB,EAAE6mB,QAAQjmB,KAAKkC,IAAItB,EAAEL,EAAEnB,EAAE6mB,YAAY3mB,KAAKyhB,YAAYlhB,IAAIP,KAAKwmB,QAAQxmB,KAAKymB,QAAQzmB,KAAK0mB,QAAQ1mB,KAAKwmB,QAAQxmB,KAAK2mB,QAAQ3mB,KAAKymB,UAAU1mB,EAAEM,UAAUgmB,qBAAqB,WAAW,IAAI,IAAI/kB,EAAEvB,EAAE,EAAEA,EAAEC,KAAK4W,SAAStS,OAAOvE,IAAID,GAAE2B,OAAOzB,KAAKumB,gBAAgBxmB,GAAGD,GAAEyB,SAASvB,KAAKumB,gBAAgBxmB,GAAG,QAAQuB,EAAEtB,KAAK4W,SAAS7W,EAAE,UAAK,IAASuB,EAAEA,EAAEtB,KAAK4W,SAAS,GAAG5W,KAAK4W,SAAS7W,MAAMA,EAAxyD,IAA+yD,SAASuB,GAAG,SAASvB,EAAEA,EAAEgC,GAAG,IAAID,EAAER,EAAEyC,KAAK/D,KAAK,CAAC,IAAIF,IAAGC,EAAE,GAAGgC,EAAE,GAAG,IAAIjC,IAAGC,EAAE,EAAEgC,EAAE,GAAG,IAAIjC,GAAEC,EAAE,EAAEgC,EAAE,GAAG,IAAIjC,GAAEC,EAAE,GAAGgC,EAAE,MAAM/B,KAAK,OAAO8B,EAAEM,MAAMrC,EAAE+B,EAAEO,OAAON,EAAED,EAAEykB,gBAAgB,CAAC,IAAIzmB,GAAE,IAAIA,IAAGgC,GAAS,SAAShC,EAAEwB,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAI0C,UAAU,uBAAuBC,OAAO3C,GAAG,iCAAiC,SAASvB,IAAIC,KAAKkE,YAAYpE,EAAEkB,GAAElB,EAAEwB,GAAGxB,EAAEO,UAAU,OAAOiB,EAAEnB,OAAOgE,OAAO7C,IAAIvB,EAAEM,UAAUiB,EAAEjB,UAAU,IAAIN,IAAhP,CAAoPA,EAAEuB,GAAGvB,EAAEM,UAAUwmB,WAAW,SAAS/mB,EAAEwB,GAAGtB,KAAKoC,MAAMtC,EAAEE,KAAKqC,OAAOf,EAAEtB,KAAKuN,YAAY,GAAGhN,KAAKT,EAAE,GAAGwB,EAAE,GAAGtB,KAAKuN,YAAY,GAAGhN,KAAKT,EAAE,EAAEwB,EAAE,GAAGtB,KAAKuN,YAAY,GAAGhN,IAAIT,EAAE,EAAEwB,EAAE,GAAGtB,KAAKuN,YAAY,GAAGhN,IAAIT,EAAE,GAAGwB,EAAE,IAAIvB,EAAEM,UAAUgmB,qBAAqB,WAAWvmB,GAAEgB,KAAKd,KAAK+jB,eAAe,GAAGjkB,GAAEyB,SAASvB,KAAK+jB,eAAe,GAAG/jB,KAAK4W,SAAS,GAAG5W,KAAK4W,SAAS,KAAK9W,GAAE2B,OAAOzB,KAAK+jB,eAAe,GAAG/jB,KAAK+jB,eAAe,KAAl0B,CAA00B7N"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../packages/engine/src/config/types.ts","../../../packages/engine/src/utils/ioc/container.ts","../../../packages/engine/src/utils/collisions2d/broadPhase/IBroadPhaseResolver.ts","../../../node_modules/tslib/tslib.es6.js","../../../packages/engine/src/utils/math/Vector2.ts","../../../packages/engine/src/utils/math/Rectangle.ts","../../../packages/engine/src/utils/math/Utils.ts","../../../packages/engine/src/utils/collisions2d/broadPhase/QuadTree.ts","../../../packages/engine/src/utils/collisions2d/broadPhase/SpartialGrid.ts","../../../packages/engine/src/utils/collisions2d/Shape.ts","../../../packages/engine/src/utils/collisions2d/method/AABBMethod.ts","../../../packages/engine/src/utils/collisions2d/method/CollisionMethod.ts","../../../packages/engine/src/utils/collisions2d/method/SatMethod.ts","../../../packages/engine/src/utils/collisions2d/resolver/AABBResolver.ts","../../../packages/engine/src/utils/collisions2d/resolver/CircumferenceAABBResolver.ts","../../../packages/engine/src/utils/collisions2d/resolver/CircumferenceResolver.ts","../../../packages/engine/src/utils/collisions2d/resolver/SatResolver.ts","../../../packages/engine/src/utils/collisions2d/CollisionRepository.ts","../../../packages/engine/src/utils/ecs/EntityManager.ts","../../../packages/engine/src/utils/ecs/SystemManager.ts","../../../packages/engine/src/utils/input/GamepadController.ts","../../../packages/engine/src/utils/input/Keyboard.ts","../../../packages/engine/src/utils/input/Mouse.ts","../../../packages/engine/src/utils/input/TouchScreen.ts","../../../packages/engine/src/manager/InputManager.ts","../../../packages/engine/src/manager/TimeManager.ts","../../../packages/engine/src/manager/AssetManager.ts","../../../packages/engine/src/component/gameLogic/AudioPlayer.ts","../../../packages/engine/src/config/systems.ts","../../../packages/engine/src/system/gameLogic/AudioPlayerSystem.ts","../../../packages/engine/src/system/SystemGroup.ts","../../../packages/engine/src/component/gameLogic/Transform.ts","../../../packages/engine/src/component/render2d/Camera.ts","../../../packages/engine/src/utils/webgl/ContextManager.ts","../../../packages/engine/src/utils/webgl/FontAtlasFactory.ts","../../../packages/engine/src/utils/webgl/program/ProgramFactory.ts","../../../packages/engine/src/utils/webgl/program/ProgramManager.ts","../../../packages/engine/src/utils/webgl/shader/vertexShader.ts","../../../packages/engine/src/utils/webgl/shader/fragmentShader.ts","../../../packages/engine/src/utils/webgl/shader/legacy/vertexShader.ts","../../../packages/engine/src/utils/webgl/shader/legacy/fragmentShader.ts","../../../packages/engine/src/utils/webgl/program/ShaderLoader.ts","../../../node_modules/gl-matrix/esm/common.js","../../../node_modules/gl-matrix/esm/mat4.js","../../../packages/engine/src/utils/webgl/renderer/utils.ts","../../../packages/engine/src/utils/webgl/renderer/CanvasColorRenderer.ts","../../../packages/engine/src/utils/webgl/renderer/GeometricRenderer.ts","../../../packages/engine/src/utils/webgl/renderer/Renderer.ts","../../../packages/engine/src/utils/webgl/renderer/MaskRenderer.ts","../../../packages/engine/src/utils/webgl/renderer/ShadowRenderer.ts","../../../packages/engine/src/utils/webgl/renderer/SpriteRenderer.ts","../../../packages/engine/src/utils/webgl/renderer/TextRenderer.ts","../../../packages/engine/src/utils/webgl/renderer/TilemapRenderer.ts","../../../packages/engine/src/utils/webgl/renderer/VideoRenderer.ts","../../../packages/engine/src/utils/webgl/texture/TextureFactory.ts","../../../packages/engine/src/utils/webgl/texture/TextureManager.ts","../../../packages/engine/src/utils/webgl/WebGLManager.ts","../../../packages/engine/src/component/render2d/VideoRenderer.ts","../../../packages/engine/src/system/render2d/VideoRendererSystem.ts","../../../packages/engine/src/manager/SceneManager.ts","../../../packages/engine/src/component/gameLogic/Button.ts","../../../packages/engine/src/system/gameLogic/ButtonSystem.ts","../../../packages/engine/src/component/gameLogic/Children.ts","../../../packages/engine/src/system/gameLogic/ChildrenSystem.ts","../../../packages/engine/src/component/gameLogic/Parent.ts","../../../packages/engine/src/system/gameLogic/ParentSystem.ts","../../../packages/engine/src/component/gameLogic/TiledWrapper.ts","../../../packages/engine/src/component/render2d/TilemapRenderer.ts","../../../packages/engine/src/system/gameLogic/TiledWrapperSystem.ts","../../../packages/engine/src/system/gameLogic/TilemapPreProcessingSystem.ts","../../../packages/engine/src/system/gameLogic/TransformSystem.ts","../../../packages/engine/src/system/input/GamepadSystem.ts","../../../packages/engine/src/system/input/KeyboardSystem.ts","../../../packages/engine/src/system/input/MouseSystem.ts","../../../packages/engine/src/system/input/TouchScreenSystem.ts","../../../packages/engine/src/component/gameLogic/Animator.ts","../../../packages/engine/src/component/render2d/SpriteRenderer.ts","../../../packages/engine/src/system/render2d/AnimatorSystem.ts","../../../packages/engine/src/system/render2d/CameraSystem.ts","../../../packages/engine/src/system/render2d/ClearScreenSystem.ts","../../../packages/engine/src/component/physics2d/BallCollider.ts","../../../packages/engine/src/component/physics2d/BoxCollider.ts","../../../packages/engine/src/component/physics2d/EdgeCollider.ts","../../../packages/engine/src/component/physics2d/PolygonCollider.ts","../../../packages/engine/src/component/physics2d/TilemapCollider.ts","../../../packages/engine/src/system/render2d/ColliderRenderSystem.ts","../../../packages/engine/src/system/render2d/CullingSystem.ts","../../../packages/engine/src/component/render2d/MaskRenderer.ts","../../../packages/engine/src/system/render2d/MaskRendererSystem.ts","../../../packages/engine/src/system/render2d/RenderSystem.ts","../../../packages/engine/src/component/render2d/LightRenderer.ts","../../../packages/engine/src/component/render2d/ShadowRenderer.ts","../../../packages/engine/src/system/render2d/ShadowLightRendererSystem.ts","../../../packages/engine/src/system/render2d/SpriteRendererSystem.ts","../../../packages/engine/src/component/render2d/TextRenderer.ts","../../../packages/engine/src/system/render2d/TextRendererSystem.ts","../../../packages/engine/src/system/render2d/TilemapRendererSystem.ts","../../../packages/engine/src/component/physics2d/RigidBody.ts","../../../packages/engine/src/system/physics2d/ApplyVelocitySystem.ts","../../../packages/engine/src/system/physics2d/collider/BaseUpdateColliderShapeSystem.ts","../../../packages/engine/src/system/physics2d/collider/UpdateBallColliderShapeSystem.ts","../../../packages/engine/src/system/physics2d/collider/UpdateBoxColliderShapeSystem.ts","../../../packages/engine/src/system/physics2d/collider/UpdateEdgeColliderShapeSystem.ts","../../../packages/engine/src/system/physics2d/collider/UpdatePolygonColliderShapeSystem.ts","../../../packages/engine/src/system/physics2d/collider/UpdateTilemapColliderShapeSystem.ts","../../../packages/engine/src/system/physics2d/ResolveCollisionSystem.ts","../../../packages/engine/src/system/physics2d/ApplyRepositionSystem.ts","../../../packages/engine/src/system/physics2d/collider/UpdateCollidersAfterRepositionSystem.ts","../../../packages/engine/src/config/systemTypes.ts","../../../packages/engine/src/manager/LoopManager.ts","../../../packages/engine/src/system/SystemFactory.ts","../../../packages/engine/src/manager/RenderManager.ts","../../../packages/engine/src/config/bootstrap.ts","../../../packages/engine/src/Game.ts","../../../packages/engine/src/system/GameSystem.ts","../../../packages/engine/src/index.ts"],"sourcesContent":[null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/**\n * Common utilities\n * @module glMatrix\n */\n// Configuration Constants\nexport var EPSILON = 0.000001;\nexport var ARRAY_TYPE = typeof Float32Array !== 'undefined' ? Float32Array : Array;\nexport var RANDOM = Math.random;\n/**\n * Sets the type of array used when creating new vectors and matrices\n *\n * @param {Float32ArrayConstructor | ArrayConstructor} type Array type, such as Float32Array or Array\n */\n\nexport function setMatrixArrayType(type) {\n ARRAY_TYPE = type;\n}\nvar degree = Math.PI / 180;\n/**\n * Convert Degree To Radian\n *\n * @param {Number} a Angle in Degrees\n */\n\nexport function toRadian(a) {\n return a * degree;\n}\n/**\n * Tests whether or not the arguments have approximately the same value, within an absolute\n * or relative tolerance of glMatrix.EPSILON (an absolute tolerance is used for values less\n * than or equal to 1.0, and a relative tolerance is used for larger values)\n *\n * @param {Number} a The first number to test.\n * @param {Number} b The second number to test.\n * @returns {Boolean} True if the numbers are approximately equal, false otherwise.\n */\n\nexport function equals(a, b) {\n return Math.abs(a - b) <= EPSILON * Math.max(1.0, Math.abs(a), Math.abs(b));\n}\nif (!Math.hypot) Math.hypot = function () {\n var y = 0,\n i = arguments.length;\n\n while (i--) {\n y += arguments[i] * arguments[i];\n }\n\n return Math.sqrt(y);\n};","import * as glMatrix from \"./common.js\";\n/**\n * 4x4 Matrix<br>Format: column-major, when typed out it looks like row-major<br>The matrices are being post multiplied.\n * @module mat4\n */\n\n/**\n * Creates a new identity mat4\n *\n * @returns {mat4} a new 4x4 matrix\n */\n\nexport function create() {\n var out = new glMatrix.ARRAY_TYPE(16);\n\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n }\n\n out[0] = 1;\n out[5] = 1;\n out[10] = 1;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a new mat4 initialized with values from an existing matrix\n *\n * @param {ReadonlyMat4} a matrix to clone\n * @returns {mat4} a new 4x4 matrix\n */\n\nexport function clone(a) {\n var out = new glMatrix.ARRAY_TYPE(16);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n out[9] = a[9];\n out[10] = a[10];\n out[11] = a[11];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n return out;\n}\n/**\n * Copy the values from one mat4 to another\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the source matrix\n * @returns {mat4} out\n */\n\nexport function copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n out[9] = a[9];\n out[10] = a[10];\n out[11] = a[11];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n return out;\n}\n/**\n * Create a new mat4 with the given values\n *\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m02 Component in column 0, row 2 position (index 2)\n * @param {Number} m03 Component in column 0, row 3 position (index 3)\n * @param {Number} m10 Component in column 1, row 0 position (index 4)\n * @param {Number} m11 Component in column 1, row 1 position (index 5)\n * @param {Number} m12 Component in column 1, row 2 position (index 6)\n * @param {Number} m13 Component in column 1, row 3 position (index 7)\n * @param {Number} m20 Component in column 2, row 0 position (index 8)\n * @param {Number} m21 Component in column 2, row 1 position (index 9)\n * @param {Number} m22 Component in column 2, row 2 position (index 10)\n * @param {Number} m23 Component in column 2, row 3 position (index 11)\n * @param {Number} m30 Component in column 3, row 0 position (index 12)\n * @param {Number} m31 Component in column 3, row 1 position (index 13)\n * @param {Number} m32 Component in column 3, row 2 position (index 14)\n * @param {Number} m33 Component in column 3, row 3 position (index 15)\n * @returns {mat4} A new mat4\n */\n\nexport function fromValues(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33) {\n var out = new glMatrix.ARRAY_TYPE(16);\n out[0] = m00;\n out[1] = m01;\n out[2] = m02;\n out[3] = m03;\n out[4] = m10;\n out[5] = m11;\n out[6] = m12;\n out[7] = m13;\n out[8] = m20;\n out[9] = m21;\n out[10] = m22;\n out[11] = m23;\n out[12] = m30;\n out[13] = m31;\n out[14] = m32;\n out[15] = m33;\n return out;\n}\n/**\n * Set the components of a mat4 to the given values\n *\n * @param {mat4} out the receiving matrix\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m02 Component in column 0, row 2 position (index 2)\n * @param {Number} m03 Component in column 0, row 3 position (index 3)\n * @param {Number} m10 Component in column 1, row 0 position (index 4)\n * @param {Number} m11 Component in column 1, row 1 position (index 5)\n * @param {Number} m12 Component in column 1, row 2 position (index 6)\n * @param {Number} m13 Component in column 1, row 3 position (index 7)\n * @param {Number} m20 Component in column 2, row 0 position (index 8)\n * @param {Number} m21 Component in column 2, row 1 position (index 9)\n * @param {Number} m22 Component in column 2, row 2 position (index 10)\n * @param {Number} m23 Component in column 2, row 3 position (index 11)\n * @param {Number} m30 Component in column 3, row 0 position (index 12)\n * @param {Number} m31 Component in column 3, row 1 position (index 13)\n * @param {Number} m32 Component in column 3, row 2 position (index 14)\n * @param {Number} m33 Component in column 3, row 3 position (index 15)\n * @returns {mat4} out\n */\n\nexport function set(out, m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33) {\n out[0] = m00;\n out[1] = m01;\n out[2] = m02;\n out[3] = m03;\n out[4] = m10;\n out[5] = m11;\n out[6] = m12;\n out[7] = m13;\n out[8] = m20;\n out[9] = m21;\n out[10] = m22;\n out[11] = m23;\n out[12] = m30;\n out[13] = m31;\n out[14] = m32;\n out[15] = m33;\n return out;\n}\n/**\n * Set a mat4 to the identity matrix\n *\n * @param {mat4} out the receiving matrix\n * @returns {mat4} out\n */\n\nexport function identity(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = 1;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = 1;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Transpose the values of a mat4\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the source matrix\n * @returns {mat4} out\n */\n\nexport function transpose(out, a) {\n // If we are transposing ourselves we can skip a few steps but have to cache some values\n if (out === a) {\n var a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a12 = a[6],\n a13 = a[7];\n var a23 = a[11];\n out[1] = a[4];\n out[2] = a[8];\n out[3] = a[12];\n out[4] = a01;\n out[6] = a[9];\n out[7] = a[13];\n out[8] = a02;\n out[9] = a12;\n out[11] = a[14];\n out[12] = a03;\n out[13] = a13;\n out[14] = a23;\n } else {\n out[0] = a[0];\n out[1] = a[4];\n out[2] = a[8];\n out[3] = a[12];\n out[4] = a[1];\n out[5] = a[5];\n out[6] = a[9];\n out[7] = a[13];\n out[8] = a[2];\n out[9] = a[6];\n out[10] = a[10];\n out[11] = a[14];\n out[12] = a[3];\n out[13] = a[7];\n out[14] = a[11];\n out[15] = a[15];\n }\n\n return out;\n}\n/**\n * Inverts a mat4\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the source matrix\n * @returns {mat4} out\n */\n\nexport function invert(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7];\n var a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n var a30 = a[12],\n a31 = a[13],\n a32 = a[14],\n a33 = a[15];\n var b00 = a00 * a11 - a01 * a10;\n var b01 = a00 * a12 - a02 * a10;\n var b02 = a00 * a13 - a03 * a10;\n var b03 = a01 * a12 - a02 * a11;\n var b04 = a01 * a13 - a03 * a11;\n var b05 = a02 * a13 - a03 * a12;\n var b06 = a20 * a31 - a21 * a30;\n var b07 = a20 * a32 - a22 * a30;\n var b08 = a20 * a33 - a23 * a30;\n var b09 = a21 * a32 - a22 * a31;\n var b10 = a21 * a33 - a23 * a31;\n var b11 = a22 * a33 - a23 * a32; // Calculate the determinant\n\n var det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\n\n if (!det) {\n return null;\n }\n\n det = 1.0 / det;\n out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det;\n out[1] = (a02 * b10 - a01 * b11 - a03 * b09) * det;\n out[2] = (a31 * b05 - a32 * b04 + a33 * b03) * det;\n out[3] = (a22 * b04 - a21 * b05 - a23 * b03) * det;\n out[4] = (a12 * b08 - a10 * b11 - a13 * b07) * det;\n out[5] = (a00 * b11 - a02 * b08 + a03 * b07) * det;\n out[6] = (a32 * b02 - a30 * b05 - a33 * b01) * det;\n out[7] = (a20 * b05 - a22 * b02 + a23 * b01) * det;\n out[8] = (a10 * b10 - a11 * b08 + a13 * b06) * det;\n out[9] = (a01 * b08 - a00 * b10 - a03 * b06) * det;\n out[10] = (a30 * b04 - a31 * b02 + a33 * b00) * det;\n out[11] = (a21 * b02 - a20 * b04 - a23 * b00) * det;\n out[12] = (a11 * b07 - a10 * b09 - a12 * b06) * det;\n out[13] = (a00 * b09 - a01 * b07 + a02 * b06) * det;\n out[14] = (a31 * b01 - a30 * b03 - a32 * b00) * det;\n out[15] = (a20 * b03 - a21 * b01 + a22 * b00) * det;\n return out;\n}\n/**\n * Calculates the adjugate of a mat4\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the source matrix\n * @returns {mat4} out\n */\n\nexport function adjoint(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7];\n var a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n var a30 = a[12],\n a31 = a[13],\n a32 = a[14],\n a33 = a[15];\n out[0] = a11 * (a22 * a33 - a23 * a32) - a21 * (a12 * a33 - a13 * a32) + a31 * (a12 * a23 - a13 * a22);\n out[1] = -(a01 * (a22 * a33 - a23 * a32) - a21 * (a02 * a33 - a03 * a32) + a31 * (a02 * a23 - a03 * a22));\n out[2] = a01 * (a12 * a33 - a13 * a32) - a11 * (a02 * a33 - a03 * a32) + a31 * (a02 * a13 - a03 * a12);\n out[3] = -(a01 * (a12 * a23 - a13 * a22) - a11 * (a02 * a23 - a03 * a22) + a21 * (a02 * a13 - a03 * a12));\n out[4] = -(a10 * (a22 * a33 - a23 * a32) - a20 * (a12 * a33 - a13 * a32) + a30 * (a12 * a23 - a13 * a22));\n out[5] = a00 * (a22 * a33 - a23 * a32) - a20 * (a02 * a33 - a03 * a32) + a30 * (a02 * a23 - a03 * a22);\n out[6] = -(a00 * (a12 * a33 - a13 * a32) - a10 * (a02 * a33 - a03 * a32) + a30 * (a02 * a13 - a03 * a12));\n out[7] = a00 * (a12 * a23 - a13 * a22) - a10 * (a02 * a23 - a03 * a22) + a20 * (a02 * a13 - a03 * a12);\n out[8] = a10 * (a21 * a33 - a23 * a31) - a20 * (a11 * a33 - a13 * a31) + a30 * (a11 * a23 - a13 * a21);\n out[9] = -(a00 * (a21 * a33 - a23 * a31) - a20 * (a01 * a33 - a03 * a31) + a30 * (a01 * a23 - a03 * a21));\n out[10] = a00 * (a11 * a33 - a13 * a31) - a10 * (a01 * a33 - a03 * a31) + a30 * (a01 * a13 - a03 * a11);\n out[11] = -(a00 * (a11 * a23 - a13 * a21) - a10 * (a01 * a23 - a03 * a21) + a20 * (a01 * a13 - a03 * a11));\n out[12] = -(a10 * (a21 * a32 - a22 * a31) - a20 * (a11 * a32 - a12 * a31) + a30 * (a11 * a22 - a12 * a21));\n out[13] = a00 * (a21 * a32 - a22 * a31) - a20 * (a01 * a32 - a02 * a31) + a30 * (a01 * a22 - a02 * a21);\n out[14] = -(a00 * (a11 * a32 - a12 * a31) - a10 * (a01 * a32 - a02 * a31) + a30 * (a01 * a12 - a02 * a11));\n out[15] = a00 * (a11 * a22 - a12 * a21) - a10 * (a01 * a22 - a02 * a21) + a20 * (a01 * a12 - a02 * a11);\n return out;\n}\n/**\n * Calculates the determinant of a mat4\n *\n * @param {ReadonlyMat4} a the source matrix\n * @returns {Number} determinant of a\n */\n\nexport function determinant(a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7];\n var a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n var a30 = a[12],\n a31 = a[13],\n a32 = a[14],\n a33 = a[15];\n var b00 = a00 * a11 - a01 * a10;\n var b01 = a00 * a12 - a02 * a10;\n var b02 = a00 * a13 - a03 * a10;\n var b03 = a01 * a12 - a02 * a11;\n var b04 = a01 * a13 - a03 * a11;\n var b05 = a02 * a13 - a03 * a12;\n var b06 = a20 * a31 - a21 * a30;\n var b07 = a20 * a32 - a22 * a30;\n var b08 = a20 * a33 - a23 * a30;\n var b09 = a21 * a32 - a22 * a31;\n var b10 = a21 * a33 - a23 * a31;\n var b11 = a22 * a33 - a23 * a32; // Calculate the determinant\n\n return b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\n}\n/**\n * Multiplies two mat4s\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the first operand\n * @param {ReadonlyMat4} b the second operand\n * @returns {mat4} out\n */\n\nexport function multiply(out, a, b) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7];\n var a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n var a30 = a[12],\n a31 = a[13],\n a32 = a[14],\n a33 = a[15]; // Cache only the current line of the second matrix\n\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3];\n out[0] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;\n out[1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;\n out[2] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;\n out[3] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;\n b0 = b[4];\n b1 = b[5];\n b2 = b[6];\n b3 = b[7];\n out[4] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;\n out[5] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;\n out[6] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;\n out[7] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;\n b0 = b[8];\n b1 = b[9];\n b2 = b[10];\n b3 = b[11];\n out[8] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;\n out[9] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;\n out[10] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;\n out[11] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;\n b0 = b[12];\n b1 = b[13];\n b2 = b[14];\n b3 = b[15];\n out[12] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;\n out[13] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;\n out[14] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;\n out[15] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;\n return out;\n}\n/**\n * Translate a mat4 by the given vector\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to translate\n * @param {ReadonlyVec3} v vector to translate by\n * @returns {mat4} out\n */\n\nexport function translate(out, a, v) {\n var x = v[0],\n y = v[1],\n z = v[2];\n var a00, a01, a02, a03;\n var a10, a11, a12, a13;\n var a20, a21, a22, a23;\n\n if (a === out) {\n out[12] = a[0] * x + a[4] * y + a[8] * z + a[12];\n out[13] = a[1] * x + a[5] * y + a[9] * z + a[13];\n out[14] = a[2] * x + a[6] * y + a[10] * z + a[14];\n out[15] = a[3] * x + a[7] * y + a[11] * z + a[15];\n } else {\n a00 = a[0];\n a01 = a[1];\n a02 = a[2];\n a03 = a[3];\n a10 = a[4];\n a11 = a[5];\n a12 = a[6];\n a13 = a[7];\n a20 = a[8];\n a21 = a[9];\n a22 = a[10];\n a23 = a[11];\n out[0] = a00;\n out[1] = a01;\n out[2] = a02;\n out[3] = a03;\n out[4] = a10;\n out[5] = a11;\n out[6] = a12;\n out[7] = a13;\n out[8] = a20;\n out[9] = a21;\n out[10] = a22;\n out[11] = a23;\n out[12] = a00 * x + a10 * y + a20 * z + a[12];\n out[13] = a01 * x + a11 * y + a21 * z + a[13];\n out[14] = a02 * x + a12 * y + a22 * z + a[14];\n out[15] = a03 * x + a13 * y + a23 * z + a[15];\n }\n\n return out;\n}\n/**\n * Scales the mat4 by the dimensions in the given vec3 not using vectorization\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to scale\n * @param {ReadonlyVec3} v the vec3 to scale the matrix by\n * @returns {mat4} out\n **/\n\nexport function scale(out, a, v) {\n var x = v[0],\n y = v[1],\n z = v[2];\n out[0] = a[0] * x;\n out[1] = a[1] * x;\n out[2] = a[2] * x;\n out[3] = a[3] * x;\n out[4] = a[4] * y;\n out[5] = a[5] * y;\n out[6] = a[6] * y;\n out[7] = a[7] * y;\n out[8] = a[8] * z;\n out[9] = a[9] * z;\n out[10] = a[10] * z;\n out[11] = a[11] * z;\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n return out;\n}\n/**\n * Rotates a mat4 by the given angle around the given axis\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @param {ReadonlyVec3} axis the axis to rotate around\n * @returns {mat4} out\n */\n\nexport function rotate(out, a, rad, axis) {\n var x = axis[0],\n y = axis[1],\n z = axis[2];\n var len = Math.hypot(x, y, z);\n var s, c, t;\n var a00, a01, a02, a03;\n var a10, a11, a12, a13;\n var a20, a21, a22, a23;\n var b00, b01, b02;\n var b10, b11, b12;\n var b20, b21, b22;\n\n if (len < glMatrix.EPSILON) {\n return null;\n }\n\n len = 1 / len;\n x *= len;\n y *= len;\n z *= len;\n s = Math.sin(rad);\n c = Math.cos(rad);\n t = 1 - c;\n a00 = a[0];\n a01 = a[1];\n a02 = a[2];\n a03 = a[3];\n a10 = a[4];\n a11 = a[5];\n a12 = a[6];\n a13 = a[7];\n a20 = a[8];\n a21 = a[9];\n a22 = a[10];\n a23 = a[11]; // Construct the elements of the rotation matrix\n\n b00 = x * x * t + c;\n b01 = y * x * t + z * s;\n b02 = z * x * t - y * s;\n b10 = x * y * t - z * s;\n b11 = y * y * t + c;\n b12 = z * y * t + x * s;\n b20 = x * z * t + y * s;\n b21 = y * z * t - x * s;\n b22 = z * z * t + c; // Perform rotation-specific matrix multiplication\n\n out[0] = a00 * b00 + a10 * b01 + a20 * b02;\n out[1] = a01 * b00 + a11 * b01 + a21 * b02;\n out[2] = a02 * b00 + a12 * b01 + a22 * b02;\n out[3] = a03 * b00 + a13 * b01 + a23 * b02;\n out[4] = a00 * b10 + a10 * b11 + a20 * b12;\n out[5] = a01 * b10 + a11 * b11 + a21 * b12;\n out[6] = a02 * b10 + a12 * b11 + a22 * b12;\n out[7] = a03 * b10 + a13 * b11 + a23 * b12;\n out[8] = a00 * b20 + a10 * b21 + a20 * b22;\n out[9] = a01 * b20 + a11 * b21 + a21 * b22;\n out[10] = a02 * b20 + a12 * b21 + a22 * b22;\n out[11] = a03 * b20 + a13 * b21 + a23 * b22;\n\n if (a !== out) {\n // If the source and destination differ, copy the unchanged last row\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n }\n\n return out;\n}\n/**\n * Rotates a matrix by the given angle around the X axis\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\nexport function rotateX(out, a, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad);\n var a10 = a[4];\n var a11 = a[5];\n var a12 = a[6];\n var a13 = a[7];\n var a20 = a[8];\n var a21 = a[9];\n var a22 = a[10];\n var a23 = a[11];\n\n if (a !== out) {\n // If the source and destination differ, copy the unchanged rows\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n } // Perform axis-specific matrix multiplication\n\n\n out[4] = a10 * c + a20 * s;\n out[5] = a11 * c + a21 * s;\n out[6] = a12 * c + a22 * s;\n out[7] = a13 * c + a23 * s;\n out[8] = a20 * c - a10 * s;\n out[9] = a21 * c - a11 * s;\n out[10] = a22 * c - a12 * s;\n out[11] = a23 * c - a13 * s;\n return out;\n}\n/**\n * Rotates a matrix by the given angle around the Y axis\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\nexport function rotateY(out, a, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad);\n var a00 = a[0];\n var a01 = a[1];\n var a02 = a[2];\n var a03 = a[3];\n var a20 = a[8];\n var a21 = a[9];\n var a22 = a[10];\n var a23 = a[11];\n\n if (a !== out) {\n // If the source and destination differ, copy the unchanged rows\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n } // Perform axis-specific matrix multiplication\n\n\n out[0] = a00 * c - a20 * s;\n out[1] = a01 * c - a21 * s;\n out[2] = a02 * c - a22 * s;\n out[3] = a03 * c - a23 * s;\n out[8] = a00 * s + a20 * c;\n out[9] = a01 * s + a21 * c;\n out[10] = a02 * s + a22 * c;\n out[11] = a03 * s + a23 * c;\n return out;\n}\n/**\n * Rotates a matrix by the given angle around the Z axis\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\nexport function rotateZ(out, a, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad);\n var a00 = a[0];\n var a01 = a[1];\n var a02 = a[2];\n var a03 = a[3];\n var a10 = a[4];\n var a11 = a[5];\n var a12 = a[6];\n var a13 = a[7];\n\n if (a !== out) {\n // If the source and destination differ, copy the unchanged last row\n out[8] = a[8];\n out[9] = a[9];\n out[10] = a[10];\n out[11] = a[11];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n } // Perform axis-specific matrix multiplication\n\n\n out[0] = a00 * c + a10 * s;\n out[1] = a01 * c + a11 * s;\n out[2] = a02 * c + a12 * s;\n out[3] = a03 * c + a13 * s;\n out[4] = a10 * c - a00 * s;\n out[5] = a11 * c - a01 * s;\n out[6] = a12 * c - a02 * s;\n out[7] = a13 * c - a03 * s;\n return out;\n}\n/**\n * Creates a matrix from a vector translation\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.translate(dest, dest, vec);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {ReadonlyVec3} v Translation vector\n * @returns {mat4} out\n */\n\nexport function fromTranslation(out, v) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = 1;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = 1;\n out[11] = 0;\n out[12] = v[0];\n out[13] = v[1];\n out[14] = v[2];\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from a vector scaling\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.scale(dest, dest, vec);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {ReadonlyVec3} v Scaling vector\n * @returns {mat4} out\n */\n\nexport function fromScaling(out, v) {\n out[0] = v[0];\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = v[1];\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = v[2];\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from a given angle around a given axis\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.rotate(dest, dest, rad, axis);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @param {ReadonlyVec3} axis the axis to rotate around\n * @returns {mat4} out\n */\n\nexport function fromRotation(out, rad, axis) {\n var x = axis[0],\n y = axis[1],\n z = axis[2];\n var len = Math.hypot(x, y, z);\n var s, c, t;\n\n if (len < glMatrix.EPSILON) {\n return null;\n }\n\n len = 1 / len;\n x *= len;\n y *= len;\n z *= len;\n s = Math.sin(rad);\n c = Math.cos(rad);\n t = 1 - c; // Perform rotation-specific matrix multiplication\n\n out[0] = x * x * t + c;\n out[1] = y * x * t + z * s;\n out[2] = z * x * t - y * s;\n out[3] = 0;\n out[4] = x * y * t - z * s;\n out[5] = y * y * t + c;\n out[6] = z * y * t + x * s;\n out[7] = 0;\n out[8] = x * z * t + y * s;\n out[9] = y * z * t - x * s;\n out[10] = z * z * t + c;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from the given angle around the X axis\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.rotateX(dest, dest, rad);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\nexport function fromXRotation(out, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad); // Perform axis-specific matrix multiplication\n\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = c;\n out[6] = s;\n out[7] = 0;\n out[8] = 0;\n out[9] = -s;\n out[10] = c;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from the given angle around the Y axis\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.rotateY(dest, dest, rad);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\nexport function fromYRotation(out, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad); // Perform axis-specific matrix multiplication\n\n out[0] = c;\n out[1] = 0;\n out[2] = -s;\n out[3] = 0;\n out[4] = 0;\n out[5] = 1;\n out[6] = 0;\n out[7] = 0;\n out[8] = s;\n out[9] = 0;\n out[10] = c;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from the given angle around the Z axis\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.rotateZ(dest, dest, rad);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\nexport function fromZRotation(out, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad); // Perform axis-specific matrix multiplication\n\n out[0] = c;\n out[1] = s;\n out[2] = 0;\n out[3] = 0;\n out[4] = -s;\n out[5] = c;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = 1;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from a quaternion rotation and vector translation\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.translate(dest, vec);\n * let quatMat = mat4.create();\n * quat4.toMat4(quat, quatMat);\n * mat4.multiply(dest, quatMat);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {quat4} q Rotation quaternion\n * @param {ReadonlyVec3} v Translation vector\n * @returns {mat4} out\n */\n\nexport function fromRotationTranslation(out, q, v) {\n // Quaternion math\n var x = q[0],\n y = q[1],\n z = q[2],\n w = q[3];\n var x2 = x + x;\n var y2 = y + y;\n var z2 = z + z;\n var xx = x * x2;\n var xy = x * y2;\n var xz = x * z2;\n var yy = y * y2;\n var yz = y * z2;\n var zz = z * z2;\n var wx = w * x2;\n var wy = w * y2;\n var wz = w * z2;\n out[0] = 1 - (yy + zz);\n out[1] = xy + wz;\n out[2] = xz - wy;\n out[3] = 0;\n out[4] = xy - wz;\n out[5] = 1 - (xx + zz);\n out[6] = yz + wx;\n out[7] = 0;\n out[8] = xz + wy;\n out[9] = yz - wx;\n out[10] = 1 - (xx + yy);\n out[11] = 0;\n out[12] = v[0];\n out[13] = v[1];\n out[14] = v[2];\n out[15] = 1;\n return out;\n}\n/**\n * Creates a new mat4 from a dual quat.\n *\n * @param {mat4} out Matrix\n * @param {ReadonlyQuat2} a Dual Quaternion\n * @returns {mat4} mat4 receiving operation result\n */\n\nexport function fromQuat2(out, a) {\n var translation = new glMatrix.ARRAY_TYPE(3);\n var bx = -a[0],\n by = -a[1],\n bz = -a[2],\n bw = a[3],\n ax = a[4],\n ay = a[5],\n az = a[6],\n aw = a[7];\n var magnitude = bx * bx + by * by + bz * bz + bw * bw; //Only scale if it makes sense\n\n if (magnitude > 0) {\n translation[0] = (ax * bw + aw * bx + ay * bz - az * by) * 2 / magnitude;\n translation[1] = (ay * bw + aw * by + az * bx - ax * bz) * 2 / magnitude;\n translation[2] = (az * bw + aw * bz + ax * by - ay * bx) * 2 / magnitude;\n } else {\n translation[0] = (ax * bw + aw * bx + ay * bz - az * by) * 2;\n translation[1] = (ay * bw + aw * by + az * bx - ax * bz) * 2;\n translation[2] = (az * bw + aw * bz + ax * by - ay * bx) * 2;\n }\n\n fromRotationTranslation(out, a, translation);\n return out;\n}\n/**\n * Returns the translation vector component of a transformation\n * matrix. If a matrix is built with fromRotationTranslation,\n * the returned vector will be the same as the translation vector\n * originally supplied.\n * @param {vec3} out Vector to receive translation component\n * @param {ReadonlyMat4} mat Matrix to be decomposed (input)\n * @return {vec3} out\n */\n\nexport function getTranslation(out, mat) {\n out[0] = mat[12];\n out[1] = mat[13];\n out[2] = mat[14];\n return out;\n}\n/**\n * Returns the scaling factor component of a transformation\n * matrix. If a matrix is built with fromRotationTranslationScale\n * with a normalized Quaternion paramter, the returned vector will be\n * the same as the scaling vector\n * originally supplied.\n * @param {vec3} out Vector to receive scaling factor component\n * @param {ReadonlyMat4} mat Matrix to be decomposed (input)\n * @return {vec3} out\n */\n\nexport function getScaling(out, mat) {\n var m11 = mat[0];\n var m12 = mat[1];\n var m13 = mat[2];\n var m21 = mat[4];\n var m22 = mat[5];\n var m23 = mat[6];\n var m31 = mat[8];\n var m32 = mat[9];\n var m33 = mat[10];\n out[0] = Math.hypot(m11, m12, m13);\n out[1] = Math.hypot(m21, m22, m23);\n out[2] = Math.hypot(m31, m32, m33);\n return out;\n}\n/**\n * Returns a quaternion representing the rotational component\n * of a transformation matrix. If a matrix is built with\n * fromRotationTranslation, the returned quaternion will be the\n * same as the quaternion originally supplied.\n * @param {quat} out Quaternion to receive the rotation component\n * @param {ReadonlyMat4} mat Matrix to be decomposed (input)\n * @return {quat} out\n */\n\nexport function getRotation(out, mat) {\n var scaling = new glMatrix.ARRAY_TYPE(3);\n getScaling(scaling, mat);\n var is1 = 1 / scaling[0];\n var is2 = 1 / scaling[1];\n var is3 = 1 / scaling[2];\n var sm11 = mat[0] * is1;\n var sm12 = mat[1] * is2;\n var sm13 = mat[2] * is3;\n var sm21 = mat[4] * is1;\n var sm22 = mat[5] * is2;\n var sm23 = mat[6] * is3;\n var sm31 = mat[8] * is1;\n var sm32 = mat[9] * is2;\n var sm33 = mat[10] * is3;\n var trace = sm11 + sm22 + sm33;\n var S = 0;\n\n if (trace > 0) {\n S = Math.sqrt(trace + 1.0) * 2;\n out[3] = 0.25 * S;\n out[0] = (sm23 - sm32) / S;\n out[1] = (sm31 - sm13) / S;\n out[2] = (sm12 - sm21) / S;\n } else if (sm11 > sm22 && sm11 > sm33) {\n S = Math.sqrt(1.0 + sm11 - sm22 - sm33) * 2;\n out[3] = (sm23 - sm32) / S;\n out[0] = 0.25 * S;\n out[1] = (sm12 + sm21) / S;\n out[2] = (sm31 + sm13) / S;\n } else if (sm22 > sm33) {\n S = Math.sqrt(1.0 + sm22 - sm11 - sm33) * 2;\n out[3] = (sm31 - sm13) / S;\n out[0] = (sm12 + sm21) / S;\n out[1] = 0.25 * S;\n out[2] = (sm23 + sm32) / S;\n } else {\n S = Math.sqrt(1.0 + sm33 - sm11 - sm22) * 2;\n out[3] = (sm12 - sm21) / S;\n out[0] = (sm31 + sm13) / S;\n out[1] = (sm23 + sm32) / S;\n out[2] = 0.25 * S;\n }\n\n return out;\n}\n/**\n * Creates a matrix from a quaternion rotation, vector translation and vector scale\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.translate(dest, vec);\n * let quatMat = mat4.create();\n * quat4.toMat4(quat, quatMat);\n * mat4.multiply(dest, quatMat);\n * mat4.scale(dest, scale)\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {quat4} q Rotation quaternion\n * @param {ReadonlyVec3} v Translation vector\n * @param {ReadonlyVec3} s Scaling vector\n * @returns {mat4} out\n */\n\nexport function fromRotationTranslationScale(out, q, v, s) {\n // Quaternion math\n var x = q[0],\n y = q[1],\n z = q[2],\n w = q[3];\n var x2 = x + x;\n var y2 = y + y;\n var z2 = z + z;\n var xx = x * x2;\n var xy = x * y2;\n var xz = x * z2;\n var yy = y * y2;\n var yz = y * z2;\n var zz = z * z2;\n var wx = w * x2;\n var wy = w * y2;\n var wz = w * z2;\n var sx = s[0];\n var sy = s[1];\n var sz = s[2];\n out[0] = (1 - (yy + zz)) * sx;\n out[1] = (xy + wz) * sx;\n out[2] = (xz - wy) * sx;\n out[3] = 0;\n out[4] = (xy - wz) * sy;\n out[5] = (1 - (xx + zz)) * sy;\n out[6] = (yz + wx) * sy;\n out[7] = 0;\n out[8] = (xz + wy) * sz;\n out[9] = (yz - wx) * sz;\n out[10] = (1 - (xx + yy)) * sz;\n out[11] = 0;\n out[12] = v[0];\n out[13] = v[1];\n out[14] = v[2];\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from a quaternion rotation, vector translation and vector scale, rotating and scaling around the given origin\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.translate(dest, vec);\n * mat4.translate(dest, origin);\n * let quatMat = mat4.create();\n * quat4.toMat4(quat, quatMat);\n * mat4.multiply(dest, quatMat);\n * mat4.scale(dest, scale)\n * mat4.translate(dest, negativeOrigin);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {quat4} q Rotation quaternion\n * @param {ReadonlyVec3} v Translation vector\n * @param {ReadonlyVec3} s Scaling vector\n * @param {ReadonlyVec3} o The origin vector around which to scale and rotate\n * @returns {mat4} out\n */\n\nexport function fromRotationTranslationScaleOrigin(out, q, v, s, o) {\n // Quaternion math\n var x = q[0],\n y = q[1],\n z = q[2],\n w = q[3];\n var x2 = x + x;\n var y2 = y + y;\n var z2 = z + z;\n var xx = x * x2;\n var xy = x * y2;\n var xz = x * z2;\n var yy = y * y2;\n var yz = y * z2;\n var zz = z * z2;\n var wx = w * x2;\n var wy = w * y2;\n var wz = w * z2;\n var sx = s[0];\n var sy = s[1];\n var sz = s[2];\n var ox = o[0];\n var oy = o[1];\n var oz = o[2];\n var out0 = (1 - (yy + zz)) * sx;\n var out1 = (xy + wz) * sx;\n var out2 = (xz - wy) * sx;\n var out4 = (xy - wz) * sy;\n var out5 = (1 - (xx + zz)) * sy;\n var out6 = (yz + wx) * sy;\n var out8 = (xz + wy) * sz;\n var out9 = (yz - wx) * sz;\n var out10 = (1 - (xx + yy)) * sz;\n out[0] = out0;\n out[1] = out1;\n out[2] = out2;\n out[3] = 0;\n out[4] = out4;\n out[5] = out5;\n out[6] = out6;\n out[7] = 0;\n out[8] = out8;\n out[9] = out9;\n out[10] = out10;\n out[11] = 0;\n out[12] = v[0] + ox - (out0 * ox + out4 * oy + out8 * oz);\n out[13] = v[1] + oy - (out1 * ox + out5 * oy + out9 * oz);\n out[14] = v[2] + oz - (out2 * ox + out6 * oy + out10 * oz);\n out[15] = 1;\n return out;\n}\n/**\n * Calculates a 4x4 matrix from the given quaternion\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {ReadonlyQuat} q Quaternion to create matrix from\n *\n * @returns {mat4} out\n */\n\nexport function fromQuat(out, q) {\n var x = q[0],\n y = q[1],\n z = q[2],\n w = q[3];\n var x2 = x + x;\n var y2 = y + y;\n var z2 = z + z;\n var xx = x * x2;\n var yx = y * x2;\n var yy = y * y2;\n var zx = z * x2;\n var zy = z * y2;\n var zz = z * z2;\n var wx = w * x2;\n var wy = w * y2;\n var wz = w * z2;\n out[0] = 1 - yy - zz;\n out[1] = yx + wz;\n out[2] = zx - wy;\n out[3] = 0;\n out[4] = yx - wz;\n out[5] = 1 - xx - zz;\n out[6] = zy + wx;\n out[7] = 0;\n out[8] = zx + wy;\n out[9] = zy - wx;\n out[10] = 1 - xx - yy;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Generates a frustum matrix with the given bounds\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {Number} left Left bound of the frustum\n * @param {Number} right Right bound of the frustum\n * @param {Number} bottom Bottom bound of the frustum\n * @param {Number} top Top bound of the frustum\n * @param {Number} near Near bound of the frustum\n * @param {Number} far Far bound of the frustum\n * @returns {mat4} out\n */\n\nexport function frustum(out, left, right, bottom, top, near, far) {\n var rl = 1 / (right - left);\n var tb = 1 / (top - bottom);\n var nf = 1 / (near - far);\n out[0] = near * 2 * rl;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = near * 2 * tb;\n out[6] = 0;\n out[7] = 0;\n out[8] = (right + left) * rl;\n out[9] = (top + bottom) * tb;\n out[10] = (far + near) * nf;\n out[11] = -1;\n out[12] = 0;\n out[13] = 0;\n out[14] = far * near * 2 * nf;\n out[15] = 0;\n return out;\n}\n/**\n * Generates a perspective projection matrix with the given bounds.\n * The near/far clip planes correspond to a normalized device coordinate Z range of [-1, 1],\n * which matches WebGL/OpenGL's clip volume.\n * Passing null/undefined/no value for far will generate infinite projection matrix.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} fovy Vertical field of view in radians\n * @param {number} aspect Aspect ratio. typically viewport width/height\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum, can be null or Infinity\n * @returns {mat4} out\n */\n\nexport function perspectiveNO(out, fovy, aspect, near, far) {\n var f = 1.0 / Math.tan(fovy / 2),\n nf;\n out[0] = f / aspect;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = f;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[11] = -1;\n out[12] = 0;\n out[13] = 0;\n out[15] = 0;\n\n if (far != null && far !== Infinity) {\n nf = 1 / (near - far);\n out[10] = (far + near) * nf;\n out[14] = 2 * far * near * nf;\n } else {\n out[10] = -1;\n out[14] = -2 * near;\n }\n\n return out;\n}\n/**\n * Alias for {@link mat4.perspectiveNO}\n * @function\n */\n\nexport var perspective = perspectiveNO;\n/**\n * Generates a perspective projection matrix suitable for WebGPU with the given bounds.\n * The near/far clip planes correspond to a normalized device coordinate Z range of [0, 1],\n * which matches WebGPU/Vulkan/DirectX/Metal's clip volume.\n * Passing null/undefined/no value for far will generate infinite projection matrix.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} fovy Vertical field of view in radians\n * @param {number} aspect Aspect ratio. typically viewport width/height\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum, can be null or Infinity\n * @returns {mat4} out\n */\n\nexport function perspectiveZO(out, fovy, aspect, near, far) {\n var f = 1.0 / Math.tan(fovy / 2),\n nf;\n out[0] = f / aspect;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = f;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[11] = -1;\n out[12] = 0;\n out[13] = 0;\n out[15] = 0;\n\n if (far != null && far !== Infinity) {\n nf = 1 / (near - far);\n out[10] = far * nf;\n out[14] = far * near * nf;\n } else {\n out[10] = -1;\n out[14] = -near;\n }\n\n return out;\n}\n/**\n * Generates a perspective projection matrix with the given field of view.\n * This is primarily useful for generating projection matrices to be used\n * with the still experiemental WebVR API.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {Object} fov Object containing the following values: upDegrees, downDegrees, leftDegrees, rightDegrees\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum\n * @returns {mat4} out\n */\n\nexport function perspectiveFromFieldOfView(out, fov, near, far) {\n var upTan = Math.tan(fov.upDegrees * Math.PI / 180.0);\n var downTan = Math.tan(fov.downDegrees * Math.PI / 180.0);\n var leftTan = Math.tan(fov.leftDegrees * Math.PI / 180.0);\n var rightTan = Math.tan(fov.rightDegrees * Math.PI / 180.0);\n var xScale = 2.0 / (leftTan + rightTan);\n var yScale = 2.0 / (upTan + downTan);\n out[0] = xScale;\n out[1] = 0.0;\n out[2] = 0.0;\n out[3] = 0.0;\n out[4] = 0.0;\n out[5] = yScale;\n out[6] = 0.0;\n out[7] = 0.0;\n out[8] = -((leftTan - rightTan) * xScale * 0.5);\n out[9] = (upTan - downTan) * yScale * 0.5;\n out[10] = far / (near - far);\n out[11] = -1.0;\n out[12] = 0.0;\n out[13] = 0.0;\n out[14] = far * near / (near - far);\n out[15] = 0.0;\n return out;\n}\n/**\n * Generates a orthogonal projection matrix with the given bounds.\n * The near/far clip planes correspond to a normalized device coordinate Z range of [-1, 1],\n * which matches WebGL/OpenGL's clip volume.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} left Left bound of the frustum\n * @param {number} right Right bound of the frustum\n * @param {number} bottom Bottom bound of the frustum\n * @param {number} top Top bound of the frustum\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum\n * @returns {mat4} out\n */\n\nexport function orthoNO(out, left, right, bottom, top, near, far) {\n var lr = 1 / (left - right);\n var bt = 1 / (bottom - top);\n var nf = 1 / (near - far);\n out[0] = -2 * lr;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = -2 * bt;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = 2 * nf;\n out[11] = 0;\n out[12] = (left + right) * lr;\n out[13] = (top + bottom) * bt;\n out[14] = (far + near) * nf;\n out[15] = 1;\n return out;\n}\n/**\n * Alias for {@link mat4.orthoNO}\n * @function\n */\n\nexport var ortho = orthoNO;\n/**\n * Generates a orthogonal projection matrix with the given bounds.\n * The near/far clip planes correspond to a normalized device coordinate Z range of [0, 1],\n * which matches WebGPU/Vulkan/DirectX/Metal's clip volume.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} left Left bound of the frustum\n * @param {number} right Right bound of the frustum\n * @param {number} bottom Bottom bound of the frustum\n * @param {number} top Top bound of the frustum\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum\n * @returns {mat4} out\n */\n\nexport function orthoZO(out, left, right, bottom, top, near, far) {\n var lr = 1 / (left - right);\n var bt = 1 / (bottom - top);\n var nf = 1 / (near - far);\n out[0] = -2 * lr;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = -2 * bt;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = nf;\n out[11] = 0;\n out[12] = (left + right) * lr;\n out[13] = (top + bottom) * bt;\n out[14] = near * nf;\n out[15] = 1;\n return out;\n}\n/**\n * Generates a look-at matrix with the given eye position, focal point, and up axis.\n * If you want a matrix that actually makes an object look at another object, you should use targetTo instead.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {ReadonlyVec3} eye Position of the viewer\n * @param {ReadonlyVec3} center Point the viewer is looking at\n * @param {ReadonlyVec3} up vec3 pointing up\n * @returns {mat4} out\n */\n\nexport function lookAt(out, eye, center, up) {\n var x0, x1, x2, y0, y1, y2, z0, z1, z2, len;\n var eyex = eye[0];\n var eyey = eye[1];\n var eyez = eye[2];\n var upx = up[0];\n var upy = up[1];\n var upz = up[2];\n var centerx = center[0];\n var centery = center[1];\n var centerz = center[2];\n\n if (Math.abs(eyex - centerx) < glMatrix.EPSILON && Math.abs(eyey - centery) < glMatrix.EPSILON && Math.abs(eyez - centerz) < glMatrix.EPSILON) {\n return identity(out);\n }\n\n z0 = eyex - centerx;\n z1 = eyey - centery;\n z2 = eyez - centerz;\n len = 1 / Math.hypot(z0, z1, z2);\n z0 *= len;\n z1 *= len;\n z2 *= len;\n x0 = upy * z2 - upz * z1;\n x1 = upz * z0 - upx * z2;\n x2 = upx * z1 - upy * z0;\n len = Math.hypot(x0, x1, x2);\n\n if (!len) {\n x0 = 0;\n x1 = 0;\n x2 = 0;\n } else {\n len = 1 / len;\n x0 *= len;\n x1 *= len;\n x2 *= len;\n }\n\n y0 = z1 * x2 - z2 * x1;\n y1 = z2 * x0 - z0 * x2;\n y2 = z0 * x1 - z1 * x0;\n len = Math.hypot(y0, y1, y2);\n\n if (!len) {\n y0 = 0;\n y1 = 0;\n y2 = 0;\n } else {\n len = 1 / len;\n y0 *= len;\n y1 *= len;\n y2 *= len;\n }\n\n out[0] = x0;\n out[1] = y0;\n out[2] = z0;\n out[3] = 0;\n out[4] = x1;\n out[5] = y1;\n out[6] = z1;\n out[7] = 0;\n out[8] = x2;\n out[9] = y2;\n out[10] = z2;\n out[11] = 0;\n out[12] = -(x0 * eyex + x1 * eyey + x2 * eyez);\n out[13] = -(y0 * eyex + y1 * eyey + y2 * eyez);\n out[14] = -(z0 * eyex + z1 * eyey + z2 * eyez);\n out[15] = 1;\n return out;\n}\n/**\n * Generates a matrix that makes something look at something else.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {ReadonlyVec3} eye Position of the viewer\n * @param {ReadonlyVec3} center Point the viewer is looking at\n * @param {ReadonlyVec3} up vec3 pointing up\n * @returns {mat4} out\n */\n\nexport function targetTo(out, eye, target, up) {\n var eyex = eye[0],\n eyey = eye[1],\n eyez = eye[2],\n upx = up[0],\n upy = up[1],\n upz = up[2];\n var z0 = eyex - target[0],\n z1 = eyey - target[1],\n z2 = eyez - target[2];\n var len = z0 * z0 + z1 * z1 + z2 * z2;\n\n if (len > 0) {\n len = 1 / Math.sqrt(len);\n z0 *= len;\n z1 *= len;\n z2 *= len;\n }\n\n var x0 = upy * z2 - upz * z1,\n x1 = upz * z0 - upx * z2,\n x2 = upx * z1 - upy * z0;\n len = x0 * x0 + x1 * x1 + x2 * x2;\n\n if (len > 0) {\n len = 1 / Math.sqrt(len);\n x0 *= len;\n x1 *= len;\n x2 *= len;\n }\n\n out[0] = x0;\n out[1] = x1;\n out[2] = x2;\n out[3] = 0;\n out[4] = z1 * x2 - z2 * x1;\n out[5] = z2 * x0 - z0 * x2;\n out[6] = z0 * x1 - z1 * x0;\n out[7] = 0;\n out[8] = z0;\n out[9] = z1;\n out[10] = z2;\n out[11] = 0;\n out[12] = eyex;\n out[13] = eyey;\n out[14] = eyez;\n out[15] = 1;\n return out;\n}\n/**\n * Returns a string representation of a mat4\n *\n * @param {ReadonlyMat4} a matrix to represent as a string\n * @returns {String} string representation of the matrix\n */\n\nexport function str(a) {\n return \"mat4(\" + a[0] + \", \" + a[1] + \", \" + a[2] + \", \" + a[3] + \", \" + a[4] + \", \" + a[5] + \", \" + a[6] + \", \" + a[7] + \", \" + a[8] + \", \" + a[9] + \", \" + a[10] + \", \" + a[11] + \", \" + a[12] + \", \" + a[13] + \", \" + a[14] + \", \" + a[15] + \")\";\n}\n/**\n * Returns Frobenius norm of a mat4\n *\n * @param {ReadonlyMat4} a the matrix to calculate Frobenius norm of\n * @returns {Number} Frobenius norm\n */\n\nexport function frob(a) {\n return Math.hypot(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15]);\n}\n/**\n * Adds two mat4's\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the first operand\n * @param {ReadonlyMat4} b the second operand\n * @returns {mat4} out\n */\n\nexport function add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n out[3] = a[3] + b[3];\n out[4] = a[4] + b[4];\n out[5] = a[5] + b[5];\n out[6] = a[6] + b[6];\n out[7] = a[7] + b[7];\n out[8] = a[8] + b[8];\n out[9] = a[9] + b[9];\n out[10] = a[10] + b[10];\n out[11] = a[11] + b[11];\n out[12] = a[12] + b[12];\n out[13] = a[13] + b[13];\n out[14] = a[14] + b[14];\n out[15] = a[15] + b[15];\n return out;\n}\n/**\n * Subtracts matrix b from matrix a\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the first operand\n * @param {ReadonlyMat4} b the second operand\n * @returns {mat4} out\n */\n\nexport function subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n out[3] = a[3] - b[3];\n out[4] = a[4] - b[4];\n out[5] = a[5] - b[5];\n out[6] = a[6] - b[6];\n out[7] = a[7] - b[7];\n out[8] = a[8] - b[8];\n out[9] = a[9] - b[9];\n out[10] = a[10] - b[10];\n out[11] = a[11] - b[11];\n out[12] = a[12] - b[12];\n out[13] = a[13] - b[13];\n out[14] = a[14] - b[14];\n out[15] = a[15] - b[15];\n return out;\n}\n/**\n * Multiply each element of the matrix by a scalar.\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to scale\n * @param {Number} b amount to scale the matrix's elements by\n * @returns {mat4} out\n */\n\nexport function multiplyScalar(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n out[3] = a[3] * b;\n out[4] = a[4] * b;\n out[5] = a[5] * b;\n out[6] = a[6] * b;\n out[7] = a[7] * b;\n out[8] = a[8] * b;\n out[9] = a[9] * b;\n out[10] = a[10] * b;\n out[11] = a[11] * b;\n out[12] = a[12] * b;\n out[13] = a[13] * b;\n out[14] = a[14] * b;\n out[15] = a[15] * b;\n return out;\n}\n/**\n * Adds two mat4's after multiplying each element of the second operand by a scalar value.\n *\n * @param {mat4} out the receiving vector\n * @param {ReadonlyMat4} a the first operand\n * @param {ReadonlyMat4} b the second operand\n * @param {Number} scale the amount to scale b's elements by before adding\n * @returns {mat4} out\n */\n\nexport function multiplyScalarAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n out[2] = a[2] + b[2] * scale;\n out[3] = a[3] + b[3] * scale;\n out[4] = a[4] + b[4] * scale;\n out[5] = a[5] + b[5] * scale;\n out[6] = a[6] + b[6] * scale;\n out[7] = a[7] + b[7] * scale;\n out[8] = a[8] + b[8] * scale;\n out[9] = a[9] + b[9] * scale;\n out[10] = a[10] + b[10] * scale;\n out[11] = a[11] + b[11] * scale;\n out[12] = a[12] + b[12] * scale;\n out[13] = a[13] + b[13] * scale;\n out[14] = a[14] + b[14] * scale;\n out[15] = a[15] + b[15] * scale;\n return out;\n}\n/**\n * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyMat4} a The first matrix.\n * @param {ReadonlyMat4} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\nexport function exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5] && a[6] === b[6] && a[7] === b[7] && a[8] === b[8] && a[9] === b[9] && a[10] === b[10] && a[11] === b[11] && a[12] === b[12] && a[13] === b[13] && a[14] === b[14] && a[15] === b[15];\n}\n/**\n * Returns whether or not the matrices have approximately the same elements in the same position.\n *\n * @param {ReadonlyMat4} a The first matrix.\n * @param {ReadonlyMat4} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\nexport function equals(a, b) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3];\n var a4 = a[4],\n a5 = a[5],\n a6 = a[6],\n a7 = a[7];\n var a8 = a[8],\n a9 = a[9],\n a10 = a[10],\n a11 = a[11];\n var a12 = a[12],\n a13 = a[13],\n a14 = a[14],\n a15 = a[15];\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3];\n var b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7];\n var b8 = b[8],\n b9 = b[9],\n b10 = b[10],\n b11 = b[11];\n var b12 = b[12],\n b13 = b[13],\n b14 = b[14],\n b15 = b[15];\n return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a5), Math.abs(b5)) && Math.abs(a6 - b6) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a6), Math.abs(b6)) && Math.abs(a7 - b7) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a7), Math.abs(b7)) && Math.abs(a8 - b8) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a8), Math.abs(b8)) && Math.abs(a9 - b9) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a9), Math.abs(b9)) && Math.abs(a10 - b10) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a10), Math.abs(b10)) && Math.abs(a11 - b11) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a11), Math.abs(b11)) && Math.abs(a12 - b12) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a12), Math.abs(b12)) && Math.abs(a13 - b13) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a13), Math.abs(b13)) && Math.abs(a14 - b14) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a14), Math.abs(b14)) && Math.abs(a15 - b15) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a15), Math.abs(b15));\n}\n/**\n * Alias for {@link mat4.multiply}\n * @function\n */\n\nexport var mul = multiply;\n/**\n * Alias for {@link mat4.subtract}\n * @function\n */\n\nexport var sub = subtract;",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["TYPES","AssetManager","Symbol","for","CanvasElement","CollisionRepository","CollisionBroadphaseResolver","CollisionResolutionMethod","CollisionAABBResolver","CollisionCircumferenceAABBResolver","CollisionCircumferenceResolver","CollisionSatResolver","CollisionMatrix","EntityManager","GameConfig","InputManager","LoopManager","RenderManager","SceneManager","SystemFactory","SystemManager","TimeManager","WebGLManager","Container","constructor","this","instances","Map","types","add","type","name","prototype","__ioc_injectable","Error","set","dependency","get","has","toString","instance","_a","__ioc_inject_constructor","map","inject","_b","__ioc_inject_prop","forEach","prop","injectable","target","propertyKey","parameterIndex","undefined","push","BroadPhaseMethods","__decorate","decorators","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","SuppressedError","Vector2","x","y","_x","_y","magnitude","Math","sqrt","pow","direction","_direction","unit","copy","vector","equals","clone","distance","out","a","b","subtract","normal","scale","scalar","dot","cross","round","Rectangle","width","height","_position","_center","value","x1","y1","position","center","rectangle","rect","overlaps","contains","object","clamp","min","max","randomInt","random","randomFloat","decimals","fixedRound","range","start","end","steps","between","QuadTree","QuadTree_1","area","depth","children","shapes","minArea","maxArea","clear","update","resizeArea","id","boundingBox","insert","box","retrieve","items","getChildrenForBox","child","filter","includes","item","split","insertItemIntoChildren","childWidth","childHeight","quadrant","cell","subdivisions","SpartialGrid","colliders","coordinates","x0","y0","updateSubdivisions","cellWidth","ceil","cellHeight","updateCoordinates","Polygon","vertexModel","_vertexModel","vertices","projectionAxes","rotation","collider","entity","ignoreCollisionsWithLayers","layer","radius","updateCollisions","Circumference","AABBMethod","AABBResolver","circumferenceAABBResolver","circumferenceResolver","findCollision","shapeA","shapeB","resolve","CollisionMethods","SatMethod","satResolver","resolutionDirection","boxA","boxB","overlapX","overlapY","checkOverlapForLines","sign","preventContainment","minOverlap","penetration","abs","minSep","maxSep","CircumferenceAABBResolver","closestPoint","invert","CircumferenceResolver","SatResolver","projA","projB","smallestAxis","Infinity","cache","setCircumferenceAxis","axes","pa","some","setCircumferenceVertices","projectShapeOntoAxis","currentOverlap","invertAxis","mins","maxs","projection","shape","axis","vertex","s","collisions","findCollisionsForCollider","localCollider","findCollisionsForColliderAndLayer","remoteCollider","findAll","persist","collision","removeAll","lastEntityId","lastComponentTypeId","components","disabledEntities","Set","disabledComponents","createEntity","component","addComponent","removeEntity","row","delete","removeAllEntities","isEntityEnabled","enableEntity","disableEntity","disableEntitiesByComponent","componentType","getComponentTypeId","keys","enableEntitiesByComponent","hasComponent","getComponent","getComponents","entityComponent","e","getEntityForComponent","removeComponent","arg1","arg2","isComponentEnabled","disableComponent","enableComponent","search","criteria","includeDisabled","result","every","searchEntitiesByComponents","componentTypes","entities","first","toCompare","splice","__ecs_type_id","systems","findSystemIndex","systemType","findIndex","system","addSystem","group","hasSystem","getSystem","index","enableSystem","onCreate","onEnabled","disableSystem","onDisabled","setExecutionOrder","removeSystem","onDestroy","onUpdate","GamepadController","buttons","_dpadAxes","_leftStickAxes","_rightStickAxes","dpadAxes","dpadRight","dpadLeft","dpadUp","dpadDown","leftStickAxes","leftStickHorizontal","leftStickVertical","rightStickAxes","rightStickHorizontal","rightStickVertical","bottomFace","rightFace","leftFace","topFace","leftShoulder","rightShoulder","leftTrigger","rightTrigger","back","leftStickButton","rightStickButton","anyButtonPressed","Array","from","values","find","vibrate","duration","weakMagnitude","strongMagnitude","startDelay","vibrationInput","Keyboard","pressedKeys","isPressed","keyCode","orPressed","keyCodes","reduce","andPressed","isPressedReturn","returnTrue","returnFalse","orPressedReturn","andPressedReturn","Mouse","leftButtonPressed","scrollButtonPressed","rightButtonPressed","positionInViewport","hasMoved","wheelScroll","TouchScreen","touching","interactions","keyboard","mouse","touchScreen","gamepads","allowedPhysicsFramerates","deltaTime","unscaledDeltaTime","timeScale","physicsDeltaTime","unscaledPhysicsDeltaTime","renderDeltaTime","browserDeltaTime","physicsFramerate","maxDeltaTime","thenForGame","thenForPhysics","thenForRender","join","fixedGameFramerate","fixedGameDeltaTime","parseFloat","toFixed","fixedPhysicsFramerate","fixedPhysicsDeltaTime","updateForRender","time","updateForGame","updateForPhysics","AssetType","assets","getAssetsLoaded","prev","asset","loaded","loadImage","url","image","Image","crossOrigin","src","createAsset","complete","addEventListener","loadAudio","audio","Audio","loadFont","family","font","FontFace","Font","document","fonts","load","then","loadVideo","video","createElement","playsInline","Video","getImage","element","getAudio","getFont","getVideo","AudioPlayer","options","action","loop","playing","volume","_currentAudio","assign","SYSTEMS","AudioPlayerSystem","ButtonSystem","ChildrenSystem","ParentSystem","TiledWrapperSystem","TilemapPreProcessingSystem","TransformSystem","GamepadSystem","KeyboardSystem","MouseSystem","TouchScreenSystem","UpdateBallColliderShapeSystem","UpdateBoxColliderShapeSystem","UpdateEdgeColliderShapeSystem","UpdatePolygonColliderShapeSystem","UpdateTilemapColliderShapeSystem","UpdateCollidersAfterRepositionSystem","ApplyRepositionSystem","ApplyVelocitySystem","ResolveCollisionSystem","AnimatorSystem","CameraSystem","ClearScreenSystem","ColliderRenderSystem","CullingSystem","MaskRendererSystem","RenderSystem","ShadowLightRendererSystem","SpriteRendererSystem","TextRendererSystem","TilemapRendererSystem","VideoRendererSystem","userInputEventNames","entityManager","inputManager","timeManager","canPlay","userInputEventHandler","eventName","window","removeEventListener","audioSource","hidden","pause","play","checkGamepad","gp","audioPlayer","currentTime","paused","playbackRate","catch","onDisable","SystemGroup","gameLogicSystem","addSystemGroup","GameLogic","gamePhysicsSystem","GamePhysics","gamePreRenderSystem","GamePreRender","__system_group","Transform","parent","_parent","localPosition","localScale","localRotation","_childEntities","defaultRenderLayer","Camera","layers","zoom","_renderData","WebGLContextVersion","ContextManager","canvas","contextVersion","getContextVersion","gl","getContext","WebGL2","LegacyWebGL","FontAtlasFactory","fontAtlas","hasFontAtlas","fontFace","symbol","getFontAtlas","getOrCreate","charRanges","bitmapSize","create","chars","j","String","fromCharCode","renderAtlas","fontFaceFamily","FontAtlas","ctx","clearRect","textBaseline","fillStyle","fillText","glyphs","measureText","bitmapFontSize","gridSize","ProgramFactory","shaderLoader","vertexShaderSource","fragmentShaderSource","program","createProgram","vertexShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","attachShader","linkProgram","status","LINK_STATUS","getProgramParameter","error","getProgramInfoLog","deleteProgram","ProgramManager","programFactory","loadProgram","positionBuffer","createBuffer","textureBuffer","positionCoordsAttr","getAttribLocation","texCoordsAttr","modelMatrixUniform","getUniformLocation","projectionMatrixUniform","textureMatrixUniform","renderTextureUniform","textureUniform","solidColorUniform","useTintColorUniform","tintColorUniform","useMaskColorUniform","maskColorUniform","maskColorMixUniform","alphaUniform","renderLightUniform","numLightsUniform","useProgram","blendFunc","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","enableVertexAttribArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ShaderLoader","source","shader","createShader","shaderSource","compileShader","COMPILE_STATUS","getShaderParameter","getShaderInfoLog","deleteShader","ARRAY_TYPE","Float32Array","glMatrix.ARRAY_TYPE","identity","translate","v","a00","a01","a02","a03","a10","a11","a12","a13","a20","a21","a22","a23","z","rotateZ","rad","sin","cos","hypot","ortho","left","right","bottom","top","near","far","lr","bt","nf","setProjectionMatrix","projectionMatrix","cameraZoom","cameraPosition","mat4.identity","mat4.ortho","mat4.scale","mat4.translate","hexToRgba","hex","exec","parseInt","g","CanvasColorRenderer","render","hexColor","rgb","clearColor","COLOR_BUFFER_BIT","GeometricShape","RenderDataType","MaskShape","GeometricRenderer","programManager","mat4.create","modelMatrix","textureMatrix","PI","circumferenceVertices","renderData","cameraData","renderLines","LINE_LOOP","Line","LINES","renderCircumference","mode","bufferData","DYNAMIC_DRAW","mat4.rotateZ","uniformMatrix4fv","uniform1i","color","uniform4f","uniform1f","drawArrays","Mask","rectangleVertices","lastRender","lastShape","STATIC_DRAW","opacity","enable","BLEND","disable","TRIANGLES","TRIANGLE_FAN","lights","light","entries","uniform2f","smooth","intensity","textureManager","lastTexture","posVertices","texVertices","flipHorizontally","flipVertically","slice","naturalWidth","naturalHeight","texture","getOrCreateTextureFromImage","bindTexture","TEXTURE_2D","tintColor","maskColor","_c","maskColorMix","_d","TextOrientation","fontAtlasFactory","Text","textSize","modelPosition","text","bitmap","fontSize","generateTextVertices","setPositionFromOrientation","getOrCreateTextureFromCanvas","letterSpacing","lineSeparation","maxWidth","letter","glyph","letterWidth","gx","gy","u1","margin","v1","u2","spacing","v2","orientation","Center","RightCenter","RightUp","TilemapOrientation","tileset","tileWidth","tileHeight","texMargin","texSpacing","texWidth","texHeight","texCorrection","tiles","acc","tile","processTileset","generateVertices","tilemap","flipHorizontal","flipVertical","Tilemap","correction","_e","_f","_g","floor","tilesetTile","tilemapTile","px","py","tx","ty","videoWidth","videoHeight","getOrCreateTextureFromVideo","texImage2D","RGBA","UNSIGNED_BYTE","TextureFactory","createFromImage","createTexture","createFromSource","createFromCanvas","createPixelTexture","Uint8Array","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","LINEAR","TEXTURE_MAG_FILTER","NEAREST","TextureManager","textureFactory","textures","createTextureFromImage","createTextureFromCanvas","createTextureFromVideo","renderers","contextManager","fontFactoryAtlas","Sprite","SpriteRenderer","TextRenderer","TilemapRenderer","Geometric","MaskRenderer","VideoRenderer","Shadow","ShadowRenderer","canvasColorRenderer","renderCanvasColor","offset","renderManager","scaledOffset","videoRenderer","transform","checkVideoState","translateRenderPosition","addRenderData","translatedAngle","atan2","ended","Scene","assetManager","loadAssets","setup","systemManager","systemFactory","scenes","loadingScene","addScene","sceneType","openingScene","scene","openingSceneName","loadScene","sceneNameToBeLoaded","loadOpeningScene","currentSceneName","destroyCurrentScene","PostGameLogic","createSystemIfNotExists","Button","touchEnabled","pressed","ButtonShape","scaled","pressedLastFrame","button","resolveMouseAndRectangle","resolveMouseAndCircumference","resolveTouchAndRectangle","resolveTouchAndCircumference","onClick","onPressed","Children","Parent","_parentEntity","TiledWrapper","data","chunks","_processed","tiledWrapper","tilemapRenderer","l","layerToRender","infinite","chunkSize","chunksToData","dataToChunks","cx","cy","chunk","tix","tiy","t","getBranchLength","sort","translateChild","updateTransform","eventHandler","gamepadConnected","gamepad","gamepadDisconected","connected","getGamepadsFromBrowser","gpc","vibrationActuator","playEffect","vibrating","finally","navigator","getGamepads","webkitGetGamepads","event","code","indexOf","lastPositionInViewport","updatePosition","updateButtonDown","updateButtonUp","handleWheelEvent","onFocusOut","focus","preventDefault","stopPropagation","offsetX","clientWidth","offsetY","clientHeight","wheelEvent","deltaX","deltaY","targetTouches","clientX","offsetLeft","clientY","offsetTop","radiusX","radiusY","Animator","animations","speed","reset","currentFrame","_currentAnimation","Animation","size","padding","frames","fps","animator","animation","spriteRenderer","renderSprite","isArray","frame","camera","addCameraData","webGLManager","gameConfig","canvasColor","BallCollider","physics","BoxCollider","EdgeCollider","PolygonCollider","TilemapCollider","composite","collisionMethod","debugEnabled","SAT","AABB","viewport","culledRenderData","getCameraData","setViewport","getRenderData","isInViewPort","applyCullingInTiles","setRenderData","setObjectForResizeable","setObjectForGeometric","setObjectForText","setObjectForTilemap","rotatedWidth","rotatedHeight","line","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","maskRenderer","removeCameraData","removeRenderData","LightRenderer","_boundingBox","lightRenderers","updateLightRendererBoundingBox","shadowRenderer","updatShadowRendererBoundingBox","lightRenderer","scaledRadius","scaledWidth","scaledHeight","bitmapMargin","bitmapSpacing","textRenderer","crop","croppedText","croppedHeight","newLines","lines","word","currentLine","newLine","renderDataFactory","realWidth","realHeight","RigidBodyType","RigidBody","Dynamic","velocity","gravity","acceleration","transformSystem","rigidBody","BaseUpdateColliderShapeSystem","auxMin","auxMax","auxScaledOffset","updatePositionAndVertices","translatePosition","auxAngle","updateBoundingBox","updateCircumferenceBoundingBox","updatePolygonBoundingBox","updateProjectionAxes","super","ballCollider","boxCollider","edgeCollider","polygonCollider","tilemapCollider","useEdges","useBoxes","needsCollider","generateRectangleVertices","getNeighbors","neighbor","hVertices","vVertices","neighbors","hasTile","createEdge","broadPhaseResolver","collisionMatrix","collisionResolutionMethod","collisionRepository","narrowPhase","broadPhase","remote","local","isResolved","resolution","localEntity","remoteEntity","displacement","systemTypes","PreGameLogic","Physics","Render","sceneManager","running","gameLoopAccumulator","enableSystems","requestAnimationLoop","performance","now","asyncPhysicsLoop","stop","gameLogicIteration","renderIteration","requestAnimationFrame","physicsIntervalId","setInterval","clearInterval","physicsIteration","container","lastSystemTypeId","setDefaultValues","containerNode","HTMLElement","headless","collisionBroadPhaseMethod","_h","createCanvas","tabIndex","appendChild","setupManagers","setupEngineSystems","headlessFilter","setupPhysicsDependencies","Game","bootstrap","addDependencyType","dependencyType","addDependencyInstance","dependencyInstance","GameSystem","Symbols"],"mappings":"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","x_google_ignoreList":[3,42,43]}